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(); }
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"; } }