Esempio n. 1
0
    void MissionCleanse()
    {
        foreach (var sys in ActiveMissionList)
        {
            try
            {
                Systems location = EDDBData.Find(x => x.name.Contains(sys.DestinationSystem));
                sys.Location = new Vector3(float.Parse(location.x), float.Parse(location.y), float.Parse(location.z));
                float dist = Vector3.Distance(sys.Location, PlayerLocation);
                sys.distance = dist;
            }
            catch (Exception)
            {
            }
        }


        GameObject MissionListDisplay;

        MissionListDisplay = GameObject.Find("MissionText");
        MissionListDisplay.GetComponent <Text>().text = "";

        Debug.Log("Active missions = " + ActiveMissionList.Count);
        for (int Mission = 0; Mission < ActiveMissionList.Count; Mission++)
        {
            //if (ActiveMissionList[Mission].Story == null)
            //{
            //    int Opening = UnityEngine.Random.Range(0, StoryItems.Count);
            //    int MissionGoal = UnityEngine.Random.Range(0, StoryItems.Count);
            //    int FactionGoal = UnityEngine.Random.Range(0, StoryItems.Count);
            //    int MissionSentimentPos = UnityEngine.Random.Range(0, StoryItems.Count);
            //    int MissionSentimentNeg = UnityEngine.Random.Range(0, StoryItems.Count);
            //    int NegEventsRand = UnityEngine.Random.Range(0, StoryItems.Count);
            // //   int JobRole = UnityEngine.Random.Range(0, RNGRoles.Count);

            //    if (ActiveMissionList[Mission].Sentiment == "Pos")
            //    {
            //        Sentiment = StoryItems[MissionSentimentPos].MissionSentimentPositive;
            //    }
            //    else
            //    {
            //        Sentiment = StoryItems[MissionSentimentNeg].MissionSentimentNegative;
            //    }

            //    string story = StoryItems[Opening].Opening + StoryItems[MissionGoal].MissionGoal + StoryItems[FactionGoal].FactionGoal + Sentiment;
            //    story = story.Replace("-mission type-", ActiveMissionList[Mission].type);
            //    story = story.Replace("-target-", ActiveMissionList[Mission].Target + " " + ActiveMissionList[Mission].TargetType_Localised);
            //    story = story.Replace("-mission type-", ActiveMissionList[Mission].type);
            //    story = story.Replace("-RNG date-", UnityEngine.Random.Range(3250, 3304).ToString());
            //    story = story.Replace("-effect on target-", ActiveMissionList[Mission].TargetEffect);
            //    story = story.Replace("-target faction-", ActiveMissionList[Mission].TargetFaction);
            //    story = story.Replace("-rng negative event-", StoryItems[NegEventsRand].Event);

            //    try
            //    {

            //        for (int faction = 0; faction < FactionContacts.Count; faction++)
            //        {
            //            if (FactionContacts[faction].FactionName == ActiveMissionList[Mission].Faction && FactionContacts[faction].ContactDepartment == ActiveMissionList[Mission].Department)
            //            {

            //                ActiveMissionList[Mission].FactionContact = FactionContacts[faction].FactionContact;
            //                ActiveMissionList[Mission].ContactRole = FactionContacts[faction].ContactRole;
            //                break;
            //            }
            //        }

            //    }
            //    catch (Exception) { }
            //    if(ActiveMissionList[Mission].FactionContact == null)
            //    {
            //          GenerateFactionContact(ActiveMissionList[Mission].Department, ActiveMissionList[Mission].Faction);

            //        ActiveMissionList[Mission].FactionContact = FactionContacts[FactionContacts.Count].FactionContact;
            //        ActiveMissionList[Mission].ContactRole = FactionContacts[FactionContacts.Count].ContactRole;
            //    }

            //    story = story.Replace("-RNG name-", ActiveMissionList[Mission].FactionContact);
            //        story = story.Replace("-employing faction-", ActiveMissionList[Mission].Faction);
            //        story = story.Replace("-RNG role-", ActiveMissionList[Mission].ContactRole + ActiveMissionList[Mission].Department);

            //    ActiveMissionList[Mission].Story = story;
            //}
            if (ActiveMissionList[Mission].KillCount == 0)
            {
                MissionListDisplay.GetComponent <Text>().text = MissionListDisplay.GetComponent <Text>().text + (Mission + 1) + " - " + ActiveMissionList[Mission].type + " " + ActiveMissionList[Mission].Target + "\n";
            }
            else
            {
                MissionListDisplay.GetComponent <Text>().text = MissionListDisplay.GetComponent <Text>().text + (Mission + 1) + " - " + ActiveMissionList[Mission].type + " " + ActiveMissionList[Mission].KillCount + " " + ActiveMissionList[Mission].Target + "\n";
            }

            if (GetComponent <VoiceRecognitionSystem>().MissionSelected == true)
            {
                GameObject NextSteps;
                NextSteps = GameObject.Find("ActiveMissionNextStep");
                int ActiveMissionNumber = GetComponent <VoiceRecognitionSystem>().ActiveMission;

                if (StarSystem == ActiveMissionList[ActiveMissionNumber].DestinationSystem)
                {
                    if (ActiveMissionList[ActiveMissionNumber].DestinationStation != null)
                    {
                        NextSteps.GetComponent <Text>().text = "Go to " + ActiveMissionList[ActiveMissionNumber].DestinationStation;
                    }
                    else
                    {
                        if (ActiveMissionList[ActiveMissionNumber].KillCount == 0)
                        {
                            remainingTargets = null;
                        }
                        else
                        {
                            int remainingTargetMath = ActiveMissionList[ActiveMissionNumber].KillCount - ActiveMissionList[ActiveMissionNumber].TotalKills;
                            remainingTargets = remainingTargetMath.ToString();
                        }
                        NextSteps.GetComponent <Text>().text = ActiveMissionList[ActiveMissionNumber].type + " " + remainingTargets + " " + ActiveMissionList[ActiveMissionNumber].Target;
                    }
                }
                else
                {
                    NextSteps.GetComponent <Text>().text = "Go to " + ActiveMissionList[ActiveMissionNumber].DestinationSystem;
                }
            }
        }
        GetComponent <PopulateBoards>().storeJSON();
    }
