Exemplo n.º 1
0
        private void OnCreateExpansion(Expansions response, Dictionary <string, object> customData)
        {
            Log.Debug("TestDiscovery.OnCreateExpansion()", "Discovery - create expansion: {0}", customData["json"].ToString());
            Test(response != null);

            _createExpansionTested = true;
        }
Exemplo n.º 2
0
        public void Unload()
        {
            Log.Info(Log.LogSource.PoxDB, "Database.Unload() called");
            if (!ready)
            {
                return;
            }
            // todo: what if it is loading?

            Champions.Clear();
            Abilities.Clear();
            Abilities_similar.Clear();
            Spells.Clear();
            Relics.Clear();
            Equipments.Clear();

            Factions.Clear();
            Races.Clear();
            Classes.Clear();
            Rarities.Clear();
            Expansions.Clear();
            AbilityNames.Clear();

            ready = false;
        }
Exemplo n.º 3
0
 public void OnWarheadStart(WarheadStartEvent ev)
 {
     if (!IsAutoWarheadStart)
     {
         Expansions.Broadcast(Configs.BroadcastTime, Configs.WarheadStart);
     }
 }
Exemplo n.º 4
0
        private void OnListExpansions(Expansions response, Dictionary <string, object> customData)
        {
            Log.Debug("TestDiscovery.OnListExpansions()", "Discovery - list expansions: {0}", customData["json"].ToString());
            Test(response != null);

            _listExpansionsTested = true;
        }
Exemplo n.º 5
0
 public void OnRoundStart()
 {
     IsAutoWarheadStart = false;
     Timing.RunCoroutine(AutoWarheadSystem());
     Cassie.CassieMessage($"WARNING THE AUTOMATIC WARHEAD SYSTEM START IN {Configs.StartTime} MINUTES", true, true);
     Expansions.Broadcast(Configs.BroadcastTime, Configs.getRoundStart());
 }
Exemplo n.º 6
0
 /// <summary>
 /// Returns the object describing the passed Expansion, or Nil if it is not known
 /// </summary>
 /// <param name="exp"></param>
 /// <returns>Nil will be returned, if the passed Expansion is not yet defined. If it is just not installed on
 /// the users System, a valid object will be returned, but the <see cref="ExoansionItem.Exists"/> property
 /// returns false.</returns>
 public ExpansionItem GetExpansion(Expansions exp)
 {
     if (!map.ContainsKey(exp))
     {
         return(Nil);
     }
     return(map[exp]);
 }
Exemplo n.º 7
0
 private static bool IsExpansionInstalled(Expansions Expansion)
 {
     if (References.gameCollection.Games.Where(c => c.Expansion == Expansion).Any())
     {
         return(true);
     }
     return(false);
 }
Exemplo n.º 8
0
        public static IEnumerable <Location> FindLocation(string needle, Expansions expansion)
        {
            needle = needle.Sanitize();

            var locations = Locations.Where(x => x.IsMatch(needle, expansion));
            var exact     = locations.FirstOrDefault(x => x.IsMatch(needle, expansion, true));

            return(exact?.Yield() ?? locations);
        }
Exemplo n.º 9
0
        public static IEnumerable <Location> FindTrigger(string needle, Expansions expansion)
        {
            needle = needle.Sanitize();

            var triggers = Triggers.Values.Where(x => x.IsMatch(needle, expansion) && !Continents.Contains(x.Map));
            var exact    = triggers.FirstOrDefault(x => x.IsMatch(needle, expansion, true));

            return(exact?.Yield() ?? triggers);
        }
Exemplo n.º 10
0
        private Expansions ParseExpansion(List <Addon> addons)
        {
            Expansions expansion = new Expansions();

            foreach (Addon addon in addons)
            {
                expansion += (int)addon.Expansion;
            }
            return(expansion);
        }
Exemplo n.º 11
0
        public SandboxHost SandboxSelector()
        {
            // expansion selector
            Expansions expansion = UserInput(Expansions, "Select an Expansion");

            // sandbox selector
            var sandboxes = Sandboxes.FindAll(x => x.Expansion == expansion);

            return(UserInput(sandboxes, "Select a Sandbox", true) ?? SandboxSelector());
        }
