Exemplo n.º 1
0
    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;
        }
    }
Exemplo n.º 2
0
    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;
        }
    }
Exemplo n.º 3
0
 public void addFactory(AbstractElementFactory inabstractElementFactory)
 {
     abstractElementFactory = inabstractElementFactory;
     enemyScripts           = GetComponentsInChildren <AbstractEnemy>();
 }