Пример #1
0
        public static void InitializeWeatherData(string filename)
        {
            using (var proxy = new TextReaderProxy(new StreamReader(filename)))
            {
                while (!proxy.EndOfStream)
                {
                    var line  = proxy.ReadLine().TrimEnd('~');
                    var words = line.Split(',');

                    var hemisphere = EnumerationExtensions.GetEnum <HemisphereTypes>(words[0]
                                                                                     .EqualsIgnoreCase("north") ? 0 : 1);
                    var season  = EnumerationExtensions.GetEnum <SeasonTypes>(words[1]);
                    var climate = EnumerationExtensions.GetEnum <ClimateTypes>(words[2]);

                    var data = new WeatherRangeData(hemisphere, season, climate);

                    // 3/4 = Temperature Lo/HI
                    // 5/6 = Pressure Lo/HI
                    // 7/8 = CloudCover Lo/Hi
                    // 9/10 = Humidity Lo/Hi
                    // 11/12 = Precipitation Lo/HI
                    // 13/14 = Energy Lo/HI
                    // 15/16 = WindSpeed X Lo/HI
                    // 17/18 = WindSpeed Y Lo/HI

                    WeatherConstants.WeatherData.Add(data);
                }
            }
        }
Пример #2
0
        private static int AddBanDescription(PlayerInstance ch, string arg1, string arg2, int duration, BanTypes type)
        {
            var ban = ch.DestinationBuffer.CastAs <BanData>();

            if (ban == null)
            {
                LogManager.Instance.Bug("Null DestinationBuffer for character {0}", ch.Name);
                ch.SubState = CharacterSubStates.None;
                return(0);
            }

            if (!ban.Note.IsNullOrWhitespace())
            {
                ban.Note = string.Empty;
            }

            //ban.Note = build.copy_buffer(ch);
            //build.stop_editing(ch);

            ch.SubState = EnumerationExtensions.GetEnum <CharacterSubStates>(ch.tempnum);
            BanManager.Instance.Repository.Add(ban);

            if (ban.Duration > 0)
            {
                ch.Printf("{0} is banned for {1} days.\r\n", ban.Name, ban.Duration / 86400);
            }
            else
            {
                ch.Printf("{0} is banned forever.\r\n", ban.Name);
            }

            return(1);
        }
        public static void SetExtraFlags(this ObjectTemplate template)
        {
            var words = template.Flags.Split(' ');

            foreach (var word in words)
            {
                template.ExtraFlags.SetBit((int)EnumerationExtensions.GetEnum <ItemExtraFlags>(word));
            }
        }
