Ejemplo n.º 1
0
    public void Init()
    {
        data = Data.Instance;
        game = Game.Instance;

        data.events.OnResetLevel          += reset;
        data.events.OnSetFinalScore       += OnSetFinalScore;
        data.events.OnAddExplotion        += OnAddExplotion;
        data.events.OnAddWallExplotion    += OnAddWallExplotion;
        data.events.OnAddObjectExplotion  += OnAddObjectExplotion;
        data.events.OnAddHeartsByBreaking += OnAddHeartsByBreaking;
        data.events.StartMultiplayerRace  += StartMultiplayerRace;
        data.events.SetVictoryArea        += SetVictoryArea;

        charactersManager = game.GetComponent <CharactersManager>();
        powerupsManager   = GetComponent <PowerupsManager>();
        floorManager      = GetComponent <FloorManager>();
        floorManager.Init(charactersManager);
        playing = true;
        powerupsManager.Init();
        SetNewVideogameSettings();

        if (Data.Instance.playMode == Data.PlayModes.VERSUS)
        {
            Area a = Data.Instance.versusManager.GetArea();
            sceneObjects.replaceSceneObject(a, a.z_length / 2, 0, false);
            Area b = Data.Instance.versusManager.GetArea();
            sceneObjects.replaceSceneObject(b, b.z_length / 2, 0, true);
            return;
        }
        //else if (Data.Instance.playMode == Data.PlayModes.COMPETITION )
        //	 nextDistanceVictoryArea = distanceVictoryArea;

        areasX = 0;

        areaActive = null;

        missions = data.GetComponent <Missions>();


        missions.Init(data.missions.MissionActiveID, this);
        areasManager = missions.getAreasManager();
        areasManager.Init(1);

        areasLength = 0;

        if (!Data.Instance.isArcadeMultiplayer && !waitingToStart)         // nunevo && !waitingToStart)
        {
            missions.StartNext();
        }

        Invoke("Delayed", 0.5f);
    }