Esempio n. 2
0
    void MissionCleanse()
    {
        foreach (var sys in ActiveMissionList)
        {
            try
            {
                Systems location = EDDBData.Find(x => x.name.Contains(sys.DestinationSystem));
                sys.Location = new Vector3(float.Parse(location.x), float.Parse(location.y), float.Parse(location.z));
                float dist = Vector3.Distance(sys.Location, PlayerLocation);
                sys.distance = dist;
            }
            catch (Exception)
            {
            }
        }

        string path        = Application.dataPath + "/Resources/Story.json";
        string StoryBlocks = File.ReadAllText(path);

        StoryItems = JsonConvert.DeserializeObject <List <MissionStory> >(StoryBlocks);

        string Rolepath = Application.dataPath + "/Resources/Roles.json";
        string Roles    = File.ReadAllText(Rolepath);

        RNGRoles = JsonConvert.DeserializeObject <List <RNGRoles> >(Roles);

        string Factionpath = Application.dataPath + "/Resources/Factions.json";
        string Factions    = File.ReadAllText(Factionpath);

        if (Factions != "")
        {
            FactionContacts = JsonConvert.DeserializeObject <List <FactionVariables> >(Factions);
        }
        GameObject MissionListDisplay;

        MissionListDisplay = GameObject.Find("MissionText");
        MissionListDisplay.GetComponent <Text>().text = "";



        for (int Mission = 0; Mission < ActiveMissionList.Count; Mission++)
        {
            if (ActiveMissionList[Mission].Story == null)
            {
                int Opening             = UnityEngine.Random.Range(0, StoryItems.Count);
                int MissionGoal         = UnityEngine.Random.Range(0, StoryItems.Count);
                int FactionGoal         = UnityEngine.Random.Range(0, StoryItems.Count);
                int MissionSentimentPos = UnityEngine.Random.Range(0, StoryItems.Count);
                int MissionSentimentNeg = UnityEngine.Random.Range(0, StoryItems.Count);
                int NegEventsRand       = UnityEngine.Random.Range(0, StoryItems.Count);
                int JobRole             = UnityEngine.Random.Range(0, RNGRoles.Count);

                if (ActiveMissionList[Mission].Sentiment == "Pos")
                {
                    Sentiment = StoryItems[MissionSentimentPos].MissionSentimentPositive;
                }
                else
                {
                    Sentiment = StoryItems[MissionSentimentNeg].MissionSentimentNegative;
                }

                string story = StoryItems[Opening].Opening + StoryItems[MissionGoal].MissionGoal + StoryItems[FactionGoal].FactionGoal + Sentiment;
                story = story.Replace("-mission type-", ActiveMissionList[Mission].type);
                story = story.Replace("-target-", ActiveMissionList[Mission].Target);
                story = story.Replace("-mission type-", ActiveMissionList[Mission].type);
                story = story.Replace("-RNG date-", UnityEngine.Random.Range(3250, 3304).ToString());
                story = story.Replace("-effect on target-", ActiveMissionList[Mission].TargetEffect);
                story = story.Replace("-target faction-", ActiveMissionList[Mission].TargetFaction);
                story = story.Replace("-rng negative event-", StoryItems[NegEventsRand].Event);

                try
                {
                    for (int faction = 0; faction < FactionContacts.Count; faction++)
                    {
                        if (FactionContacts[faction].FactionName == ActiveMissionList[Mission].Faction && FactionContacts[faction].ContactDepartment == ActiveMissionList[Mission].Department)
                        {
                            ActiveMissionList[Mission].FactionContact    = FactionContacts[faction].FactionContact;
                            ActiveMissionList[Mission].ContactRole       = FactionContacts[faction].ContactRole;
                            ActiveMissionList[Mission].WatsonVoice       = FactionContacts[faction].WatsonVoice;
                            ActiveMissionList[Mission].WatsonType        = FactionContacts[faction].WatsonType;
                            ActiveMissionList[Mission].WatsonPitch       = FactionContacts[faction].WatsonPitch;
                            ActiveMissionList[Mission].WatsonPitch_Range = FactionContacts[faction].WatsonPitch_Range;
                            ActiveMissionList[Mission].WatsonRate        = FactionContacts[faction].WatsonRate;
                            ActiveMissionList[Mission].WatsonBreathiness = FactionContacts[faction].WatsonBreathiness;
                            ActiveMissionList[Mission].WatsonTension     = FactionContacts[faction].WatsonTension;
                            ActiveMissionList[Mission].WatsonStrength    = FactionContacts[faction].WatsonStrength;
                            break;
                        }
                    }
                }
                catch (Exception) { }
                if (ActiveMissionList[Mission].FactionContact == null)
                {
                    //  GenerateFactionContact(Mission.Department, Mission.Faction);

                    ActiveMissionList[Mission].FactionContact    = FactionContacts[FactionContacts.Count - 1].FactionContact;
                    ActiveMissionList[Mission].ContactRole       = FactionContacts[FactionContacts.Count - 1].ContactRole;
                    ActiveMissionList[Mission].WatsonVoice       = FactionContacts[FactionContacts.Count - 1].WatsonVoice;
                    ActiveMissionList[Mission].WatsonType        = FactionContacts[FactionContacts.Count - 1].WatsonType;
                    ActiveMissionList[Mission].WatsonPitch       = FactionContacts[FactionContacts.Count - 1].WatsonPitch;
                    ActiveMissionList[Mission].WatsonPitch_Range = FactionContacts[FactionContacts.Count - 1].WatsonPitch_Range;
                    ActiveMissionList[Mission].WatsonRate        = FactionContacts[FactionContacts.Count - 1].WatsonRate;
                    ActiveMissionList[Mission].WatsonBreathiness = FactionContacts[FactionContacts.Count - 1].WatsonBreathiness;
                    ActiveMissionList[Mission].WatsonTension     = FactionContacts[FactionContacts.Count - 1].WatsonTension;
                    ActiveMissionList[Mission].WatsonStrength    = FactionContacts[FactionContacts.Count - 1].WatsonStrength;
                }

                story = story.Replace("-RNG name-", ActiveMissionList[Mission].FactionContact);
                story = story.Replace("-employing faction-", ActiveMissionList[Mission].Faction);
                story = story.Replace("-RNG role-", ActiveMissionList[Mission].ContactRole + ActiveMissionList[Mission].Department);

                ActiveMissionList[Mission].Story = story;
            }

            MissionListDisplay.GetComponent <Text>().text = MissionListDisplay.GetComponent <Text>().text + ActiveMissionList[Mission].type + " " + ActiveMissionList[Mission].Target + "\n";
        }
    }