private TurnStateEnum GetNext() { TurnStateEnum next = ReturnExecute[current]; current = ((current + 1) % ReturnExecute.Count); return(next); }
protected override void Setup() { player = new Player(always10, 11, 11, FightingStyle.Archery, mh, ohs, feats, buffs); enemy = new Enemy(14); status = new PlayerStatus(always10, player); ret = (TurnStateEnum)(999); }
public static string ToDescriptionString(this TurnStateEnum val) { DescriptionAttribute[] attributes = (DescriptionAttribute[])val .GetType() .GetField(val.ToString()) .GetCustomAttributes(typeof(DescriptionAttribute), false); return(attributes.Length > 0 ? attributes[0].Description : string.Empty); }
public ITurnState Get(TurnStateEnum state) { Assert.ValidEnum(state); Assert.IsTrue(state != TurnStateEnum.Error); TurnState turnState = null; switch (state) { case TurnStateEnum.Start: { turnState = new StartTurnEvent(); break; } case TurnStateEnum.FirstTurnSpellBuff: { turnState = new FirstTurnSpellBuffEvent(); break; } case TurnStateEnum.ActionSurge: { turnState = new ActionSurgeEvent(); break; } case TurnStateEnum.Action: { turnState = new ActionEvent(); break; } case TurnStateEnum.OffHandAttack: { turnState = new OffHandAttackEvent(); break; } case TurnStateEnum.End: { turnState = new EndTurnEvent(); break; } default: { throw new ArgumentException($"Invalid turn state {state}."); } } return(turnState); }
public override TurnStateEnum Execute(IPlayerStatus player, IEnemy enemy) { Validate(player, enemy); TurnStateEnum ret = TurnStateEnum.End; if (!IsBroken(player.MainHand)) { ret = UseAction(player, enemy); } return(ret); }
private TurnStateEnum UseAction(IPlayerStatus player, IEnemy enemy) { TurnStateEnum ret = TurnStateEnum.End; if (IsMisfired(player.MainHand)) { ret = UseActionFixMisfire(player); } else { ret = UseAttackAction(player, enemy); } return(ret); }
public TurnStateEnum Execute(IPlayerStatus player, IEnemy enemy) { if (ReturnExecute[current] == TurnStateEnum.End) { MockPlayerStatus mockPlayer = (MockPlayerStatus)player; mockPlayer.NumberOfTurnsPassed++; TurnComplete = true; } else { TurnComplete = false; } TurnStateEnum next = GetNext(); return(next); }
private void Awake() { Mingmings = new List <Mingming>(); CurrentTurnState = TurnStateEnum.PostTurn; TurnStateMachine = new Dictionary <TurnStateEnum, ITurnStateMachine> { { TurnStateEnum.PreTurn, new PreTurnState() }, { TurnStateEnum.AttackTurn, new AttackTurnState() }, { TurnStateEnum.PostTurn, new PostTurnState() }, { TurnStateEnum.End, new EndTurnState() } }; foreach (TurnStateEnum _enum in TurnStateMachine.Keys) { TurnStateEvent _event = stateEvents.Find(x => x.StateEnum.Equals(_enum)); if (_event != null) { TurnStateMachine[_enum].SetEvent(_event.Event); } } }
public ITurnState Get(TurnStateEnum state) { return(ReturnState); }
private void Instance_BattleOver(PartyController obj) { CurrentTurnState = TurnStateEnum.End; }
public void StartTurn() { CurrentTurnState = TurnStateEnum.PreTurn; TurnStateMachine[CurrentTurnState].Invoke(); }
public void GetNextTurnState() { CurrentTurnState = TurnStateMachine[CurrentTurnState].GetNextState(); TurnStateMachine[CurrentTurnState].Invoke(); }