public override void init() { GameObject curFactoryObject; fermaMissionEmmiter = GlobalOptions.GetMissionEmmitters().GetFermaMissionEmmitter(); //terrain curFactoryObject = Instantiate(terrainFactory) as GameObject; terrainElementFactory = curFactoryObject.GetComponent("TerrainElementFactory") as TerrainElementFactory; //uniqueObjects curFactoryObject = Instantiate(UniqueFactory) as GameObject; uniqueElementFactory = curFactoryObject.GetComponent("AbstractElementFactory") as AbstractElementFactory; //boostObjects curFactoryObject = Instantiate(BoostFactory) as GameObject; boostElementFactory = curFactoryObject.GetComponent("AbstractElementFactory") as AbstractElementFactory; //obstacles curFactoryObject = Instantiate(ObstacleFactory) as GameObject; obstacleElementFactory = curFactoryObject.GetComponent("AbstractElementFactory") as AbstractElementFactory; //Obstacle Set curFactoryObject = Instantiate(ObstacleSetFactory) as GameObject; obstacleSetElementFactory = curFactoryObject.GetComponent("AbstractElementFactory") as AbstractElementFactory; if (MakeObstacleSet) { obstacleSetElementFactory.pathInResources = "ObstacleSets/new"; } //money curFactoryObject = Instantiate(MoneyFactory) as GameObject; moneyElementFactory = curFactoryObject.GetComponent("AbstractElementFactory") as AbstractElementFactory; numberOfTerrains = 3; //Get current level LoadCurrentLevel(); if (debugPathIndicator) { pathIndicator = Instantiate(debugPathIndicator) as GameObject; } }
private void addOneTreeAtMarker(Transform marker, TerrainTag interrainTag) { int i; GameObject newObject; AbstractElementFactory treeElementFactory = null; //findTreeFactory for (i = 0; i < treeElementFactories.Count; i++) { //нашли if ((treeElementFactories[i] as GameObject).name == interrainTag.treeElementFactory.name) { treeElementFactory = (treeElementFactories[i] as GameObject).GetComponent <AbstractElementFactory>(); break; } } if (!treeElementFactory) { GameObject newTreeFactory; newTreeFactory = Instantiate(interrainTag.treeElementFactory) as GameObject; treeElementFactories.Add(newTreeFactory); newTreeFactory.name = interrainTag.treeElementFactory.name; treeElementFactory = newTreeFactory.GetComponent <AbstractElementFactory>(); } newObject = treeElementFactory.GetNewObject(); //set position & rotation newObject.transform.position = marker.position; MarkerTag marderTag = newObject.GetComponent <MarkerTag>(); if (marderTag) { marderTag.ApplyRotation(marker.rotation, interrainTag.singleTransform.rotation); } else { newObject.transform.rotation = marker.rotation; } if (interrainTag) { interrainTag.PushToAllElements(newObject.GetComponent <AbstractTag>()); } if (MakeTerrains) { GameObject vspObject; vspObject = new GameObject(); Transform vspTerrain = vspObject.transform; vspTerrain.parent = marker.parent; vspTerrain.position = marker.position; vspTerrain.rotation = marker.rotation; marker.parent = null; vspTerrain.name = marker.name; } }
public void addFactory(AbstractElementFactory inabstractElementFactory) { abstractElementFactory = inabstractElementFactory; enemyScripts = GetComponentsInChildren <AbstractEnemy>(); }