public void UpdateTileState(TileType newType, float newGrowth, int[] direction ){ if (!m_initialized) { InitializeTileController (); } if (newType != m_tileType) { m_tileType = newType; CreateVisualizationForType (); } if (m_vizController == null) { m_vizController = transform.GetChild (0).GetComponent<TileVizController> (); if (m_tileType == TileType.TILE_VINE) { (m_vizController as VineTileController).InitializeViz (); } } if (newGrowth != m_tileGrowth) { // Update the Visualization To Reflect New Growth m_tileGrowth = newGrowth; m_vizController.UpdateViz (newGrowth); float mod = Random.Range (0.0f, 2.0f); if (m_tileGrowth + mod >= 8.0f) { if (m_tileType == TileType.TILE_FLOWERS) { Instantiate (Resources.Load ("Flower"), transform.position, Quaternion.identity); } else if (m_tileType == TileType.TILE_TREE) { Instantiate (Resources.Load("Apple"), transform.position, Quaternion.identity); } } } if (m_tileType == TileType.TILE_VINE && direction[0] != 0) { VineTileController vineTC = m_vizController as VineTileController; vineTC.SetGrowthDirections (direction); } }
void CreateVisualizationForType(){ EraseDefaultViz (); if (m_tileSingle == null) { m_tileSingle = FindObjectOfType (typeof(TileSingleton)) as TileSingleton; } if (m_tileType == TileType.TILE_RANDOM) { m_tileType = (TileType)Random.Range (0, 6); CreateVisualizationForType (); return; } m_tileVizPrefab = Instantiate (m_tileSingle.GetPrefabOfType (m_tileType), transform.position, Quaternion.identity) as GameObject; m_tileVizPrefab.transform.parent = gameObject.transform; m_vizController = m_tileVizPrefab.GetComponent<TileVizController> (); m_vizController.InitializeViz (); }