public override void Init(Entity entity, GameObject entityGO) { thisEntity = entity; position = (PositionComponent)thisEntity.GetEntityComponent(ComponentID.Position); AiStateSystem.instance.RegisterAi(DoNextAction); actionManager = EntityActionManager.instance; thisEntity.OnActiveChanged += (active) => AiStateSystem.instance.UnRegisterAi(DoNextAction); thisEntity.OnActiveChanged += (active) => actionManager.EntityOnTileChanged(thisEntity, position.moveData); }
public override void Init(Entity entity, GameObject entityGO) { if (entityGO == null) { return; } OnInputNeeded = AbilitySystem.instance.IsInputNeeded; RegisterCBListener <Action <MoveData> >((data) => MoveSystem.instance.ChangePosition(data, entityGO.transform)); CanMoveTo = MapManager.instance.CanMoveTo; thisEntity = entity; actionManager = EntityActionManager.instance; actionManager.EntityOnTileChanged(thisEntity, moveData); //thisEntity.OnActiveChanged += ClearCB; }