Files
MinFt/Client/Assets/Scripts/GampPlay/FishingB/FishingBehavior_DirtyStuck.cs
2026-04-27 12:07:32 +08:00

169 lines
5.9 KiB
C#

using cfg;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Playables;
// [REMOVED] EventTargetDirty component no longer exists
// The entire dirty/stuck mechanic has been disabled because the EventTargetDirty
// MonoBehaviour component was part of a removed module.
public partial class FishingBehaviorB : MonoBehaviour
{
// [REMOVED] EventTargetDirty type no longer exists
// Dictionary<int, EventTargetDirty> dirtyDic = new Dictionary<int, EventTargetDirty>();
// EventTargetDirty curDirty;
public bool isStuck { get; private set; } = false;
bool gravityOnLineAdd = false;
int dirtyName = 0;
public async void ShowDirty(DirtyStuck dirtyStuck)
{
// [REMOVED] EventTargetDirty type no longer exists - dirty mechanic disabled
/*
dirtyName++;
int TimelineCount = dirtyStuck.TimelineCount;
int timelineIndex = Random.Range(0, TimelineCount);
int dirtyIndex = Random.Range(0, dirtyStuck.DirtyPrefab.Count);
var go = await Addressables.InstantiateAsync(dirtyStuck.DirtyPrefab[dirtyIndex], transform).Task;
if (fishingData.dirtyStuckSpSkillData == null || fishingData.dirtyStuckSpSkillData.End)
{
Addressables.ReleaseInstance(go);
return;
}
if (go != null)
{
var dirty = go.GetComponent<EventTargetDirty>();
if (dirty != null)
{
dirty.dirtyName = dirtyName;
dirty.timelineIndex = timelineIndex;
dirtyDic[dirtyName] = dirty;
dirty.isShowDirty = true;
Vector3 vector = _fish.transform.position;
vector.y = _waterHeight;
dirty.transform.position = vector;
dirty.gameObject.SetActive(true);
dirty.PlayTimeline(dirtyStuck.DirtyTimelineUp[timelineIndex], DirectorWrapMode.Hold, () =>
{
dirty.PlayTimeline(dirtyStuck.DirtyTimelineIdle[timelineIndex], DirectorWrapMode.Loop);
StartCoroutine(CheckDirtyStuck(dirtyStuck, dirty));
});
}
}
*/
}
/*
IEnumerator CheckDirtyStuck(DirtyStuck dirtyStuck, EventTargetDirty dirty)
{
while (dirty != null && dirty.isShowDirty)
{
Vector3 dirtyPosition = dirty.transform.position;
Vector3 rodPosition = _fish.transform.position;
dirtyPosition.y = 0;
rodPosition.y = 0;
if (Vector3.Angle(dirtyPosition, rodPosition) < 1f)
{
curDirty = dirty;
dirty.PlayTimeline(dirtyStuck.DirtyTimelineStuck[dirty.timelineIndex], DirectorWrapMode.Hold, () =>
{
dirty.PlayTimeline(dirtyStuck.DirtyTimelineIdle[dirty.timelineIndex], DirectorWrapMode.Loop);
});
FishingPanel_Advanced.Instance?.ShowDirtyStuckSkill(dirtyStuck);
SetIKTarget(dirty.transform);
isStuck = true;
Debug.Log("显示技能提示 Stuck");
yield break;
}
yield return null;
}
}
*/
public void OnClickSkill(int freezeSkill)
{
// [REMOVED] EventTargetDirty type no longer exists - dirty mechanic disabled
/*
var data = fishingData.dirtyStuckSpSkillData;
if (data != null && curDirty != null)
{
DirtyStuck dirtyStuck = data.spSkill;
curDirty.PlayTimeline(dirtyStuck.DirtyTimelineClick[curDirty.timelineIndex], DirectorWrapMode.Hold, () =>
{
curDirty.PlayTimeline(dirtyStuck.DirtyTimelineIdle[curDirty.timelineIndex], DirectorWrapMode.Loop);
});
if (freezeSkill == 0)
{
HideSpSkillFx("DirtyStuck");
LoadEffectNoMove(dirtyStuck.StruggleWaterFx, false);
HideDirty(curDirty);
}
}
*/
}
void DelDirty()
{
// [REMOVED] EventTargetDirty type no longer exists - dirty mechanic disabled
isStuck = false;
dirtyName = 0;
SetIKTarget(FishAnimationRoot);
/*
if (dirtyDic.Count > 0)
{
var data = fishingData.dirtyStuckSpSkillData;
DirtyStuck dirtyStuck = data.spSkill;
foreach (var item in dirtyDic)
{
var dirty = item.Value;
if (dirty != null)
{
dirty.isShowDirty = false;
if (dirty.gameObject.activeSelf)
{
dirty.PlayTimeline(dirtyStuck.DirtyTimelineDown[dirty.timelineIndex], DirectorWrapMode.Hold, () =>
{
Addressables.ReleaseInstance(dirty.gameObject);
});
}
else
{
Addressables.ReleaseInstance(dirty.gameObject);
}
}
}
dirtyDic.Clear();
}
SetIKTarget(FishAnimationRoot);
isStuck = false;
dirtyName = 0;
*/
}
/*
void HideDirty(EventTargetDirty dirty)
{
var data = fishingData.dirtyStuckSpSkillData;
dirty.isShowDirty = false;
isStuck = false;
SetIKTarget(FishAnimationRoot);
if (data != null && dirty != null)
{
DirtyStuck dirtyStuck = data.spSkill;
if (dirty.timelineIndex < 0)
{
dirty.timelineIndex = 0;
}
dirty.PlayTimeline(dirtyStuck.DirtyTimelineDown[dirty.timelineIndex], DirectorWrapMode.Hold, () =>
{
Addressables.ReleaseInstance(dirty.gameObject);
dirtyDic.Remove(dirty.dirtyName);
});
curDirty = null;
}
}
*/
}