Ejemplo n.º 1
0
    public void SelectTile(Tile t)
    {
        Tile.TileState incomingState = t.State;
        ClearBoardState();
        Hex hex = t.Hex;

        if (incomingState == Tile.TileState.Normal || incomingState == Tile.TileState.Selected)
        {
            ResetTurn();
            return;
        }
        else
        {
            // Select a brand new tile
            t.State = Tile.TileState.Selected;
            if (t.Hex.area != GameArea.Board)
            {
                ShowBasePlacingSpots(t);
            }
            else
            {
                ShowSpotsForTileAndType(t, t.type);
            }
        }
    }
Ejemplo n.º 2
0
        private void OnGUI()
        {
            //Grid Construction
            if (GUILayout.Button("Spawn Grid"))
            {
                FindObjectOfType <GridManager>().SpawnGrid();
            }
            if (GUILayout.Button("Refresh Grid"))
            {
                FindObjectOfType <GridManager>().UpdateTilePosition();
                SetTileStatusOnInnateBuildings();
            }
            if (GUILayout.Button("Destroy Grid"))
            {
                FindObjectOfType <GridManager>().DestroyGrid();
            }

            EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);

            //Tile Selection
            tileOptions = (Tile.TileState)EditorGUILayout.EnumPopup("Type to select:", tileOptions);
            if (GUILayout.Button("Select"))
            {
                TileSelection(tileOptions);
            }

            EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
        }
Ejemplo n.º 3
0
 public void SetTileState(int aX, int aZ, Tile.TileState aTileState)
 {
     if (aX >= myWidth || aX < 0 || aZ >= myDepth || aZ < 0)
     {
         // Return null "Tile"
         Tile nullTile = new Tile();
         nullTile.GetSetTileState = Tile.TileState.empty;
     }
     else
     {
         Tile tempTile = new Tile(this, aX, aZ);
         tempTile.GetSetTileState = aTileState;
         CopySetTile(tempTile);
     }
 }
Ejemplo n.º 4
0
 //returns a copy of matris with enum state values
 Tile.TileState[,] EnumMatris()
 {
     Tile.TileState[,] tempMatris = new Tile.TileState[rows, columns];
     for (int i = 0; i < rows; i++)
     {
         for (int j = 0; j < columns; j++)
         {
             if (matris[i, j] != null)
             {
                 tempMatris[i, j] = matris[i, j].state;
             }
         }
     }
     return(tempMatris);
 }
Ejemplo n.º 5
0
        private void TileSelection(Tile.TileState tileState)
        {
            List <Tile> result = ArrayUtility.FindAll(FindObjectsOfType <Tile>(), (t) => t.tileState == tileState);

            GameObject[] results = new GameObject[result.Count];

            int i = 0;

            foreach (Tile tile in result)
            {
                results[i] = tile.gameObject;
                i++;
            }

            Selection.objects = results;
        }
Ejemplo n.º 6
0
        public LinkedList <Tile> toLinkedList(Tile.TileState a_state)
        {
            LinkedList <Tile> l_list = new LinkedList <Tile>();

            for (int i = 0; i < m_width; i++)
            {
                for (int j = 0; j < m_height; j++)
                {
                    if (m_tileMap[i, j].p_tileState == a_state)
                    {
                        l_list.AddLast(m_tileMap[i, j]);
                    }
                }
            }

            return(l_list);
        }
Ejemplo n.º 7
0
    //Used for alien logic and debugging in scene view.
    public bool GetCollisionWithObject(GameObject _object, ref Tile _occupiedTile, Tile.TileState _targetState)
    {
        foreach (var row in gridTiles)
        {
            foreach (var tile in row)
            {
                if (tile.boundingBox.IsColliding(_object))
                {
                    if (_occupiedTile != null &&
                        tile != _occupiedTile)
                    {
                        _occupiedTile.currentTileState = Tile.TileState.Empty;
                    }

                    _occupiedTile = tile;
                    _occupiedTile.currentTileState = _targetState;
                    return(true);
                }
            }
        }
        return(false);
    }
Ejemplo n.º 8
0
 public void SetStateTile(Position position, Tile.TileState state)
 {
     Board.boardInstance._tabTiles[position.X, position.Y]._tileState = state;
 }
Ejemplo n.º 9
0
 public void setTileState(int tileX, int tileY, Tile.TileState newTileState)
 {
     getTileFromXY(tileX, tileY).GetComponent <Tile>().setCurrentState(newTileState);
 }
Ejemplo n.º 10
0
 public void setTileState(int tileID, Tile.TileState newTileState)
 {
     getTileFromID(tileID).GetComponent <Tile>().setCurrentState(newTileState);
 }
        public void LoadContent(Vector2 tileDimensions)
        {
            Image.LoadContent();
            Vector2 position = -tileDimensions;

            foreach (string row in Tile.Row)
            {
                string[] split = row.Split(']');
                position.X = -tileDimensions.X;
                position.Y += tileDimensions.Y;
                foreach (string s in split)
                {
                    if (s != String.Empty)
                    {
                        position.X += tileDimensions.X;
                        if (!s.Contains('x'))
                        {
                            state = SongAdventureAndroid.Tile.TileState.Passive;
                            Tile tile = new Tile();

                            string str = s.Replace("[", String.Empty);
                            int value1 = int.Parse(str.Substring(0, str.IndexOf(':')));
                            int value2 = int.Parse(str.Substring(str.IndexOf(':') + 1));

                            if (SolidTiles.Contains("[" + value1.ToString() + ":" + value2.ToString() + "]"))
                                state = SongAdventureAndroid.Tile.TileState.Solid;

                            tile.LoadContent(position, new Rectangle(value1 * (int)tileDimensions.X, value2 * (int)tileDimensions.Y, (int)tileDimensions.X, (int)tileDimensions.Y), state);

                            if (OverlayTiles.Contains("[" + value1.ToString() + ":" + value2.ToString() + "]"))
                                overlayTiles.Add(tile);
                            else
                                underlayTiles.Add(tile);
                        }
                    }
                }
            }
        }
Ejemplo n.º 12
0
 public void SetTile(int row, int col, Tile.TileState state)
 {
     board[row, col] = state;
 }