コード例 #1
0
ファイル: MoveTargetState.cs プロジェクト: monsieurvinou/TRPG
    public override void Enter()
    {
        base.Enter();
        AbstractMovement mover = this.owner.currentUnit.GetComponent <AbstractMovement>();

        this.tiles = mover.GetTilesInRange(this.board);
        this.board.SelectTiles(this.tiles);
    }
コード例 #2
0
    IEnumerator Sequence()
    {
        AbstractMovement m = this.owner.currentUnit.GetComponent <AbstractMovement>();

        yield return(this.StartCoroutine(m.Traverse(this.owner.currentTile)));

        this.owner.ChangeState <SelectUnitState>();
    }
コード例 #3
0
        protected override void LeaveSeat(Interactor interactor)
        {
            base.LeaveSeat(interactor);

            AbstractMovement movement = GetComponentInParent <AbstractMovement>();

            movement.enabled = false;
        }
コード例 #4
0
        protected override void TakeSeat(Interactor interactor)
        {
            base.TakeSeat(interactor);

            AbstractMovement movement = GetComponentInParent <AbstractMovement>();

            movement.enabled = true;
        }
コード例 #5
0
// DEBUG CODE TO BE REMOVED
    void SpawnTestUnits()
    {
        System.Type[] components = new System.Type[] {
            typeof(WalkMovement),
            typeof(FlyMovement),
            typeof(TeleportMovement)
        };

        for (int i = 0; i < 3; ++i)
        {
            GameObject instance = Instantiate(owner.heroPrefab) as GameObject;
            Point      p        = new Point((int)levelData.tiles[i].x, (int)levelData.tiles[i].z);
            Unit       unit     = instance.GetComponent <Unit>();
            unit.Place(this.board.GetTile(p));
            unit.Match();
            AbstractMovement m = instance.AddComponent(components[i]) as AbstractMovement;
            m.range      = 5;
            m.jumpHeight = 1;
        }
    }
コード例 #6
0
        private bool TryMovement(AbstractMovement movement)
        {
            if (movement == null)
            {
                return(false);
            }

            movement.Execute();

            RecalculateGameState();

            if (!KingsInCheck[movement.Mover.Side])
            {
                return(true);
            }

            // If this was a bad movement, roll back.
            Debug.Log("Rolling back!");
            movement.Rollback();
            RecalculateGameState();
            return(false);
        }
コード例 #7
0
        protected virtual void LeaveSeat(Interactor interactor)
        {
            currentInteractor = null;
            interactor.CurrentInteractable = null;

            Collider2D playerColl = interactor.Player.GetComponent <Collider2D>();
            Collider2D seatColl   = GetComponent <Collider2D>();

            Physics2D.IgnoreCollision(playerColl, seatColl, false);

            AbstractMovement playerMovement = interactor.Player.GetComponent <AbstractMovement>();

            playerMovement.enabled = true;

            AbstractAim playerAim = interactor.Player.GetComponent <AbstractAim>();

            playerAim.enabled = true;

            AttackManager playerAttack = interactor.Player.GetComponent <AttackManager>();

            playerAttack.enabled = true;

            Debug.Log("Leave Seat");
        }
コード例 #8
0
 void Awake()
 {
     this.abstractMovement = this.GetComponent <AbstractMovement>();
     this.spriteRenderer   = this.GetComponent <SpriteRenderer>();
 }
コード例 #9
0
ファイル: Selectable.cs プロジェクト: mattpwest/tbs-template
 void Awake()
 {
     this.movement = this.GetComponent <AbstractMovement>();
     this.selectionManager.Register(this);
 }