private static void init(TrainerAction trainerAction) { Action action = new Action(trainerAction); switch (trainerAction) { case TrainerAction.End_Turn: case TrainerAction.End_Battle: break; case TrainerAction.Pokeball: action.TargetType = TargetType.Position; action.Range = new ArenaRange(); action.NextTurn = true; break; case TrainerAction.Pokemon_Come_Back: action.TargetType = TargetType.Position; action.Range = new ArenaRange(); action.NextTurn = false; break; case TrainerAction.Pokemon_Go: action.TargetType = TargetType.Position; action.Range = new ArenaRange(); action.NextTurn = true; break; default: break; } trainerActions[(int)trainerAction] = action; }
public static Action Get(TrainerAction trainerAction) { if (trainerActions[(int)trainerAction] == null) { init(trainerAction); } return trainerActions[(int)trainerAction]; }
public Action(TrainerAction action) { Id = (int)action; Name = action.ToString(); TargetType = TargetType.None; HitEffects = new List<HitEffect>(); GroundEffects = new List<GroundEffect>(); NextTurn = true; IsTrainer = true; }