updat core

This commit is contained in:
2024-10-22 19:10:15 +08:00
parent fbbd08e0a5
commit d48401607d
75 changed files with 68830 additions and 116 deletions

View File

@@ -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 ()

View 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 ()
{
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: c272ad5978c64a97b2d8208f16e9cac6
timeCreated: 1729522496

View File

@@ -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; });
}
}
}