Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
    public override void Info(object obj)
    {
        societyData = (SocietyData)obj;


        joinBtn.gameObject.SetActive(true);
        intheapplication.gameObject.SetActive(false);
        joinBtn.onClick = OnJoinClick;
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    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);
    }
Esempio n. 5
0
 protected override void SetUI(params object[] uiParams)
 {
     societyData = (SocietyData)uiParams[0];
     base.SetUI();
 }
Esempio n. 6
0
 public void SetData(SocietyData data)
 {
     societyData = data;
 }
Esempio n. 7
0
    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);
    }
Esempio n. 8
0
        /// <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);
        }