Exemple #1
0
    public void SpawnUnit(Color32 color, Tile tile)
    {
        foreach (PlayersLibrary pl in playerLibrary)
        {
            if (color.Equals(pl.color))
            {
                Vector3    startPosition = grid.CalcWorldPos(tile.tileX, 1, tile.tileY);
                GameObject gameObj       = Instantiate(pl.prefab, startPosition, Quaternion.identity) as GameObject;

                MeshRenderer objMesh = gameObj.GetComponent <MeshRenderer>();
                if (pl.material != null)
                {
                    objMesh.material = pl.material;
                }

                gameObj.transform.parent = this.transform;
                gameObj.name             = pl.name;
                gameObj.GetComponent <Unit>().unitPositionX    = tile.tileX;
                gameObj.GetComponent <Unit>().unitPositionY    = tile.tileY;
                gameObj.GetComponent <Unit>().unitPositionText = "l" + tile.tileX.ToString() + "c" + tile.tileY.ToString();
                gameObj.GetComponent <Unit>().moveSpeed        = pl.actionPoints;
                gameObj.GetComponent <Unit>().stench           = pl.stench;
                gameObj.GetComponent <Unit>().speed            = pl.speed;

                if (gameObj.GetComponent <Minotaur>())
                {
                    grid.problemObjects += "\n\t\t" + gameObj.name + " - minotaur\n\t\t";
                }
                if (gameObj.GetComponent <Player>())
                {
                    grid.problemObjects += "\n\t\t" + gameObj.name + " - player\n\t\t";
                    grid.initialState.Add("atTile", gameObj.name, gameObj.GetComponent <Unit>().unitPositionText);
                    grid.initialState.Add("isAlive", gameObj.name);
                }
            }
        }

        turnController.GetUnits();
    }
Exemple #2
0
 void OnDestroy()
 {
     turnController.GetUnits();
 }