Пример #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <param name="name"></param>
        /// <param name="data"></param>
        /// <param name="def"></param>
        public Channel(long id, string name, DictionaryAtom data, Definition def)
            : base(id, name, def)
        {
            MemberRepository = new ChannelMemberRepository();

            Data        = data;
            OwnerId     = data.GetInt("OwnerID");
            ChannelType = EnumerationExtensions.GetEnum <Globals.ChannelTypes>(data.GetInt("ChannelTypeID"));
            Bits        = data.GetInt("Bits");
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static Globals.ElementTypes GetRight(this Globals.ElementTypes value)
        {
            var vals = value.GetExtraData().Split(':', ';');

            //Validation.Validate<InvalidDataException>(vals.All(x => !string.IsNullOrWhiteSpace(x)), ErrorResources.ERR_NULL_EXTRA_DATA, value.GetName());
            //Validation.Validate<InvalidDataException>(vals.Length >= 1, ErrorResources.ERR_NULL_EXTRA_DATA,
            //                                          value.GetName());

            return(EnumerationExtensions.GetEnum <Globals.ElementTypes>(Convert.ToInt32(vals[2]) - 1));
        }
Пример #6
0
 public void SetType(string type)
 {
     try
     {
         Type = EnumerationExtensions.GetEnum <Globals.SpawnTypes>(type);
     }
     catch (ArgumentException)
     {
         Type = Globals.SpawnTypes.None;
     }
 }
        public void GetEnumTest()
        {
            var result = EnumerationExtensions.GetEnum <EnumTest>("Test");

            result.Should().Be(EnumTest.Test);

            EnumTest.Test.GetName().Should().Be("Test");
            EnumTest.Test.GetValue().Should().Be(1);
            EnumTest.Test.GetShortName().Should().Be("Testing");
            EnumTest.Test.GetName().Should().Be("Test");
        }
Пример #8
0
        /// <summary>
        /// Variable $W, long name of the wear location
        /// </summary>
        private string WearLocationLongName(ReportData data)
        {
            if (data.IsNull())
            {
                throw new ArgumentNullException(nameof(data), ErrorResources.ERR_NULL_PARAMETER);
            }

            var loc = data.IndirectObject as string;

            return(EnumerationExtensions.GetEnum <Globals.WearLocations>(loc).GetExtraData());
        }
Пример #9
0
        public static int LoadSystemFilesFromConfig()
        {
            var section    = (SystemDataConfigurationSection)ConfigurationManager.GetSection("SystemDataSection");
            var collection = section.SystemFiles;

            foreach (SystemFileElement element in collection)
            {
                var fileType = EnumerationExtensions.GetEnum <SystemFileTypes>(element.Name);
                SystemFiles.Add(fileType, new KeyValuePair <string, bool>(element.Filename, element.UseSystemFolder));
            }

            return(SystemFiles.Count);
        }
Пример #10
0
        public static int LoadSystemDirectoriesFromConfig(string path)
        {
            var section    = (SystemDataConfigurationSection)ConfigurationManager.GetSection("SystemDataSection");
            var collection = section.SystemDirectories;

            foreach (SystemDirectoryElement element in collection)
            {
                var dirType = EnumerationExtensions.GetEnum <SystemDirectoryTypes>(element.Name);
                SystemDirectories.Add(dirType, path + "\\" + element.Path);
            }

            return(SystemDirectories.Count);
        }
Пример #11
0
        public void OpenTab(EditorBrowseInfo browseInfo, bool openCopy, bool makeDirty)
        {
            if (browseInfo == null)
            {
                throw new ArgumentNullException(nameof(browseInfo), Resources.NullParameterErrorMessage);
            }

            TabPage page = null;

            // If we are not opening a copy, always create a new page and do not use an already open page.
            if (!openCopy)
            {
                page = FindTab(browseInfo.SystemType, browseInfo.Id);
            }

            if (page != null)
            {
                tabContent.SelectedTab = page;
            }
            else
            {
                var builder = EditorFactory.Builders[EnumerationExtensions.GetEnum <SystemTypes>((int)browseInfo.SystemType)];
                if (!builder.HasEditor())
                {
                    return;
                }

                // Create a new edit control based on the selected node
                var editControl =
                    EditorFactory.Create(EnumerationExtensions.GetEnum <SystemTypes>((int)browseInfo.SystemType),
                                         browseInfo.ClassId);

                // Initialize the new control with the content that was dclicked
                editControl.InitContent(browseInfo.Id);
                var tabName = editControl.ControlName;
                if (openCopy)
                {
                    editControl.MakeCopy();
                    tabName = "*" + editControl.ControlName + "*";
                }
                else if (makeDirty)
                {
                    editControl.MakeDirty();
                    tabName = "*" + editControl.ControlName + "*";
                }

                tabName = $"[{editControl.Id}] {tabName}";

                CreateContentTab(tabName, editControl);
            }
        }
Пример #12
0
 public static ExitData EXIT(Instance instance, int door)
 {
     if (instance is ObjectInstance)
     {
         var obj = instance as ObjectInstance;
         return(obj.InRoom.GetExit(EnumerationExtensions.GetEnum <DirectionTypes>(door)));
     }
     if (instance is CharacterInstance)
     {
         var ch = instance as CharacterInstance;
         return(ch.CurrentRoom.GetExit(EnumerationExtensions.GetEnum <DirectionTypes>(door)));
     }
     return(null);
 }
Пример #13
0
        public static void LoadSystemDirectoriesFromDataFile(string path)
        {
            using (var proxy = new TextReaderProxy(new StreamReader(path + "\\SystemDirectories.txt")))
            {
                while (!proxy.EndOfStream)
                {
                    var line  = proxy.ReadLine().TrimEnd('~');
                    var words = line.Split(',');

                    var dirType = EnumerationExtensions.GetEnum <SystemDirectoryTypes>(words[0]);
                    SystemDirectories.Add(dirType, path + "\\" + words[1]);
                }
            }
        }
Пример #14
0
        public static RaceData LuaCreateRace(string name, int type)
        {
            var newRace = new RaceData(_dbManager.GenerateNewId <RaceData>(), name)
            {
                Type = EnumerationExtensions.GetEnum <RaceTypes>(type)
            };

            _luaManager.Proxy.CreateTable("race");
            AddLastObject(newRace);
            _dbManager.AddToRepository(newRace);

            _logManager.Boot("Race '{0}' created", name);
            return(newRace);
        }
Пример #15
0
        public static ClassData LuaCreateClass(string name, int type)
        {
            var newClass = new ClassData(_dbManager.GenerateNewId <ClassData>(), name)
            {
                Type = EnumerationExtensions.GetEnum <ClassTypes>(type)
            };

            _luaManager.Proxy.CreateTable("class");
            AddLastObject(newClass);
            _dbManager.AddToRepository(newClass);

            _logManager.Boot("Class '{0}' created", name);
            return(newClass);
        }
Пример #16
0
        public static void InitializeWeatherMessages(string filename)
        {
            using (var proxy = new TextReaderProxy(new StreamReader(filename)))
            {
                IEnumerable <TextSection> sections = proxy.ReadSections(new[] { "#" }, null, null, "#END");
                foreach (var section in sections)
                {
                    var lines = new List <string>();
                    section.Lines.ToList().ForEach(x => lines.Add(x.TrimEnd('~')));

                    WeatherMessages.Add(EnumerationExtensions.GetEnum <PrecipitationTypes>(section.Header), lines);
                }
            }
        }
Пример #17
0
        public static void LoadSystemFilesFromDataFile(string path)
        {
            using (var proxy = new TextReaderProxy(new StreamReader(path + "\\SystemFiles.txt")))
            {
                while (!proxy.EndOfStream)
                {
                    var line  = proxy.ReadLine().TrimEnd('~');
                    var words = line.Split(',');

                    var fileType           = EnumerationExtensions.GetEnum <SystemFileTypes>(words[0]);
                    var useSystemDirectory = Convert.ToBoolean(BooleanConstants.ContainsIgnoreCase(words[2]));

                    SystemFiles.Add(fileType, new KeyValuePair <string, bool>(words[1], useSystemDirectory));
                }
            }
        }
Пример #18
0
        private static void RaiseVictimLevel(CharacterInstance ch, CharacterInstance victim, int level)
        {
            ch.Printf("Raising %s from level %d to level %d!", victim.Name, victim.Level, level);
            if (victim.Level >= LevelConstants.AvatarLevel)
            {
                victim.SetColor(ATTypes.AT_WHITE);
                comm.act(ATTypes.AT_IMMORT, "$n makes some arcane gestures with $s hands, then points $s finger at you!",
                         ch, null, victim, ToTypes.Victim);
                comm.act(ATTypes.AT_IMMORT, "$n makes some arcane gestures with $s hands, then points $s finger at $N!",
                         ch, null, victim, ToTypes.NotVictim);
                victim.SetColor(ATTypes.AT_WHITE);
                victim.SendTo("You suddenly feel very strange...");
                victim.SetColor(ATTypes.AT_LBLUE);
            }

            try
            {
                var immortalType = EnumerationExtensions.GetEnum <ImmortalTypes>(level);

                var attrib = Common.EnumerationExtensions.GetAttribute <ImmortalHelpCategoryAttribute>(immortalType);
                if (attrib != null)
                {
                    Help.do_help(victim, attrib.Value);
                }
                else
                {
                    victim.SendTo("The gods feel fit to raise your level!");
                }

                if (immortalType != ImmortalTypes.Immortal)
                {
                    return;
                }

                victim.SetColor(ATTypes.AT_WHITE);
                victim.SendTo("You awake... all your possessions are gone.");
                while (victim.Carrying.Any())
                {
                    var objInstance = victim.Carrying.FirstOrDefault();
                    objInstance?.Extract();
                }
            }
            catch (ArgumentException)
            {
                victim.SendTo("The gods feel fit to raise your level!");
            }
        }
Пример #19
0
        public static CommandData LuaCreateCommand(string name, string function, int position, int level, int log,
                                                   int flags)
        {
            var newCommand = new CommandData(_dbManager.GenerateNewId <CommandData>(), name)
            {
                Flags        = flags,
                Position     = position,
                Level        = level,
                Log          = EnumerationExtensions.GetEnum <LogAction>(log),
                FunctionName = function
            };

            newCommand.Position = newCommand.ModifiedPosition;

            _luaManager.Proxy.CreateTable("command");
            AddLastObject(newCommand);
            _dbManager.AddToRepository(newCommand);

            _logManager.Boot("Command '{0}' created", name);
            return(newCommand);
        }
Пример #20
0
        public static string GetSystemFile(string file)
        {
            var fileType = EnumerationExtensions.GetEnum <SystemFileTypes>(file);

            return(GetSystemFile(fileType));
        }
        public void GetEnumStringInvalidTest()
        {
            Action act = () => EnumerationExtensions.GetEnum <EnumTest>("Blah");

            act.Should().Throw <ArgumentException>();
        }
        public void GetEnumStringTest()
        {
            var result = EnumerationExtensions.GetEnum <EnumTest>("Test1");

            result.Should().Be(EnumTest.Test1);
        }
        public void GetEnumIntTest()
        {
            var result = EnumerationExtensions.GetEnum <EnumTest>(1024);

            result.Should().Be(EnumTest.Test1);
        }
Пример #24
0
        public void Load()
        {
            try
            {
                if (!_dbContext.Clans.Any())
                {
                    return;
                }

                foreach (DAL.Models.Clan clan in _dbContext.Clans)
                {
                    var newClan = new ClanData(clan.Id, clan.Name);
                    newClan.Description = clan.Description;
                    newClan.Board       = clan.BoardId;
                    newClan.ClanType    = EnumerationExtensions.GetEnum <ClanTypes>(clan.ClanType);
                    newClan.Motto       = clan.Motto;
                    newClan.Deity       = clan.DeityName;
                    newClan.Badge       = clan.Badge;
                    newClan.RecallRoom  = clan.RecallRoomId;
                    newClan.StoreRoom   = clan.StoreRoomId;

                    var clanStats = clan.Stats;
                    newClan.PvEKills       = clan.Stats.PvE_Kills;
                    newClan.PvEDeaths      = clan.Stats.PvE_Deaths;
                    newClan.IllegalPvPKill = clan.Stats.Illegal_PvP_Kills;
                    newClan.Score          = clan.Stats.Score;
                    newClan.Favour         = clan.Stats.Favour;
                    newClan.Strikes        = clan.Stats.Strikes;
                    newClan.MemberLimit    = clan.Stats.MemberLimit;
                    newClan.Alignment      = clan.Stats.Alignment;

                    var members = new List <RosterData>();
                    foreach (DAL.Models.ClanMember clanMember in clan.Members)
                    {
                        var newMember = new RosterData();
                        newMember.Name   = clanMember.Name;
                        newMember.Joined = clanMember.Joined;
                        newMember.Class  = clanMember.ClassId;
                        newMember.Level  = clanMember.Level;
                        newMember.Kills  = clanMember.Kills;
                        newMember.Deaths = clanMember.Deaths;
                        members.Add(newMember);
                    }
                    newClan.Members = members;

                    newClan.LeaderRank = clan.Ranks.First(x => x.RankType == (int)ClanRanks.Leader).RankName;
                    newClan.Leader     = clan.Members.First(x => x.ClanRank == (int)ClanRanks.Leader).Name;

                    newClan.NumberOneRank = clan.Ranks.First(x => x.RankType == (int)ClanRanks.NumberOne).RankName;
                    var member = clan.Members.FirstOrDefault(x => x.ClanRank == (int)ClanRanks.NumberOne);
                    newClan.NumberOne = member == null ? string.Empty : member.Name;

                    newClan.NumberTwoRank = clan.Ranks.First(x => x.RankType == (int)ClanRanks.NumberTwo).RankName;
                    member            = clan.Members.FirstOrDefault(x => x.ClanRank == (int)ClanRanks.NumberTwo);
                    newClan.NumberTwo = member == null ? string.Empty : member.Name;

                    newClan.ClanObjects = clan.Items.Select(x => x.Id);

                    Add(newClan);
                }

                _logManager.Boot("Loaded {0} Clans", Clans.Count());
            }
            catch (DbException ex)
            {
                _logManager.Error(ex);
                throw;
            }
        }
Пример #25
0
        public static string GetSystemDirectory(string directory)
        {
            var dirType = EnumerationExtensions.GetEnum <SystemDirectoryTypes>(directory);

            return(GetSystemDirectory(dirType));
        }