public override void Enter() { base.Enter(); if (parent._actionQueue.Count > 0) { BattleUI.Instance.ScrollPriorityQueue(parent.SelectedCharacter); BattleCharacter character = parent._actionQueue[0]; parent._actionQueue.RemoveAt(0); if (character.LiveState == BattleCharacter.LiveStateEnum.Alive && character.Info.ActionCount > 0) { CameraController.Instance.SetParent(character.Sprite.transform, true, () => { if (parent.SelectedCharacter != null) { parent.SelectedCharacter.SetOutline(false); } parent.SelectedCharacter = character; parent.SelectedCharacter.SetOutline(true); //BattleUI.Instance.SetInfo(true, parent.SelectedCharacter); BattleStatus status; if (character.CanAct(out status)) { if (!parent.SelectedCharacter.Info.IsAI) { parent.ChangeState <SelectActionState>(); } else { parent.ChangeState <AIState>(); } return; } else { BattleUI.Instance.SetFloatingNumber(character, status.Message, FloatingNumber.Type.Other); _timer.Start(0.5f, () => { parent.ChangeState <SelectCharacterState>(); }); } }); } else { parent.ChangeState <SelectCharacterState>(); } } else { parent.ChangeState <TurnEndState>(); } }