Exemplo n.º 1
0
        /// <summary>
        /// Реализует управление базой
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public string BaseAction(BaseAction obj)
        {
            var result = Tools.CheckAuthedInput(obj);

            if (result != "passed")
            {
                return(result);
            }

            var mapobj = Tools.SmartMapper <BaseAction, gamelogic.Models.BaseAction>(obj);

            try
            {
                switch (mapobj.action)
                {
                case "upgrade":
                    result = BaseManager.UpgradeBase(mapobj);
                    break;

                case "repair":
                    result = BaseManager.RepairBase(mapobj);
                    break;

                case "build":
                    result = BaseManager.BuildStructure(mapobj);
                    break;

                case "upgradestructure":
                    result = BaseManager.UpgradeStructure(mapobj);
                    break;

                case "makeunit":
                    result = BaseManager.MakeUnit(mapobj);
                    break;

                default:
                    result = "wrongaction";
                    break;
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine($"Исключение: {ex.Message}");
                System.Diagnostics.Debug.WriteLine($"Метод: {ex.TargetSite}");
                System.Diagnostics.Debug.WriteLine($"Трассировка стека: {ex.StackTrace}");
                result = ex.Message;
                ProceedActions.Log("Exception", $"Исключение: {ex.Message}, функция BaseAction");
            }
            return(result);
        }
Exemplo n.º 2
0
        // >> auth-n-player section
        /// <summary>
        /// Управляет авторизацией и регистрацией пользователей
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public ReturnAuthData SendAuthData(AuthData data)
        {
            var result = new ReturnAuthData {
                success = false
            };

            if (data == null)
            {
                result.message = "nodatareceived";
                return(result);
            }
            if (data.username == null || data.password == null || data.username.Length < 3 ||
                data.password.Length < 3 || data.username.Length > 20 || data.password.Length > 20)
            {
                result.message = "wrongdatareceived";
                return(result);
            }
            const string pattern = @"[^a-zA-ZА-Яа-я0-9!№%*@#$^]";

            if (Regex.IsMatch(data.username, pattern))
            {
                result.message = "wrongdatareceived";
                return(result);
            }
            try
            {
                return(Tools.SmartMapper <gamelogic.Models.ReturnAuthData, ReturnAuthData>(
                           AccountManager.AuthClient(
                               Tools.SmartMapper <AuthData, gamelogic.Models.AuthData>(data)
                               )
                           ));
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine($"Исключение: {ex.Message}");
                System.Diagnostics.Debug.WriteLine($"Метод: {ex.TargetSite}");
                System.Diagnostics.Debug.WriteLine($"Трассировка стека: {ex.StackTrace}");

                ProceedActions.Log("Exception", $"Исключение: {ex.Message}, функция Service1.SendAuthData");
                result.message = ex.Message;
                return(result);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Реализует управление отрядами
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public string SquadAction(SquadAction obj)
        {
            var result = Tools.CheckAuthedInput(obj);

            if (result != "passed")
            {
                return(result);
            }

            try
            {
                var mapobj = Tools.SmartMapper <SquadAction, gamelogic.Models.SquadAction>(obj);
                switch (obj.action)
                {
                case "attack":
                    result = SquadManager.SendAttackOrder(mapobj);
                    break;

                case "return":
                    result = SquadManager.SendReturnOrder(mapobj);
                    break;

                default:
                    result = "wrongaction";
                    break;
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine($"Исключение: {ex.Message}");
                System.Diagnostics.Debug.WriteLine($"Метод: {ex.TargetSite}");
                System.Diagnostics.Debug.WriteLine($"Трассировка стека: {ex.StackTrace}");

                ProceedActions.Log("Exception", $"Исключение: {ex.Message}, функция SquadAction");
                result = "err";
            }
            return(result);
        }