public void Initialize(DormitoryCell cell, DormitoryCell otherCell, DormitoryDirection direction)
 {
     this.cell      = cell;
     this.otherCell = otherCell;
     this.direction = direction;
     cell.SetEdge(direction, this);
     transform.parent        = cell.transform;
     transform.localPosition = Vector3.zero;
     transform.localRotation = direction.ToRotation();
 }
Beispiel #2
0
    public void CreateWall(DormitoryCell cellA, DormitoryCell cellB, DormitoryDirection direction)
    {
        DormitoryWall wall = Instantiate(wallPrefab) as DormitoryWall;

        wall.Initialize(cellA, cellB, direction);
        if (cellB != null)
        {
            wall = Instantiate(wallPrefab) as DormitoryWall;
            wall.Initialize(cellB, cellA, direction.GetOpposite());
        }
    }
Beispiel #3
0
    public void CreateExternalDoor(DormitoryCell cellA, DormitoryCell cellB, DormitoryDirection direction, bool mirrored)
    {
        DormitoryExternalDoor door = Instantiate(extDoorPrefab) as DormitoryExternalDoor;

        door.Initialize(cellA, cellB, direction);
        if (cellB != null)
        {
            door = Instantiate(extDoorPrefab) as DormitoryExternalDoor;
            door.Initialize(cellB, cellA, direction.GetOpposite());
        }
        if (mirrored)
        {
            door.transform.localPosition = new Vector3(0f, 0f, -1f);
            door.transform.localRotation = direction.GetOpposite().ToRotation();
        }
    }
Beispiel #4
0
 public DormitoryCellEdge GetEdge(DormitoryDirection direction)
 {
     return(edges[(int)direction]);
 }
Beispiel #5
0
 public void SetEdge(DormitoryDirection direction, DormitoryCellEdge edge)
 {
     edges[(int)direction] = edge;
 }
 public static Quaternion ToRotation(this DormitoryDirection direction)
 {
     return(rotations[(int)direction]);
 }
 public static DormitoryDirection GetOpposite(this DormitoryDirection direction)
 {
     return(opposites[(int)direction]);
 }
 public static IntVector2 ToIntVector2(this DormitoryDirection direction)
 {
     return(vectors[(int)direction]);
 }