Exemplo n.º 12
0
    public void Init(Expansions expansion, Language language)
    {
        if (_expansion == expansion && _language == language && _cardsMap.Count > 0)
        {
            return;
        }

        _expansion = expansion;
        _language  = language;
        LoadCards();
    }
Exemplo n.º 13
0
        public IEnumerator <float> AutoWarheadSystem()
        {
            yield return(Timing.WaitForSeconds(Configs.getStartTime()));

            if (!Map.IsNukeDetonated)
            {
                IsAutoWarheadStart = true;
                Map.StartNuke();
                Expansions.Broadcast(Configs.BroadcastTime, Configs.AutoWarheadStart);
            }
        }
Exemplo n.º 14
0
 public void OnWarheadCancel(WarheadCancelEvent ev)
 {
     if (IsAutoWarheadStart)
     {
         ev.Allow = false;
     }
     else
     {
         Expansions.Broadcast(Configs.BroadcastTime, Configs.WarheadCancel);
     }
 }
Exemplo n.º 15
0
        public Location(float x, float y, float z, float o, uint map, string description = "", Expansions expansion = Expansions.PreRelease)
        {
            X           = x;
            Y           = y;
            Z           = z;
            O           = o;
            Map         = map;
            Description = description;
            Expansion   = expansion;

            formattedDesc = description.Sanitize();
        }
        /// <inheritdoc />
        public RealmBuildInformation(Expansions expansion, byte majorVersion, byte minorVersion, short buildNumber)
        {
            if (!Enum.IsDefined(typeof(Expansions), expansion))
            {
                throw new ArgumentOutOfRangeException(nameof(expansion), "Value should be defined in the ExpansionType enum.");
            }

            ExpansionVersionId = (int)(expansion + 1);
            MajorVersion       = majorVersion;
            MinorVersion       = minorVersion;
            BuildNumber        = buildNumber;
        }
