protected void Init() { tiles = GameObject.FindGameObjectsWithTag("Tile"); halfHeight = GetComponent <Collider>().bounds.extents.y; TurnManger.AddUnit(this); }
public void Move() { if (path.Count > 0) { TileScript t = path.Peek(); Vector3 target = t.transform.position; target.y += halfHeight + t.GetComponent <Collider>().bounds.extents.y; if (Vector3.Distance(transform.position, target) >= 0.05f) { bool jump = transform.position.y != target.y; if (jump) { Jump(target); } else { CalculateHeading(target); SetHorizontalVelocity(); } transform.forward = heading; transform.position += velocity * Time.deltaTime; } else { transform.position = target; path.Pop(); } } else { RemoveSelectableTiles(); moving = false; TurnManger.EndTurn(); } }