예제 #1
0
    private void CreateCurrentArea()
    {
        MissionData.AreaSetData areaSetData = MissionActive.areaSetData[areaSetId];
        string areaName = GetArea(areaSetData);

        CreateCurrentArea(areaName);
    }
예제 #2
0
 void OnAvatarReachedNextArea(MissionData.AreaSetData data)
 {
     //  print("__________ distance: "  + data.totalDistanceToCamFX +  " areaName: " + data.areas[0] +   " cam: "  + data.cameraOrientation + " bending: " + data.bending);
     Game.Instance.gameCamera.SetOrientation(data.cameraOrientation);
     if (data.bending != 0)
     {
         Data.Instance.events.ChangeCurvedWorldX(data.bending);
     }
     areasetDataLoaded.RemoveAt(0);
 }
    void ShuffleMissions(List <MissionData.AreaSetData> arr)
    {
        for (int a = 0; a < 50; a++)
        {
            int rand = UnityEngine.Random.Range(1, arr.Count);
            MissionData.AreaSetData randomMission1 = arr[2];
            MissionData.AreaSetData randomMission2 = arr[rand];

            arr[rand] = randomMission1;
            arr[2]    = randomMission2;
        }
    }
예제 #4
0
 string GetArea(MissionData.AreaSetData areaSetData)
 {
     if (areaSetData.randomize)
     {
         areaID++;
         return(areaSetData.areas [UnityEngine.Random.Range(0, areaSetData.areas.Count)]);
     }
     else if (areaID < areaSetData.areas.Count - 1)
     {
         areaID++;
         return(areaSetData.areas [areaID - 1]);
     }
     else
     {
         return(areaSetData.areas [areaSetData.areas.Count - 1]);
     }
 }
예제 #5
0
    void SetNextArea()
    {
        MissionData.AreaSetData data = MissionActive.areaSetData[areaSetId];


        if (areasetIDLastAdded != areaSetId)
        {
            areasetIDLastAdded        = areaSetId;
            data.totalDistanceToCamFX = (int)areasLength;
            areasetDataLoaded.Add(data);
        }

        total_areas = data.total_areas;

        if (Data.Instance.playMode != Data.PlayModes.SURVIVAL && (Data.Instance.playOnlyBosses || hasReachedBoss) && !data.boss && areaSetId < MissionActive.areaSetData.Count - 2)
        {
            areaSetId++;
            ResetAreaSet();
            SetNextArea();
            return;
        }

        if (data.boss && Data.Instance.playMode != Data.PlayModes.STORYMODE && !bossResetedOnce)
        {
            hasReachedBoss = true;
        }

        CreateCurrentArea();

        // Debug.Log("areaSetId: " + areaSetId + "   data.cameraOrientation: " + data.cameraOrientation + " bending: " + data.bending);
        areaNum++;
        //  print("___________areaNum: " + areaNum + "  areaSetId " + areaSetId + "     total_areas: " + total_areas);

        if (areaNum >= total_areas)
        {
            if (areaSetId < MissionActive.areaSetData.Count - 1)
            {
                areaSetId++;
                ResetAreaSet();
            }
            else
            {
                areaNum--;
            }
        }
    }
예제 #6
0
    void SetNextArea()
    {
        MissionData.AreaSetData data = MissionActive.areaSetData[areaSetId];
        if (Data.Instance.playMode != Data.PlayModes.SURVIVAL && MissionActiveID != 0 && (Data.Instance.playOnlyBosses || hasReachedBoss) && !data.boss && areaSetId < MissionActive.areaSetData.Count - 2)
        {
            areaSetId++;
            ResetAreaSet();
            SetNextArea();
            return;
        }

        if (data.boss)
        {
            hasReachedBoss = true;
        }

        CreateCurrentArea();

        Game.Instance.gameCamera.SetOrientation(data.cameraOrientation);
        total_areas = data.total_areas;
        float bending = data.bending;

        if (bending != 0)
        {
            Data.Instance.events.ChangeCurvedWorldX(bending);
        }
        //	if (MissionActive.areaSetData [areaSetId].randomize && Game.Instance.level.charactersManager.getTotalCharacters()==1)
        //	total_areas /= 1.25f;


        if (areaNum >= total_areas)
        {
            if (areaSetId < MissionActive.areaSetData.Count - 1)
            {
                areaSetId++;
                ResetAreaSet();
            }
            else
            {
                areaNum--;
            }
        }
        areaNum++;
    }
예제 #7
0
 void LoadMissionData(MissionData.AreaSetData data)
 {
     foreach (string areaName in data.areas)
     {
         bool exists = false;
         foreach (string savedAreaName in allNames)
         {
             if (savedAreaName == areaName)
             {
                 exists = true;
             }
         }
         if (!exists)
         {
             AddAreaByName(areaName);
             allNames.Add(areaName);
         }
     }
 }