void MovePartyLeader(PartyMember partyLeader, Grid grid) { Vector3 direction = Vector3.zero; CharacterDirection2D characterDirection = partyLeader.characterDirection; if (Input.GetAxisRaw("Horizontal") != 0) { direction = Vector3.right * Input.GetAxisRaw("Horizontal"); characterDirection.SetFront(new Vector2Int((int)direction.x, (int)direction.y)); if (!partyLeader.WillCollide(Vector2.right * Input.GetAxisRaw("Horizontal"), rayDistance)) { partyLeader.SetNextTile(partyLeader.currentTile + grid.WorldToCell(direction)); } } else if (Input.GetAxisRaw("Vertical") != 0) { direction = Vector3.forward * Input.GetAxisRaw("Vertical"); characterDirection.SetFront(new Vector2Int((int)direction.x, (int)direction.y)); if (!partyLeader.WillCollide(Vector3.up * Input.GetAxisRaw("Vertical"), rayDistance)) { partyLeader.SetNextTile(partyLeader.currentTile + grid.WorldToCell(direction)); } } }