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); }
private void setNewAreaSet() { if (activeAreaSetID >= areaSets.Count) { activeAreaSetID = areaSets.Count - 1; } areaSet = areaSets[activeAreaSetID]; Game.Instance.gameCamera.SetOrientation(areaSet.getCameraOrientation()); areaSet.Restart(); }
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); }