Пример #1
0
        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);
        }
Пример #2
0
        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);
        }