예제 #1
0
 private void FillCells(CellMap map, EnumCellState state, int x1, int y1, int x2, int y2)
 {
     for (int i = x1; i <= x2; i++)
     {
         for (int j = y1; j <= y2; j++)
         {
             map.SetSegment(new MapPos(i, j), state);
         }
     }
 }
예제 #2
0
 private void OnClick()
 {
     if (State == EnumCellState.Buildable)
     {
         GameController.BuildTower(transform.position);
         GameController.ShowMap(false);
         State = EnumCellState.Blocked;
         GameController.GetInstance().ChangedCells.Add(this);
     }
 }
예제 #3
0
 public GridCell(Vector3 position)
 {
     var go = Skin.GetPrefab(Skin.GamePrefabs.Cell);
     GO = Instantiate(go, position, go.transform.rotation) as GameObject;
     State = EnumCellState.Walkable;
     OriginalColor = GO.GetComponent<SpriteRenderer>().color;
     _script = GO.AddComponent<GridCell>();
     _script.GO = GO;
     _script.OriginalColor = OriginalColor;
     _script.State = State;
     OriginalState = State;
 }
예제 #4
0
    public static string GetCharFromCell(EnumCellState state)
    {
        switch (state)
        {
        case EnumCellState.OPEN:
            return(" ");

        case EnumCellState.CLOSED:
            return("#");

        case EnumCellState.LOCK_OPEN:
            return(" ");

        case EnumCellState.LOCK_CLOSED:
            return("#");
        }

        return(" ");
    }
 public static bool SimpleState(this EnumCellState state)
 {
     return(state == EnumCellState.OPEN || state == EnumCellState.LOCK_OPEN);
 }
 // CELLS
 public static bool IsLocked(this EnumCellState state)
 {
     return(state == EnumCellState.LOCK_OPEN || state == EnumCellState.LOCK_CLOSED);
 }