public override void Enter() { base.Enter(); AbstractMovement mover = this.owner.currentUnit.GetComponent <AbstractMovement>(); this.tiles = mover.GetTilesInRange(this.board); this.board.SelectTiles(this.tiles); }
IEnumerator Sequence() { AbstractMovement m = this.owner.currentUnit.GetComponent <AbstractMovement>(); yield return(this.StartCoroutine(m.Traverse(this.owner.currentTile))); this.owner.ChangeState <SelectUnitState>(); }
protected override void LeaveSeat(Interactor interactor) { base.LeaveSeat(interactor); AbstractMovement movement = GetComponentInParent <AbstractMovement>(); movement.enabled = false; }
protected override void TakeSeat(Interactor interactor) { base.TakeSeat(interactor); AbstractMovement movement = GetComponentInParent <AbstractMovement>(); movement.enabled = true; }
// 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; } }
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); }
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"); }
void Awake() { this.abstractMovement = this.GetComponent <AbstractMovement>(); this.spriteRenderer = this.GetComponent <SpriteRenderer>(); }
void Awake() { this.movement = this.GetComponent <AbstractMovement>(); this.selectionManager.Register(this); }