public void GetCloser(PlayerSoldier enemy) { UnMarkAvailableTilesToStep(); CoverSoldier(); enemy.CoverSoldier(); if (CurrentSide == GameSide.LeftSide && enemy.CurrentTile.Column < CurrentTile.Column || CurrentSide == GameSide.RightSide && enemy.CurrentTile.Column > CurrentTile.Column) { isFlipped = true; if (enemy is Zombie) { (enemy as Zombie).isFlipped = true; enemy.FlipSide(false); enemy.transform.position = new Vector2(enemy.CurrentTile.transform.position.x + OffsetX, enemy.CurrentTile.transform.position.y + OffsetY); } FlipSide(false); transform.position = new Vector2(CurrentTile.transform.position.x + OffsetX, CurrentTile.transform.position.y + OffsetY); } anim.Play("Walk"); SoundManager.Instance.SFX.PlayOneShot(SoundManager.Instance.ZombieWalkShort); playerCollider.isTrigger = enemy.PlayerCollider.isTrigger = true; enemy.SetWarTag(); CurrentTile.Soldier = null; CurrentTile = enemy.CurrentTile; //CurrentTile.Soldier = this; destination = new Vector2(CurrentTile.transform.position.x + OffsetX, CurrentTile.transform.position.y + OffsetY); isWalking = isInWar = true; }
public void PlaceSoldier(Tile tile, PlayerSoldier soldier, bool isEnemy = false) { PlayerSoldier newSoldier = Instantiate(soldier, transform); if (isEnemy) { newSoldier.FlipSide(); EnemyList.Add(newSoldier); } else { LocalPlayerList.Add(newSoldier); } newSoldier.transform.position = new Vector3(tile.transform.position.x + newSoldier.OffsetX, tile.transform.position.y + newSoldier.OffsetY); newSoldier.GetComponent <SpriteRenderer>().sortingOrder = tile.Row + 1; newSoldier.CurrentTile = tile; newSoldier.CurrentTile.Soldier = newSoldier; tile.MarkTileInUse(); }