public void SpawnPiece(Type piece, Cell target) { if (target.IsSolidlyOccupied()) return; GameObject parent = GetPieceParent(piece); GameObject obj = (GameObject)PrefabUtility.InstantiatePrefab(GamePiece.GetPrefab(selectedPiece)); obj.transform.position = target.WorldPos(); obj.transform.parent = parent.transform; RoomManager.roomManager.AddPiece(obj, piece); }
public void SpawnPlayer(Cell target) { if (RoomManager.roomManager.player == null) { GameObject obj = (GameObject)PrefabUtility.InstantiatePrefab(GamePiece.GetPrefab(typeof(Player))); obj.transform.position = target.WorldPos(); RoomManager.roomManager.AddPiece(obj, typeof(Player)); } else { RoomManager.roomManager.player.TeleportTo(target); } }
public bool StartLerp(Cell source, Cell dest, float speed, Side? s = null) { bool available = dest.Reserve() && dest != null; if (available) { isMoving = true; StartPos = source.WorldPos(); destination = dest; tempSpeed = speed; currentLerp = 0f; currentRot = transform.eulerAngles; targetRot = s; } return available; }