You've already forked taptap2024_GJ_chidouren
updat core
This commit is contained in:
@@ -163,7 +163,7 @@ namespace Game.Component
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasRunaway { get; private set; } = false;
|
||||
public bool HasRunaway => MapContent.Instance?.IsRunaway ?? false;
|
||||
|
||||
public float CurMoveSpeed => this._curMoveSpeedOffset * (this.MaxMoveSpeed *
|
||||
(1 +
|
||||
@@ -235,6 +235,7 @@ namespace Game.Component
|
||||
|
||||
AttackCheck ();
|
||||
CheckUpdateFsmData ();
|
||||
this._fsmController.DoUpdate ();
|
||||
}
|
||||
|
||||
private void AttackCheck ()
|
||||
|
||||
19
Assets/Scripts/Game/Component/EnemyFSM_AI/Runaway.cs
Normal file
19
Assets/Scripts/Game/Component/EnemyFSM_AI/Runaway.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
namespace Game.Component.EnemyFSM_AI
|
||||
{
|
||||
public class Runaway : EnemyFSMState
|
||||
{
|
||||
public override void OnEnter ()
|
||||
{
|
||||
|
||||
this.Entity.AnimState.SetState (EnemyAnimStateType.Idle);
|
||||
this.Entity.EndAttack ();
|
||||
//角色进入idea状态时 重置状态
|
||||
this.SetAiTarget (this.Entity.CreatePos);
|
||||
}
|
||||
|
||||
public override void OnUpdate ()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c272ad5978c64a97b2d8208f16e9cac6
|
||||
timeCreated: 1729522496
|
||||
@@ -1,5 +1,7 @@
|
||||
using System;
|
||||
using Framework.Timer;
|
||||
using Game.EventDefine;
|
||||
using UniFramework.Event;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Game.Component
|
||||
@@ -12,12 +14,16 @@ namespace Game.Component
|
||||
|
||||
|
||||
public bool IsActiveGame;
|
||||
|
||||
|
||||
//玩家位置
|
||||
public Vector2 PlayerPosition { private set; get; }
|
||||
public bool IsRunaway { get ; private set ; }
|
||||
|
||||
private TimeHandler _RunawayTimeHandler;
|
||||
|
||||
//全局特殊单例
|
||||
public static MapContent Instance;
|
||||
private EventGroup _eventGroup = new EventGroup ();
|
||||
|
||||
private void Awake ()
|
||||
{
|
||||
@@ -34,11 +40,13 @@ namespace Game.Component
|
||||
private void OnEnable ()
|
||||
{
|
||||
GameUpdateMgr.Instance.AddUpdater (DoUpdate);
|
||||
this._eventGroup.AddListener<GameEventDefine.GlobalRunaway> ( OnRunaway );
|
||||
}
|
||||
|
||||
private void OnDisable ()
|
||||
{
|
||||
GameUpdateMgr.Instance.RemoveUpdater (DoUpdate);
|
||||
this._eventGroup.RemoveAllListener ();
|
||||
}
|
||||
|
||||
private void DoUpdate ()
|
||||
@@ -63,6 +71,8 @@ namespace Game.Component
|
||||
|
||||
public void ResetGame ()
|
||||
{
|
||||
this._RunawayTimeHandler?.Kill ();
|
||||
this.IsRunaway = false;
|
||||
this.ScenePart.RefreshInit ();
|
||||
this.PlayerEntity.transform.position = this.ScenePart.createPos.position;
|
||||
this.PlayerEntity.gameObject.SetActive (true);
|
||||
@@ -75,5 +85,13 @@ namespace Game.Component
|
||||
// ReSharper disable once Unity.NoNullPropagation
|
||||
this.ScenePart?.AddConditionNumber (messageOverlyCoin);
|
||||
}
|
||||
|
||||
private void OnRunaway (IEventMessage message)
|
||||
{
|
||||
GameEventDefine.GlobalRunaway runaway = (GameEventDefine.GlobalRunaway) message ;
|
||||
this.IsRunaway = true;
|
||||
this._RunawayTimeHandler?.Kill ();
|
||||
this._RunawayTimeHandler = GameUpdateMgr.Instance.CreateTimer (runaway.Duration, () => { this.IsRunaway = false; });
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user