public IList <IAction> GetActualActions(int countOfMoment, Controller controller) { IList <IAction> actual = new List <IAction>(); for (int i = 0; i < countOfMoment; ++i) { // 攻撃がプロットされているとき if (Plots.IsActionPloted(i)) { actual.Add(Plots.ActionPloted(i).Action); } // 移動がプロットされているとき else if (Plots.IsMovePloted(i)) { Move act = ScriptableObject.Instantiate(Resources.Load <Move>("ScriptableObjects/Actions/Move")); act.Controller = controller; act.Direction = Plots.MovePloted(i).MoveDirection; actual.Add(act); } // 移動と攻撃の両方がプロットされていないとき else { NoAction act = ScriptableObject.Instantiate(Resources.Load <NoAction>("ScriptableObjects/Actions/NoAction")); act.Controller = controller; actual.Add(act); } } return(actual); }
public Player(bool isPlayer1, IRule rule) { Life = new Life(rule.MaxLife); Pos initialPos = new Pos(Board.SizeX / 2, isPlayer1 ? 0 : Board.SizeY - 1); Gradiator = new Gradiator(initialPos, isPlayer1 ? GradiatorDirection.North : GradiatorDirection.South, this); Plots = new Plots(rule); }