Exemplo n.º 17
0
        /// <summary>
        /// appends parameters for <see cref="Tweet"/> request
        /// </summary>
        /// <param name="parameters">list of parameters from expression tree</param>
        /// <param name="url">base url</param>
        /// <returns>base url + parameters</returns>
        Request BuildUrlParameters(Dictionary <string, string> parameters, string url)
        {
            var req       = new Request(BaseUrl + url);
            var urlParams = req.RequestParameters;

            if (parameters.ContainsKey(nameof(Ids)))
            {
                Ids = parameters[nameof(Ids)];
                urlParams.Add(new QueryParameter("ids", Ids.Replace(" ", "")));
            }
            else
            {
                throw new ArgumentException($"{nameof(Ids)} is required", nameof(Ids));
            }

            if (parameters.ContainsKey(nameof(Expansions)))
            {
                Expansions = parameters[nameof(Expansions)];
                urlParams.Add(new QueryParameter("expansions", Expansions.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(MediaFields)))
            {
                MediaFields = parameters[nameof(MediaFields)];
                urlParams.Add(new QueryParameter("media.fields", MediaFields.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(PlaceFields)))
            {
                PlaceFields = parameters[nameof(PlaceFields)];
                urlParams.Add(new QueryParameter("place.fields", PlaceFields.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(PollFields)))
            {
                PollFields = parameters[nameof(PollFields)];
                urlParams.Add(new QueryParameter("poll.fields", PollFields.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(TweetFields)))
            {
                TweetFields = parameters[nameof(TweetFields)];
                urlParams.Add(new QueryParameter("tweet.fields", TweetFields.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(UserFields)))
            {
                UserFields = parameters[nameof(UserFields)];
                urlParams.Add(new QueryParameter("user.fields", UserFields.Replace(" ", "")));
            }

            return(req);
        }
Exemplo n.º 18
0
        public IReadOnlyCollection <PacketCaptureTestEntry> BuildCaptureEntries(Expansions expacType, SerializerService serializer, IEnumerable <Type> typesToRegister)
        {
            List <PacketCaptureTestEntry> testSource = new List <PacketCaptureTestEntry>(500);

            //Do file loading first because it could fail
            //Then we need to populate the input source for the tests.
            string testPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "PacketCaptures", expacType.ToString());

            //Get every folder
            foreach (string dir in Directory.GetDirectories(testPath))
            {
                //Each directory should fit the form of OpCode name
                //Even though the below is a Path with the directory if we pretend it's a file we can easily get the last part of the path
                //which represents the opcode
                NetworkOperationCode code  = (NetworkOperationCode)Enum.Parse(typeof(NetworkOperationCode), Path.GetFileNameWithoutExtension(dir));
                string[]             files = null;

                try
                {
                    files = Directory.GetFiles(Path.Combine(testPath, dir));
                }
                catch (Exception ee)
                {
                    throw new InvalidOperationException($"Failed to load File: {Path.Combine(testPath, dir)} Exception: {ee.Message} Stack: {ee.StackTrace}");
                }

                //Now we want to load each capture.
                foreach (var cap in files)
                {
                    string filePath = Path.Combine(testPath, dir, cap);
                    //Captures should have a guid on the end of them
                    Guid guid = Guid.Parse(cap.Split('_').Last());

                    try
                    {
                        byte[] bytes = File.ReadAllBytes(filePath);

                        testSource.Add(new PacketCaptureTestEntry(code, bytes, Path.GetFileName(cap)));
                    }
                    catch (Exception e)
                    {
                        throw new InvalidOperationException($"Failed to open File: {filePath} Exception: {e.Message}", e);
                    }
                }
            }

            serializer.RegisterPolymorphicSerializer <AuthenticationClientPayload, AuthenticationClientPayload_Serializer>();
            serializer.RegisterPolymorphicSerializer <AuthenticationServerPayload, AuthenticationServerPayload_Serializer>();
            serializer.RegisterPolymorphicSerializer <GamePacketPayload, GamePacketPayload_Serializer>();

            return(testSource);
        }
Exemplo n.º 19
0
        /// <summary>
        /// Returns Currently Installed Expansions
        /// </summary>
        /// <returns></returns>
        public static Expansions GetInstalledExpansions()
        {
            Expansions expansions = new Expansions();

            foreach (Expansions expansion in Enum.GetValues(typeof(Expansions)))
            {
                if (IsExpansionInstalled(expansion))
                {
                    expansions |= expansion;
                }
            }
            return(expansions);
        }
Exemplo n.º 20
0
        /// <summary>
        /// Gets the expansion based on its name.
        /// </summary>
        /// <param name="expansionName">Name of the expansion in English with capitalized first letters.</param>
        /// <returns>Data row from the Expansions, use ExpansionsFields to get the names of the columns. Null in case the expansion is not found.</returns>
        public DataRow GetExpansionByName(string expansionName)
        {
            DataRow ret = Expansions.AsEnumerable().FirstOrDefault(
                r => r.Field <string>(ExpansionsFields.Name) == expansionName);

            if (ret != default)
            {
                return(ret);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 21
0
 public void Reset()
 {
     RenderData        = null;
     PostponedRenderer = null;
     this.Description  = "";
     this.Name         = "";
     this.Price        = 0;
     this.Category     = "";
     this.VertexCount  = 0;
     this.FaceCount    = 0;
     this.Image        = null;
     type = SimPe.Cache.PackageType.Undefined;
     exp  = Expansions.None;
     ClearGuidList();
 }
Exemplo n.º 22
0
        internal bool IsMatch(string needle, Expansions expansion, bool exact = false)
        {
            if (Expansion > expansion)
            {
                return(false);
            }

            if (exact)
            {
                return(formattedDesc.Equals(needle, StringComparison.OrdinalIgnoreCase));
            }
            else
            {
                return(formattedDesc.IndexOf(needle, StringComparison.OrdinalIgnoreCase) != -1);
            }
        }
Exemplo n.º 23
0
        private Expansions ParseExpansion(List <AddonData> addonDatas)
        {
            Expansions expansion = new Expansions();

            foreach (AddonData addonData in addonDatas)
            {
                if (addonData.Build.HasFlag(GameBuild.BattleForAzeroth_8_1_5) ||
                    addonData.Build.HasFlag(GameBuild.BattleForAzeroth_8_1_0) ||
                    addonData.Build.HasFlag(GameBuild.BattleForAzeroth_8_0_1))
                {
                    expansion |= Expansions.BattleForAzeroth;
                }
                if (addonData.Build.HasFlag(GameBuild.Legion_7_3_5) ||
                    addonData.Build.HasFlag(GameBuild.Legion_7_2_5) ||
                    addonData.Build.HasFlag(GameBuild.Legion_7_1_5) ||
                    addonData.Build.HasFlag(GameBuild.Legion_7_1_0) ||
                    addonData.Build.HasFlag(GameBuild.Legion_7_0_3))
                {
                    expansion |= Expansions.Legion;
                }
                if (addonData.Build.HasFlag(GameBuild.WarlordsOfDraenor_6_2_4))
                {
                    expansion |= Expansions.WarlordsOfDraenor;
                }
                if (addonData.Build.HasFlag(GameBuild.MistsOfPandaria_5_4_8))
                {
                    expansion |= Expansions.MistsOfPandaria;
                }
                if (addonData.Build.HasFlag(GameBuild.Cataclysm_4_3_4))
                {
                    expansion |= Expansions.Cataclysm;
                }
                if (addonData.Build.HasFlag(GameBuild.WrathOfTheLichKing_3_3_5))
                {
                    expansion |= Expansions.WrathOfTheLichKing;
                }
                if (addonData.Build.HasFlag(GameBuild.BurningCrusade_2_4_3))
                {
                    expansion |= Expansions.BurningCrusade;
                }
                if (addonData.Build.HasFlag(GameBuild.Vanilla_1_12))
                {
                    expansion |= Expansions.Vanilla;
                }
            }
            return(expansion);
        }
        /// <summary>
        /// appends parameters for Tweet request
        /// </summary>
        /// <param name="parameters">list of parameters from expression tree</param>
        /// <param name="url">base url</param>
        /// <returns>base url + parameters</returns>
        void BuildUrlParameters(Dictionary <string, string> parameters, IList <QueryParameter> urlParams)
        {
            if (parameters.ContainsKey(nameof(Expansions)))
            {
                Expansions = parameters[nameof(Expansions)];
                urlParams.Add(new QueryParameter("expansions", Expansions.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(MediaFields)))
            {
                MediaFields = parameters[nameof(MediaFields)];
                urlParams.Add(new QueryParameter("media.fields", MediaFields.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(PlaceFields)))
            {
                PlaceFields = parameters[nameof(PlaceFields)];
                urlParams.Add(new QueryParameter("place.fields", PlaceFields.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(PollFields)))
            {
                PollFields = parameters[nameof(PollFields)];
                urlParams.Add(new QueryParameter("poll.fields", PollFields.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(TweetFields)))
            {
                TweetFields = parameters[nameof(TweetFields)];
                urlParams.Add(new QueryParameter("tweet.fields", TweetFields.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(UserFields)))
            {
                UserFields = parameters[nameof(UserFields)];
                urlParams.Add(new QueryParameter("user.fields", UserFields.Replace(" ", "")));
            }

            if (parameters.ContainsKey(nameof(Ids)))
            {
                Ids = parameters[nameof(Ids)];
                urlParams.Add(new QueryParameter("ids", Ids.Replace(" ", "")));
            }
        }
Exemplo n.º 25
0
        public async Task LoadExpansionsAsync()
        {
            if (boardGame == null)
            {
                Debug.WriteLine("Attemted to load Board Game Expansions with no Board Game");
                return;
            }
            var bgExpansions = boardGame.BoardGameExpansions;

            if (bgExpansions == null || !bgExpansions.Any())
            {
                ExpansionsVisible = Visibility.Collapsed;
                return;
            }
            var expIds = bgExpansions.Where(bg => !bg.Inbound).Select(bg => bg.ObjectId);

            try
            {
                ObservableCollection <BoardGame> expansions = null;
                IsLoading = true;
                try
                {
                    expansions = new ObservableCollection <BoardGame>(await cache.BoardGamesFromIds(expIds));
                }
                finally
                {
                    IsLoading = false;
                }
                Expansions = expansions;
            }
            finally
            {
                if (Expansions == null || !Expansions.Any())
                {
                    ExpansionsVisible = Visibility.Collapsed;
                }
                else
                {
                    ExpansionsVisible = Visibility.Visible;
                }
            }
        }
Exemplo n.º 26
0
        /// Gets the expansion based on its ID.
        /// <param name="expansionID">ID of the expansion.</param>
        /// <returns>Data row from the Expansions, use ExpansionsFields to get the names of the columns. Null in case the expansion is not found.</returns>
        public DataRow GetExpansionByID(string expansionID)
        {
            DataRow ret = Expansions.AsEnumerable().FirstOrDefault(
                r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);

            if (ret != default)
            {
                return(ret);
            }
            else if (updateExpansionDatabase24hours()) // try again with up to date database
            {
                ret = Expansions.AsEnumerable().FirstOrDefault(
                    r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);
                if (ret != default)
                {
                    return(ret);
                }
            }
            return(null);
        }
Exemplo n.º 27
0
        /// Gets the expansion's English name based on the ID of the expansion.
        /// <param name="expansionID">ID of the expansion.</param>
        /// <returns>String with the ID or empty string if the expansion was not found.</returns>
        public string GetExpansionName(string expansionID)
        {
            DataRow ret = Expansions.AsEnumerable().FirstOrDefault(
                r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);

            if (ret != default)
            {
                return(ret[ExpansionsFields.Name].ToString());
            }
            else if (updateExpansionDatabase24hours()) // try again with up to date database
            {
                ret = Expansions.AsEnumerable().FirstOrDefault(
                    r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);
                if (ret != default)
                {
                    return(ret[ExpansionsFields.Name].ToString());
                }
            }
            return("");
        }
Exemplo n.º 28
0
        internal bool IsMatch(string needle, Expansions expansion, bool exact = false)
        {
            if (Expansion > expansion)
            {
                return(false);
            }

            if (string.IsNullOrEmpty(formattedDesc))
            {
                formattedDesc = Description.Sanitize();
            }

            if (exact)
            {
                return(formattedDesc.Equals(needle, StringComparison.OrdinalIgnoreCase));
            }
            else
            {
                return(formattedDesc.IndexOf(needle, StringComparison.OrdinalIgnoreCase) != -1);
            }
        }
Exemplo n.º 29
0
        /// <summary>
        /// Gets the expansion based on its ID.
        /// </summary>
        /// <param name="expansionID">ID of the expansion.</param>
        /// <returns>Data row from the Expansions, use ExpansionsFields to get the names of the columns. Null in case the expansion is not found.</returns>
        public DataRow GetExpansionByID(string expansionID)
        {
            DataRow ret = Expansions.AsEnumerable().FirstOrDefault(
                r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);

            if (ret != default)
            {
                return(ret);
            }
            else if ((DateTime.Now - File.GetLastWriteTime(@".\\mkmexpansions.csv")).TotalHours > 24)
            {
                MainView.Instance.LogMainWindow("Expansion id " + expansionID + " not found in local database, updating database...");
                UpdateDatabaseFiles();
                ret = Expansions.AsEnumerable().FirstOrDefault(
                    r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);
                if (ret != default)
                {
                    return(ret);
                }
            }
            return(null);
        }
Exemplo n.º 30
0
 // ! Already assumes all files are loaded, shows an error otherwise.
 private void loadExpansionDatabase()
 {
     if (MainView.Instance.Config.Games.Count > 0)
     {
         try
         {
             // Expansions will have all expansions of all games merged - this could theoretically make issues if there are
             // two expansions with the same name (each from a different game)
             Expansions = ConvertCSVtoDataTable(@".\\ExpansionsDatabase\\mkmexpansions_"
                                                + MainView.Instance.Config.Games[0].GameID + ".csv"); // initialize the database by the first game
             for (int i = 1; i < MainView.Instance.Config.Games.Count; i++)
             {
                 Expansions.Merge(ConvertCSVtoDataTable(@".\\ExpansionsDatabase\\mkmexpansions_"
                                                        + MainView.Instance.Config.Games[i].GameID + ".csv"));
             }
         }
         catch (Exception eError)
         {
             LogError("parsing expansion database", eError.Message, true);
         }
     }
 }