/// <summary> /// Default constructor that requires a path to be passed in /// </summary> /// <param name="path"></param> public Creation(string path) { _universePath = path; ShipData = LoadData <ShipData>(@"Data/shipData.json"); _worldInfo = LoadData <WorldInfo>(@"Data/worldTags.json"); _starData = LoadData <StarData>(@"Data/starData.json"); _charData = LoadData <CharData>(@"Data/characterData.json"); PoiData = LoadData <PoiData>(@"Data/pointsOfInterest.json"); ProblemData = LoadData <ProblemData>(@"Data/problemData.json"); // SocietyData = LoadData<SocietyData>(@"Data/societyData.json"); SocietyData = null; AlienData = LoadData <AlienData>(@"Data/alienData.json"); MaleFirstNameGeneration = new NameGeneration(); MaleFirstNameGeneration.GenerateChain(_charData.MaleName); FemaleFirstNameGeneration = new NameGeneration(); FemaleFirstNameGeneration.GenerateChain(_charData.FemaleName); StarNameGeneration = new NameGeneration(); StarNameGeneration.GenerateChain(_starData.Stars); PlanetNameGeneration = new NameGeneration(); PlanetNameGeneration.GenerateChain(_starData.Planets); // LastNameGeneration = new NameGeneration(); // LastNameGeneration.GenerateChain(CharData.LastName); CharacterNameGenerations.Add(MaleFirstNameGeneration); CharacterNameGenerations.Add(FemaleFirstNameGeneration); // CharacterNameGenerations.Add(LastNameGeneration); }
public override void Info(object obj) { societyData = (SocietyData)obj; joinBtn.gameObject.SetActive(true); intheapplication.gameObject.SetActive(false); joinBtn.onClick = OnJoinClick; }
public bool SearchSocietyListResult(CReadPacket packet) { Debug.Log("搜索公会列表结果"); Dictionary <string, object> data = packet.data; int resolt = int.Parse(data["ret"].ToString()); object[] itemList = data["item"] as object[]; if (resolt == 0) { SocietyManager.Single().searchSocietyList.Clear(); if (itemList != null)//如果为空就是没搜索到 { for (int i = 0; i < itemList.Length; i++) { Dictionary <string, object> itemDataDic = itemList[i] as Dictionary <string, object>; if (itemDataDic != null) { SocietyData societyData = new SocietyData(); societyData.societyID = long.Parse(itemDataDic["ui"].ToString()); societyData.societyName = itemDataDic["un"].ToString(); societyData.societyManifesto = itemDataDic["mo"].ToString(); societyData.societyIcon = itemDataDic["ic"].ToString(); societyData.presidentId = long.Parse(itemDataDic["ci"].ToString()); societyData.presidentName = itemDataDic["cn"].ToString(); societyData.societyLevel = int.Parse(itemDataDic["lv"].ToString()); societyData.createTime = itemDataDic["ct"].ToString(); SocietyManager.Single().searchSocietyList.Add(societyData); } } } //if (Singleton<SceneManage>.Instance.Current == EnumSceneID.UI_MajorCity01) //{ // if (Control.GetGUI(GameLibrary.UINotJoinSocietyPanel).gameObject.activeSelf) // { // //刷新一下公会列表界面 // Debug.Log("刷新搜索列表.."); // UINotJoinSocietyPanel.Instance.RefreshData(1); // } //} } else { Debug.Log(string.Format("搜索公会列表失败:{0}", data["desc"].ToString())); //SocietyManager.Single().searchSocietyList.Clear(); //if (Singleton<SceneManage>.Instance.Current == EnumSceneID.UI_MajorCity01) //{ // if (Control.GetGUI(GameLibrary.UINotJoinSocietyPanel).gameObject.activeSelf) // { // //刷新一下公会列表界面 // Debug.Log("刷新搜索列表.."); // UINotJoinSocietyPanel.Instance.RefreshData(1); // } //} } return(true); }
public bool GetSocietyInfoResult(CReadPacket packet) { Debug.Log("获取某工会详细信息结果"); Dictionary <string, object> data = packet.data; int resolt = int.Parse(data["ret"].ToString()); if (resolt == 0) { SocietyData societyData = new SocietyData(); SocietyManager.Single().playerSocietyData.societyID = long.Parse(data["ui"].ToString()); SocietyManager.Single().playerSocietyData.societyName = data["un"].ToString(); SocietyManager.Single().playerSocietyData.societyManifesto = data["mo"].ToString(); SocietyManager.Single().playerSocietyData.societyIcon = data["ic"].ToString(); SocietyManager.Single().playerSocietyData.presidentId = long.Parse(data["ci"].ToString()); SocietyManager.Single().playerSocietyData.presidentName = data["cn"].ToString(); SocietyManager.Single().playerSocietyData.societyLevel = int.Parse(data["lv"].ToString()); SocietyManager.Single().playerSocietyData.createTime = data["ct"].ToString(); SocietyManager.Single().playerSocietyData.societyMaxCount = int.Parse(data["mp"].ToString()); SocietyManager.Single().playerSocietyData.societyCurrentCount = int.Parse(data["cp"].ToString()); //if (Singleton<SceneManage>.Instance.Current == EnumSceneID.UI_MajorCity01) //{ // if (Control.GetGUI(GameLibrary.UIHaveJoinSocietyPanel).gameObject.activeSelf) // { // UIHaveJoinSocietyPanel.Instance.SetSocietyInfo(); // } //} } else { Debug.Log(string.Format("获取某工会详细信息失败:{0}", data["desc"].ToString())); //UIPromptBox.Instance.ShowLabel(data["desc"].ToString()); Control.ShowGUI(UIPanleID.UIPromptBox, EnumOpenUIType.DefaultUIOrSecond, false, data["desc"].ToString()); } return(true); }
protected override void SetUI(params object[] uiParams) { societyData = (SocietyData)uiParams[0]; base.SetUI(); }
public void SetData(SocietyData data) { societyData = data; }
public bool SocietyListResult(CReadPacket packet) { Debug.Log("已创建公会列表结果"); Dictionary <string, object> data = packet.data; int resolt = int.Parse(data["ret"].ToString()); object[] itemList = data["item"] as object[]; if (resolt == 0) { SocietyManager.Single().societyList.Clear(); //SocietyManager.Single().playerApplicationSocietyList.Clear(); if (data.ContainsKey("auj")) { SocietyManager.Single().playerApplicationSocietyList = data["auj"] as int[]; //if (idarr!=null) //{ // if (idarr.Length > 0) // { // for (int j = 0; j < idarr.Length; j++) // { // SocietyManager.Single().playerApplicationSocietyList.Add(idarr[j]); // } // } //} } if (itemList != null) { for (int i = 0; i < itemList.Length; i++) { Dictionary <string, object> itemDataDic = itemList[i] as Dictionary <string, object>; if (itemDataDic != null) { SocietyData societyData = new SocietyData(); societyData.societyID = long.Parse(itemDataDic["ui"].ToString()); societyData.societyName = itemDataDic["un"].ToString(); societyData.societyManifesto = itemDataDic["mo"].ToString(); societyData.societyIcon = itemDataDic["ic"].ToString(); societyData.presidentId = long.Parse(itemDataDic["ci"].ToString()); societyData.presidentName = itemDataDic["cn"].ToString(); societyData.societyLevel = int.Parse(itemDataDic["lv"].ToString()); societyData.createTime = itemDataDic["ct"].ToString(); SocietyManager.Single().societyList.Add(societyData); } } } //if (Singleton<SceneManage>.Instance.Current == EnumSceneID.UI_MajorCity01) //{ // if (Control.GetGUI(GameLibrary.UINotJoinSocietyPanel).gameObject.activeSelf) // { // //刷新一下公会列表界面 // Debug.Log("刷新公会列表.."); // UINotJoinSocietyPanel.Instance.RefreshData(0); // } //} } else { Debug.Log(string.Format("获取已创建公会列表失败:{0}", data["desc"].ToString())); //UIPromptBox.Instance.ShowLabel(data["desc"].ToString()); Control.ShowGUI(UIPanleID.UIPromptBox, EnumOpenUIType.DefaultUIOrSecond, false, data["desc"].ToString()); } return(true); }
/// <summary> /// This function receives a Universe and a PlanetDefaultSettings to create planets based on /// specified information /// </summary> /// <param name="universe"></param> /// <param name="planetDefaultSettings"></param> /// <param name="worldInfo"></param> /// <param name="starData"></param> /// <param name="societyData"></param> /// <param name="nameGeneration"></param> /// <returns> /// The newly updated Universe /// </returns> public Universe AddPlanets(Universe universe, PlanetDefaultSettings planetDefaultSettings, WorldInfo worldInfo, StarData starData, SocietyData societyData, NameGeneration nameGeneration) { // Get the number of Planet Names from starData var planLen = starData.Planets.Count; // Iterate through each star and foreach (Star star in universe.Stars) { // Set the random number of Planets that will be created for a given Star var pMax = planetDefaultSettings.PlanetRange == null || planetDefaultSettings.PlanetRange.Length == 0 || planetDefaultSettings.PlanetRange[0] == 0 || planetDefaultSettings.PlanetRange[1] == 0 ? Rand.Next(1, 3) // Default Planet count is up-to 3 : Rand.Next(planetDefaultSettings.PlanetRange[0], planetDefaultSettings.PlanetRange[1] + 1); var pCount = 0; while (pCount < pMax) { var planet = new Planet { Society = new Society(), Ruler = new Ruler(), Ruled = new Ruled(), Flavor = new Flavor() }; // Generate the ID for the Planet IdGen.GenerateId(planet); // If that ID exists somewhere then re-roll it if (universe.Planets.Exists(a => a.Id == planet.Id)) { continue; } // Pick a random name out of the list of Planets planet.Name = Rand.Next(0, 4) == 2 ? nameGeneration.GenerateName() : starData.Planets[Rand.Next(0, planLen)]; // No planets can share a name if (universe.Planets.Exists(a => a.Name == planet.Name)) { continue; } // Set the Planet information from either a randomized value or specified information planet.StarId = star.Id; universe.Zones.Single(a => a.StarId == star.Id).Planets.Add(planet.Id); planet.FirstWorldTag = worldInfo.WorldTags[Rand.Next(0, 100)].Type; planet.SecondWorldTag = worldInfo.WorldTags[Rand.Next(0, 100)].Type; planet.Atmosphere = worldInfo.Atmospheres[Rand.Next(0, 6) + Rand.Next(0, 6)].Type; planet.Temperature = worldInfo.Temperatures[Rand.Next(0, 6) + Rand.Next(0, 6)].Type; planet.Biosphere = worldInfo.Biospheres[Rand.Next(0, 6) + Rand.Next(0, 6)].Type; planet.Population = worldInfo.Populations[Rand.Next(0, 6) + Rand.Next(0, 6)].Type; planet.TechLevel = worldInfo.TechLevels[Rand.Next(0, 6) + Rand.Next(0, 6)].Type; if (societyData != null) { // Set the Planet's society information planet.Society.PriorCulture = societyData.Societies.PriorCultures[Rand.Next(0, 6)]; planet.Society.OtherSociety = societyData.Societies.OtherSocieties[Rand.Next(0, 8)]; planet.Society.MainRemnant = societyData.Societies.MainRemnants[Rand.Next(0, 10)]; planet.Society.SocietyAge = societyData.Societies.SocietyAges[Rand.Next(0, 4)]; planet.Society.ImportantResource = societyData.Societies.ImportantResources[Rand.Next(0, 12)]; planet.Society.FoundingReason = societyData.Societies.FoundingReasons[Rand.Next(0, 20)]; // Set the Planet's Ruler planet.Ruler.GeneralSecurity = societyData.Rulers.GeneralSecurities[Rand.Next(0, 6)]; planet.Ruler.LegitimacySource = societyData.Rulers.LegitimacySources[Rand.Next(0, 8)]; planet.Ruler.MainRulerConflict = societyData.Rulers.MainRulerConflicts[Rand.Next(0, 10)]; planet.Ruler.RuleCompletion = societyData.Rulers.RuleCompletions[Rand.Next(0, 4)]; planet.Ruler.RuleForm = societyData.Rulers.RuleForms[Rand.Next(0, 12)]; planet.Ruler.MainPopConflict = societyData.Rulers.MainPopConflicts[Rand.Next(0, 20)]; // Set the Planet's Ruled planet.Ruled.Contentment = societyData.Ruled.Contentments[Rand.Next(0, 6)]; planet.Ruled.LastMajorThreat = societyData.Ruled.LastMajorThreats[Rand.Next(0, 8)]; planet.Ruled.Power = societyData.Ruled.Powers[Rand.Next(0, 10)]; planet.Ruled.Uniformity = societyData.Ruled.Uniformities[Rand.Next(0, 4)]; planet.Ruled.MainConflict = societyData.Ruled.MainConflicts[Rand.Next(0, 12)]; planet.Ruled.Trends = societyData.Ruled.Trends[Rand.Next(0, 20)]; // Set the Planet's Flavor planet.Flavor.BasicFlavor = societyData.Flavors.BasicFlavors[Rand.Next(0, 12)]; planet.Flavor.OutsiderTreatment = societyData.Flavors.OutsiderTreatments[Rand.Next(0, 6)]; planet.Flavor.PrimaryVirtue = societyData.Flavors.PrimaryVirtues[Rand.Next(0, 8)]; planet.Flavor.PrimaryVice = societyData.Flavors.PrimaryVices[Rand.Next(0, 10)]; planet.Flavor.XenophiliaDegree = societyData.Flavors.XenophiliaDegrees[Rand.Next(0, 4)]; planet.Flavor.PossiblePatron = societyData.Flavors.PossiblePatrons[Rand.Next(0, 12)]; planet.Flavor.Customs = societyData.Flavors.Customs[Rand.Next(0, 20)]; } // Set primary world if (pCount == 0) { planet.IsPrimary = true; } else { // Non-primary world information planet.Origin = worldInfo.OwOrigins[Rand.Next(0, 8)]; planet.Relationship = worldInfo.OwRelationships[Rand.Next(0, 8)]; planet.Contact = worldInfo.OwContacts[Rand.Next(0, 8)]; planet.IsPrimary = false; } // Add the Planet to the current Universe universe.Planets.Add(planet); pCount++; } } return(universe); }