public void Init(int _activeAreaSetID)
    {
        activeAreaSetID = 1;

//#if UNITY_EDITOR
        if (Data.Instance.DEBUG && Data.Instance.missions.test_mission)
        {
            setNewAreaSet();
            return;
        }
        if (Data.Instance.playMode == Data.PlayModes.COMPETITION && 1 == 2)
        {
            areaSets.Clear();
            GameObject[] thisAreaSets = Resources.LoadAll <GameObject>("competition_" + Data.Instance.competitionID);
            foreach (GameObject go in thisAreaSets)
            {
                AreaSet thisAreaSet = go.GetComponent <AreaSet>() as AreaSet;
                if (thisAreaSet.competitionsPriority >= 99 || thisAreaSet.competitionsPriority < 50 || Random.Range(0, 10) < 7)
                {
                    areaSets.Add(thisAreaSet);
                }
            }
            RandomizeAreaSetsByPriority();
        }
//#endif
        num             = 0;
        activeAreaSetID = 0;
        setNewAreaSet();
    }
    public Area getRandomArea(bool startingArea)
    {
        num++;

        if (!areaSet)
        {
            areaSet = areaSets[0];
            areaSet.Restart();
        }
        Area area;

        //  print(areaSet + "areaSets.Length: " + areaSets.Count + "  activeAreaSetID: " + activeAreaSetID + " num: " + num + " areaSet.totalAreasInSet " + areaSet.totalAreasInSet);
        if (Data.Instance.missions.MissionActiveID == 0)
        {
            showRelaxAreaBeforeStarting = false;
        }
        if (startingArea)
        {
            //area = Game.Instance.level.victoryAreaLastLevel;
            area = getStartingArea();
            num  = 0;
        }
        else if (showRelaxAreaBeforeStarting)
        {
            showRelaxAreaBeforeStarting = false;
            return(Data.Instance.missions.relaxArea[Random.Range(0, Data.Instance.missions.relaxArea.Length)]);
        }
        else
        {
            if (Data.Instance.playMode == Data.PlayModes.STORY || Data.Instance.playMode == Data.PlayModes.COMPETITION)
            {
                if (activeAreaSetID < areaSets.Count && num >= areaSet.totalAreasInSet)
                {
                    if (num >= areaSet.totalAreasInSet)
                    {
                        setNewAreaSet();
                        activeAreaSetID++;
                        num = 0;
                    }
                }
            }
            else
            if (num >= areaSet.totalAreasInSet)
            {
                Data.Instance.events.OnSetNewAreaSet(activeAreaSetID);
                setNewAreaSet();
                if (Random.Range(0, 10) < 5)
                {
                    activeAreaSetID++;
                }
                activeAreaSetID++;
                num = 0;
            }

            area = areaSet.getArea();
        }
        return(area);
    }
Пример #3
0
 private List <AreaSet> Randomize(List <AreaSet> toRandom)
 {
     for (int i = 0; i < toRandom.Count; i++)
     {
         AreaSet temp        = toRandom[i];
         int     randomIndex = Random.Range(i, toRandom.Count);
         toRandom[i]           = toRandom[randomIndex];
         toRandom[randomIndex] = temp;
     }
     return(toRandom);
 }
    private void setNewAreaSet()
    {
        if (activeAreaSetID >= areaSets.Count)
        {
            activeAreaSetID = areaSets.Count - 1;
        }

        areaSet = areaSets[activeAreaSetID];
        Game.Instance.gameCamera.SetOrientation(areaSet.getCameraOrientation());

        areaSet.Restart();
    }
Пример #5
0
 void Start()
 {
     GameObject[] thisAreaSets = Resources.LoadAll <GameObject>("areas");
     foreach (GameObject go in thisAreaSets)
     {
         AreaSet thisAreaSet = go.GetComponent <AreaSet>() as AreaSet;
         if (thisAreaSet)
         {
             areaSets.Add(thisAreaSet);
         }
     }
     RandomizeAreaSetsByPriority();
 }
    private List <AreaSet> Randomize(List <AreaSet> toRandom)
    {
        SocialEvents.OnCompetitionHiscore(1, 0, false);

        //if (!Data.Instance.isArcade && Data.Instance.playMode == Data.PlayModes.COMPETITION || Data.Instance.playMode == Data.PlayModes.GHOSTMODE)
        // Random.seed = Social.Instance.hiscores.GetMyScore();
        for (int i = 0; i < toRandom.Count; i++)
        {
            AreaSet temp        = toRandom[i];
            int     randomIndex = Random.Range(i, toRandom.Count);
            toRandom[i]           = toRandom[randomIndex];
            toRandom[randomIndex] = temp;
            temp.Restart();
        }
        return(toRandom);
    }