修复攻击bug
This commit is contained in:
parent
6d4ac4c002
commit
2017dc70d5
@ -824,7 +824,7 @@ MonoBehaviour:
|
||||
HasShowList: 0
|
||||
SkillShowList: []
|
||||
- SkillType: 71
|
||||
SkillName: "\u8D24\u8005\u4E4B\u77F3"
|
||||
SkillName: "\u82B1\u9634\u7684\u9B54\u5973"
|
||||
SkillDesc: "\u6BCF\u79CD\u9B54\u529B\u77F3\u53EF\u5B58\u50A82\u9897\uFF0C\u751F\u6548\u65F6\u6548\u679C\u53E0\u52A0\u3002"
|
||||
HasShowList: 0
|
||||
SkillShowList: []
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -80,6 +80,7 @@ namespace TH1_Anim
|
||||
{
|
||||
foreach (var fragment in _fragments)
|
||||
{
|
||||
Debug.Log(fragment.State);
|
||||
switch( fragment.State)
|
||||
{
|
||||
case FragmentState.Wrong:
|
||||
@ -92,7 +93,7 @@ namespace TH1_Anim
|
||||
break;
|
||||
case FragmentState.Playing:
|
||||
fragment.OnUpdate(Time.time - fragment.StartTime);
|
||||
if (fragment.CheckDone(Time.time - fragment.StartTime))
|
||||
if (fragment.CheckDone(Time.time - fragment.StartTime) || fragment.TimeOut(Time.time - fragment.StartTime))
|
||||
{
|
||||
fragment.OnFinished();
|
||||
fragment.State = FragmentState.Finished;
|
||||
@ -115,6 +116,7 @@ namespace TH1_Anim
|
||||
{
|
||||
case FragmentState.Wrong:
|
||||
fragment.OnFinished();
|
||||
Debug.Log($"Fragement State Wrong {fragment.GetType()}");
|
||||
fragment.State = FragmentState.Finished;
|
||||
break;
|
||||
case FragmentState.Prepare:
|
||||
@ -123,14 +125,15 @@ namespace TH1_Anim
|
||||
break;
|
||||
case FragmentState.Playing:
|
||||
fragment.OnUpdate(Time.time - fragment.StartTime);
|
||||
if (fragment.CheckDone(Time.time - fragment.StartTime))
|
||||
if (fragment.CheckDone(Time.time - fragment.StartTime) || fragment.TimeOut(Time.time - fragment.StartTime))
|
||||
{
|
||||
fragment.OnFinished();
|
||||
fragment.State = FragmentState.Finished;
|
||||
fragment.OnFinishedCallback?.Invoke();
|
||||
//fragment.OnFinishedCallback?.Invoke();
|
||||
}
|
||||
break;
|
||||
case FragmentState.Finished:
|
||||
Debug.Log("!!!");
|
||||
fragment.OnFinishedCallback?.Invoke();
|
||||
break;
|
||||
|
||||
|
||||
@ -12,6 +12,7 @@ using TH1_DataAssetsScript;
|
||||
using TH1_Logic.Core;
|
||||
using TH1_Renderer.UnitAtomAnim;
|
||||
using TH1Renderer;
|
||||
using UnityEngine;
|
||||
|
||||
namespace TH1_Anim.Fragments
|
||||
{
|
||||
@ -43,8 +44,15 @@ namespace TH1_Anim.Fragments
|
||||
|
||||
}
|
||||
|
||||
public override bool CheckDone(float progressTime)
|
||||
public override bool CheckDone(float progressTime)
|
||||
{
|
||||
//超时保险
|
||||
if (progressTime > Duration * 2)
|
||||
{
|
||||
Debug.Log($"Fragement Timeout {this.GetType()}");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!_step1_attack || !_step2_attackmoveback)
|
||||
return false;
|
||||
if (progressTime <= Duration)
|
||||
@ -55,6 +63,7 @@ namespace TH1_Anim.Fragments
|
||||
|
||||
public override void OnUpdate(float progressTime)
|
||||
{
|
||||
|
||||
//Step #1执行第一步 -> 攻击
|
||||
if (progressTime >= _step1_start && !_step1_attack)
|
||||
{
|
||||
|
||||
@ -64,6 +64,12 @@ namespace TH1_Anim.Fragments
|
||||
|
||||
public override bool CheckDone(float progressTime)
|
||||
{
|
||||
//超时保险
|
||||
if (progressTime > Duration * 2)
|
||||
{
|
||||
Debug.Log($"Fragement Timeout {this.GetType()}");
|
||||
return true;
|
||||
}
|
||||
if (!_step1_attack || !_step2_attackmoveback || !_step3_wait || !_step4_counter || !_step5_countermoveback || !_step6_updateunit)
|
||||
return false;
|
||||
if (progressTime <= Duration)
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
|
||||
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace TH1_Anim.Fragments
|
||||
{
|
||||
@ -47,5 +48,14 @@ namespace TH1_Anim.Fragments
|
||||
public abstract void OnUpdate(float progressTime);
|
||||
|
||||
public abstract bool CheckDone(float progressTime);
|
||||
|
||||
public virtual bool TimeOut(float progressTime)
|
||||
{
|
||||
if (progressTime > Duration * 2)
|
||||
{
|
||||
Debug.Log($"Fragment TimeOut for type {this.GetType()}");
|
||||
}
|
||||
return progressTime > Duration * 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -45,6 +45,12 @@ namespace TH1_Anim.Fragments
|
||||
|
||||
public override bool CheckDone(float progressTime)
|
||||
{
|
||||
//超时保险
|
||||
if (progressTime > Duration * 2)
|
||||
{
|
||||
Debug.Log($"Fragement Timeout {this.GetType()}");
|
||||
return true;
|
||||
}
|
||||
if (!_step1_bounce) return false;
|
||||
if (progressTime <= Duration)
|
||||
return false;
|
||||
|
||||
@ -47,6 +47,12 @@ namespace TH1_Anim.Fragments
|
||||
|
||||
public override bool CheckDone(float progressTime)
|
||||
{
|
||||
//超时保险
|
||||
if (progressTime > Duration * 2)
|
||||
{
|
||||
Debug.Log($"Fragement Timeout {this.GetType()}");
|
||||
return true;
|
||||
}
|
||||
if (!_step1_start || !_step2_bounce) return false;
|
||||
if (progressTime <= Duration)
|
||||
return false;
|
||||
|
||||
@ -45,6 +45,12 @@ namespace TH1_Anim.Fragments
|
||||
|
||||
public override bool CheckDone(float progressTime)
|
||||
{
|
||||
//超时保险
|
||||
if (progressTime > Duration * 2)
|
||||
{
|
||||
Debug.Log($"Fragement Timeout {this.GetType()}");
|
||||
return true;
|
||||
}
|
||||
if (!_step1_bounce) return false;
|
||||
if (progressTime <= Duration)
|
||||
return false;
|
||||
|
||||
@ -49,6 +49,13 @@ namespace TH1_Anim.Fragments
|
||||
|
||||
public override bool CheckDone(float progressTime)
|
||||
{
|
||||
//超时保险
|
||||
if (progressTime > Duration * 2)
|
||||
{
|
||||
Debug.Log($"Fragement Timeout {this.GetType()}");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!_step1_levelup || !_step2_treasure) return false;
|
||||
if (progressTime <= Duration)
|
||||
return false;
|
||||
|
||||
@ -35,6 +35,13 @@ namespace TH1_Anim.Fragments
|
||||
|
||||
public override bool CheckDone(float progressTime)
|
||||
{
|
||||
//超时保险
|
||||
if (progressTime > Duration * 2)
|
||||
{
|
||||
Debug.Log($"Fragement Timeout {this.GetType()}");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!_step1_die)
|
||||
return false;
|
||||
if (progressTime <= Duration)
|
||||
|
||||
@ -64,6 +64,12 @@ namespace TH1_Anim.Fragments
|
||||
|
||||
public override bool CheckDone(float progressTime)
|
||||
{
|
||||
//超时保险
|
||||
if (progressTime > Duration * 2)
|
||||
{
|
||||
Debug.Log($"Fragement Timeout {this.GetType()}");
|
||||
return true;
|
||||
}
|
||||
if (!_step1_start || !_step2_end) return false;
|
||||
if (progressTime <= Duration)
|
||||
return false;
|
||||
|
||||
@ -107,6 +107,7 @@ namespace TH1_Anim.Fragments
|
||||
//Step #3执行第3步 -> 更新unit(比如说视野外)
|
||||
if (progressTime >= _step3_start && !_step3_updateunit)
|
||||
{
|
||||
_step3_updateunit = true;
|
||||
Data.OriginUnitRenderer.InstantUpdateUnit(true);
|
||||
Data.TargetUnitRenderer.InstantUpdateUnit(true);
|
||||
}
|
||||
|
||||
@ -55,12 +55,12 @@ namespace TH1_Core.Managers
|
||||
_currentTask = null;
|
||||
return;
|
||||
}
|
||||
Debug.Log("Set Busy True");
|
||||
//Debug.Log("Set Busy True");
|
||||
_isBusy = true;
|
||||
_currentTask = _taskQueue.Dequeue();
|
||||
BusyType = _currentTask.GetDescString();
|
||||
_currentTask.Execute(OnTaskCompleted);
|
||||
Debug.Log("Set Busy False");
|
||||
//Debug.Log($"Set Busy False {_isBusy}");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -328,7 +328,8 @@ namespace TH1_Logic.Core
|
||||
|
||||
//TODO 应该完整区分当前是游戏还是非游戏,从而让不同的VP来update
|
||||
|
||||
FragmentManager.Instance.Update();
|
||||
//目前fragmentmanager没用,全是走presentation的
|
||||
//FragmentManager.Instance.Update();
|
||||
MainEditor.Instance.Update();
|
||||
GameLogic.Update();
|
||||
|
||||
|
||||
@ -284,6 +284,8 @@ namespace TH1Renderer
|
||||
{
|
||||
//生成单位图像
|
||||
ROUnitMap[unitData.Id] = new UnitRenderer(_unitPrefab,_unitRenderMap,unitData.Id);
|
||||
//立刻更新每个unit的视觉
|
||||
ROUnitMap[unitData.Id].InstantUpdateUnit(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user