Exemple #1
0
        private static double WeaponDamage(User.User player, bool offhand = false)
        {
            double             result  = 0.0d;
            List <Items.Iitem> weapons = player.Player.Equipment.GetWieldedWeapons();

            if (weapons.Count > 0)
            {
                Items.Iweapon weapon;
                if (!offhand)
                {
                    weapon = (Items.Iweapon)weapons.Where(w => w.WornOn.ToString().CamelCaseWord() == player.Player.MainHand.CamelCaseWord()).SingleOrDefault();
                }
                else
                {
                    weapon = (Items.Iweapon)weapons.Where(w => w.WornOn.ToString().CamelCaseWord() != player.Player.MainHand.CamelCaseWord()).SingleOrDefault();
                }

                result = RandomNumber.GetRandomNumber().NextNumber((int)weapon.CurrentMinDamage, (int)weapon.CurrentMaxDamage + 1);
            }
            else
            {
                result = 0.0d;
            }

            return(result);
        }
Exemple #2
0
        public List <string> GetObjectsInRoom(RoomObjects objectType, double percentage = 100)
        {
            List <string> result     = new List <string>();
            object        objectList = null;

            switch (objectType)
            {
            case RoomObjects.Players:
                objectList = players;
                break;

            case RoomObjects.Npcs:
                objectList = npcs;
                break;

            case RoomObjects.Items:
                objectList = items;
                break;

            default:
                break;
            }

            foreach (string id in (dynamic)objectList)
            {
                if (RandomNumber.GetRandomNumber().NextNumber(0, 100) <= percentage)
                {
                    result.Add(id);
                }
            }

            return(result);
        }
Exemple #3
0
        private void GetNumberBtn_Click(object sender, EventArgs e)
        {
            randomNumber           = RandomNumber.GetRandomNumber(1, 52);
            ShowNumberTextBox.Text = randomNumber.ToString();

            CheckNumberForConcurrence(randomNumber);
            CheckLinesForWin();
        }
Exemple #4
0
        internal async Task <T> SendRequestAsync <T>(MethodMessage methodMessage, int timeoutSeconds = 30)
            where T : ResponseMessageBase
        {
            int id = RandomNumber.GetRandomNumber(1, int.MaxValue);

            methodMessage.Id      = id;
            methodMessage.JsonRpc = "2.0";

            string serialization = JsonConvert.SerializeObject(methodMessage, Formatting.None);
            string resultStr;

            using (var handler = new HttpClientHandler())
            {
                if (!string.IsNullOrWhiteSpace(_xbmc.Login))
                {
                    handler.Credentials = new NetworkCredential(_xbmc.Login, _xbmc.Password);
                }

                var httpClient = new HttpClient(handler)
                {
                    Timeout = TimeSpan.FromSeconds(timeoutSeconds)
                };

                var request = new HttpRequestMessage(HttpMethod.Post, _xbmc.BaseUrl)
                {
                    Content = new StringContent(serialization, Encoding.UTF8, "application/json")
                };

                try
                {
                    HttpResponseMessage response = await httpClient.SendAsync(request);

                    response.EnsureSuccessStatusCode();
                    resultStr = await response.Content.ReadAsStringAsync();
                }
                catch (TaskCanceledException)
                {
                    throw new TimeoutException(methodMessage.Method);
                }
            }

            var result = JsonConvert.DeserializeObject <T>(resultStr);

            if (result.Id != methodMessage.Id)
            {
                throw new RequestException(methodMessage.Method, "The Id received does not match the one that was sent.");
            }

            if (result.Error != null)
            {
                throw new RequestException(methodMessage.Method, result.Error.ToString());
            }

            return(result);
        }
Exemple #5
0
        internal async Task <T> SendRequestAsync <T>(MethodMessage methodMessage)
            where T : ResponseMessageBase
        {
            int id = RandomNumber.GetRandomNumber(1, int.MaxValue);

            methodMessage.Id      = id;
            methodMessage.JsonRpc = "2.0";

            string serialization = JsonConvert.SerializeObject(methodMessage, Formatting.None,
                                                               new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            });

            using (var client = new WebClient()
            {
                Encoding = System.Text.Encoding.UTF8,
                Credentials = new NetworkCredential(_xbmc.Login, _xbmc.Password)
            })
            {
                var requestTask = client.UploadStringTaskAsync(_xbmc.BaseUrl, serialization);
                await Task.WhenAny(requestTask, Task.Delay(DEFAULT_TIMEOUT));

                if (requestTask.IsCompleted)
                {
                    if (requestTask.IsFaulted)
                    {
                        throw requestTask.Exception.GetBaseException();
                    }

                    var result = JsonConvert.DeserializeObject <T>(requestTask.Result);

                    if (result.Id != methodMessage.Id)
                    {
                        throw new RequestException(methodMessage.Method, "The Id received does not match the one that was sent.");
                    }

                    if (result.Error != null)
                    {
                        throw new RequestException(methodMessage.Method, result.Error.ToString());
                    }

                    return(result);
                }
                else
                {
                    throw new WebException("Request timeout", WebExceptionStatus.Timeout);
                }
            }
        }
    public static void InitializeHex()
    {
        RandomNumber randomNumber = new RandomNumber(1, _hexList.Count);

        for (int i = 0; i < _hexList.Count; i++)
        {
            GameObject go = _hexList.ElementAt(i);

            go.GetComponentInChildren <Text> ().text = "" + i;

            if (Random.Range(0, 8) < 5)
            {
                go.GetComponentInChildren <Text> ().text = randomNumber.GetRandomNumber().ToString();
            }
            else
            {
                go.GetComponentInChildren <Text> ().text = "";
            }

            go.GetComponentInChildren <Text> ().enabled = false;
        }
    }