Exemple #1
0
        private void CreateNation(string tag, string name, string creatorID)
        {
            var newGov = new Nation()
            {
                Tag = tag, Name = name
            };

            nations.Add(tag, newGov);
            newGov.AddMember(creatorID, Rank("DICTATOR"));
        }
Exemple #2
0
        public void LoadData()
        {
            nations.Clear();
            lookup.Clear();
            RankList.Clear();
            permissionList.Clear();
            var data = Interface.GetMod().DataFileSystem.GetDatafile(NationDataFilename);
            var settings = Interface.GetMod().DataFileSystem.GetDatafile(NationSettingsFilename);

            // Load Rank List
            if (settings["ranks"] != null)
            {
                var rankList = (List<object>)Convert.ChangeType(settings["ranks"], typeof(List<object>));
                foreach (var irank in rankList)
                {
                    RankList.Add((string)irank);
                }
            }

            // Load Permissions List
            if (settings["permissions"] != null)
            {
                var permissionData = (Dictionary<string, object>)Convert.ChangeType(settings["permissions"], typeof(Dictionary<string, object>));
                foreach (var ipermission in permissionData)
                {
                    var permitList = (List<object>)Convert.ChangeType(ipermission.Value, typeof(List<object>));
                    var newPermitList = new List<string>();
                    foreach (var permit in permitList) newPermitList.Add((string)permit);
                    permissionList.Add(ipermission.Key, newPermitList);
                }
            }
            else
            {

            }

            // Load Damage Scale Types Table
            if(settings["damageScales"] != null)
            {
                var damageScaleData = (Dictionary<string, object>)Convert.ChangeType(settings["damageScales"], typeof(Dictionary<string, object>));
                foreach(var attackerData in damageScaleData)
                {
                    var attackerRank = attackerData.Key;
                    var victimData = (Dictionary<string, object>)attackerData.Value;
                    var victims = new Dictionary<string, float>();
                    foreach(var victim in victimData)
                    {
                        var victimRank = victim.Key;
                        var damageScaleValue = (float) Convert.ChangeType(victim.Value, typeof(float));
                        victims.Add(victimRank, damageScaleValue);
                    }
                    damageScaleTable.Add(attackerRank, victims);
                }
            }
            else
            {

            }

            // Load Government Data
            if (data["governments"] != null)
            {
                var govsData = (Dictionary<string, object>)Convert.ChangeType(data["governments"], typeof(Dictionary<string, object>));
                foreach (var igov in govsData)
                {
                    var gov = (Dictionary<string, object>)igov.Value;
                    var tag = (string)igov.Key;
                    var name = (string)gov["name"];
                    var membersData = (Dictionary<string, object>)gov["members"];
                    var members = new Dictionary<string, string>();
                    foreach (var imember in membersData)
                    {
                        var memberID = (string)imember.Key;
                        var memberRank = (string)imember.Value;
                        members.Add(memberID, memberRank);
                    }
                    var guestsData = (List<object>)gov["guests"];
                    var guests = new List<string>();
                    foreach (var iguest in guestsData)
                    {
                        guests.Add(iguest.ToString());
                    }
                    var invitedsData = (List<object>)gov["inviteds"];
                    var inviteds = new List<string>();
                    foreach (var iinvited in invitedsData)
                    {
                        inviteds.Add(iinvited.ToString());
                    }
                    var newGov = new Nation() { Tag = tag, Name = name};
                    foreach (var m in members) newGov.AddMember(m.Key, m.Value);
                    newGov.Guests = guests;
                    newGov.Inviteds = inviteds;
                    nations.Add(tag, newGov);
                }
            }
            Puts("Successfully loaded (" + nations.Count + ") governments.");
        }
Exemple #3
0
 private void CreateNation(string tag, string name, string creatorID)
 {
     var newGov = new Nation() { Tag = tag, Name = name };
     nations.Add(tag, newGov);
     newGov.AddMember(creatorID, Rank("DICTATOR"));
 }
Exemple #4
0
        public void LoadData()
        {
            nations.Clear();
            lookup.Clear();
            RankList.Clear();
            permissionList.Clear();
            var data     = Interface.GetMod().DataFileSystem.GetDatafile(NationDataFilename);
            var settings = Interface.GetMod().DataFileSystem.GetDatafile(NationSettingsFilename);

            // Load Rank List
            if (settings["ranks"] != null)
            {
                var rankList = (List <object>)Convert.ChangeType(settings["ranks"], typeof(List <object>));
                foreach (var irank in rankList)
                {
                    RankList.Add((string)irank);
                }
            }

            // Load Permissions List
            if (settings["permissions"] != null)
            {
                var permissionData = (Dictionary <string, object>)Convert.ChangeType(settings["permissions"], typeof(Dictionary <string, object>));
                foreach (var ipermission in permissionData)
                {
                    var permitList    = (List <object>)Convert.ChangeType(ipermission.Value, typeof(List <object>));
                    var newPermitList = new List <string>();
                    foreach (var permit in permitList)
                    {
                        newPermitList.Add((string)permit);
                    }
                    permissionList.Add(ipermission.Key, newPermitList);
                }
            }
            else
            {
            }

            // Load Damage Scale Types Table
            if (settings["damageScales"] != null)
            {
                var damageScaleData = (Dictionary <string, object>)Convert.ChangeType(settings["damageScales"], typeof(Dictionary <string, object>));
                foreach (var attackerData in damageScaleData)
                {
                    var attackerRank = attackerData.Key;
                    var victimData   = (Dictionary <string, object>)attackerData.Value;
                    var victims      = new Dictionary <string, float>();
                    foreach (var victim in victimData)
                    {
                        var victimRank       = victim.Key;
                        var damageScaleValue = (float)Convert.ChangeType(victim.Value, typeof(float));
                        victims.Add(victimRank, damageScaleValue);
                    }
                    damageScaleTable.Add(attackerRank, victims);
                }
            }
            else
            {
            }

            // Load Government Data
            if (data["governments"] != null)
            {
                var govsData = (Dictionary <string, object>)Convert.ChangeType(data["governments"], typeof(Dictionary <string, object>));
                foreach (var igov in govsData)
                {
                    var gov         = (Dictionary <string, object>)igov.Value;
                    var tag         = (string)igov.Key;
                    var name        = (string)gov["name"];
                    var membersData = (Dictionary <string, object>)gov["members"];
                    var members     = new Dictionary <string, string>();
                    foreach (var imember in membersData)
                    {
                        var memberID   = (string)imember.Key;
                        var memberRank = (string)imember.Value;
                        members.Add(memberID, memberRank);
                    }
                    var guestsData = (List <object>)gov["guests"];
                    var guests     = new List <string>();
                    foreach (var iguest in guestsData)
                    {
                        guests.Add(iguest.ToString());
                    }
                    var invitedsData = (List <object>)gov["inviteds"];
                    var inviteds     = new List <string>();
                    foreach (var iinvited in invitedsData)
                    {
                        inviteds.Add(iinvited.ToString());
                    }
                    var newGov = new Nation()
                    {
                        Tag = tag, Name = name
                    };
                    foreach (var m in members)
                    {
                        newGov.AddMember(m.Key, m.Value);
                    }
                    newGov.Guests   = guests;
                    newGov.Inviteds = inviteds;
                    nations.Add(tag, newGov);
                }
            }
            Puts("Successfully loaded (" + nations.Count + ") governments.");
        }