Ejemplo n.º 1
0
        public void EndDelegate(object a)
        {
            try {
                AutoOperationInfo ao = (AutoOperationInfo)a;
                if (!autoOperation)
                {
                    return;
                }

                Thread.Sleep(1000);//等待一秒
                var op = FindOperation(ao._operationId);
                if (op != null)
                {
                    EndOperation(ao);
                    operationList.Remove(op);
                }
                else
                {
                    return;
                }

                Thread.Sleep(GetWaitSec());//暂停

                im.mainWindow.Dispatcher.Invoke(() =>
                {
                    ao.SetDefaultLastTime();
                    Start(ao);
                });
            }
            catch (Exception e)
            {
                im.logger.Log(e);
            }
        }
Ejemplo n.º 2
0
        public void EndDelegate(object a)
        {
            try {
                AutoOperationInfo ao = (AutoOperationInfo)a;
                if (!autoOperation)
                {
                    return;
                }

                EndOperation(ao);
                operationList.Remove(FindOperation(ao._operationId));

                Thread.Sleep(2000);//暂停两秒

                im.mainWindow.Dispatcher.Invoke(() =>
                {
                    ao.SetDefaultLastTime();
                    Start(ao);
                });
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 3
0
        public void AddTimerStartOperation(AutoOperationInfo ao)
        {
            im.timer.AddTimer(CommonHelper.ConvertDateTimeInt(DateTime.Now), ao.LastTime, this.EndDelegate, (object)ao, ao.getTextBlock());
            im.timer.Start();

            this.operationList.Add(ao);
        }
Ejemplo n.º 4
0
        private string StartOperation(AutoOperationInfo ao)
        {
            string jsondata = String.Format("{{\"team_id\":{0},\"operation_id\":{1},\"mission_id\":{2}}}", ao._teamId, ao._operationId, ao.MissionId);

            string result = im.serverHelper.SendDataToServer(RequestUrls.StartOperation, jsondata);

            return(result);
        }
Ejemplo n.º 5
0
 public void Start(AutoOperationInfo ao)
 {
     if (StartOperation(ao))
     {
         AddTimerStartOperation(ao);
     }
     else
     {
         im.uiHelper.setStatusBarText_InThread(String.Format("[{0}]远征 {1} 开始失败!请检查相关参数!", DateTime.Now.ToString(), ao.OperationName));
     }
 }
Ejemplo n.º 6
0
        public void Start(int team, int operation)
        {
            /*
             * outdatacode: {"team_id":1,"operation_id":8}
             * Serverdata: 1
             */
            AutoOperationInfo ao = new AutoOperationInfo(team, operation);

            //ao.LastTime = Data.operationInfo[operation].duration;
            Start(ao);
        }
Ejemplo n.º 7
0
        private bool StartOperation(AutoOperationInfo ao)
        {
            string jsondata = String.Format("{{\"team_id\":{0},\"operation_id\":{1}}}", ao._teamId.ToString(), ao._operationId.ToString());

            string result = im.serverHelper.sendDataToServer(RequestUrls.StartOperation, jsondata);

            if (result == "1")
            {
                return(true);
            }
            return(false);
        }
Ejemplo n.º 8
0
        public void Start(AutoOperationInfo ao)
        {
            string res = StartOperation(ao);

            if (res == "1")
            {
                AddTimerStartOperation(ao);
            }
            else
            {
                im.uiHelper.setStatusBarText_InThread(String.Format("[{0}]远征 {1} 开始失败!请检查相关参数!错误信息: {2}", DateTime.Now.ToString(), ao.OperationName, res));
                im.logger.Log(String.Format("远征开始失败,错误原因:{0}", res));
            }
        }
Ejemplo n.º 9
0
        private bool EndOperation(AutoOperationInfo ao)
        {
            try
            {
                string jsondata = String.Format("{{\"operation_id\":{0}}}", ao._operationId.ToString());

                string result = im.serverHelper.sendDataToServer(RequestUrls.FinishOperation, jsondata);
                Console.WriteLine(result);
                return(true);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(false);
            }
        }
Ejemplo n.º 10
0
        public bool ReadUserInfo(string jsondata)
        {
            try
            {
                ClearData();

                dynamic jsonobj  = DynamicJson.Parse(jsondata);
                dynamic userdata = jsonobj.user_info;

                UserInfo userInfo = Data.userInfo;

                //user_info
                userInfo.userId          = userdata.user_id;
                userInfo.name            = userdata.name;
                userInfo.pauseTurnChance = Convert.ToInt32(userdata.pause_turn_chance);
                userInfo.gem             = Convert.ToInt32(userdata.gem);
                userInfo.Exp             = Convert.ToInt32(userdata.experience);
                userInfo.maxTeam         = Convert.ToInt32(userdata.maxteam);
                userInfo.mp                       = Convert.ToInt32(userdata.mp);
                userInfo.ammo                     = Convert.ToInt32(userdata.ammo);
                userInfo.mre                      = Convert.ToInt32(userdata.mre);
                userInfo.part                     = Convert.ToInt32(userdata.part);
                userInfo.core                     = Convert.ToInt32(userdata.core);
                userInfo.maxGun                   = Convert.ToInt32(userdata.maxgun);
                userInfo.maxEquip                 = Convert.ToInt32(userdata.maxequip);
                userInfo.maxDevelopSlot           = Convert.ToInt32(userdata.max_build_slot) / 2;
                userInfo.maxFixSlot               = Convert.ToInt32(userdata.max_fix_slot);
                userInfo.maxUpgradeSlot           = Convert.ToInt32(userdata.max_upgrade_slot);
                userInfo.coin1                    = Convert.ToInt32(userdata.coin1);
                userInfo.coin2                    = Convert.ToInt32(userdata.coin2);
                userInfo.coin3                    = Convert.ToInt32(userdata.coin3);
                userInfo.bp                       = Convert.ToInt32(userdata.bp);
                userInfo.lastBpRecoverTime        = Convert.ToInt32(userdata.last_bp_recover_time);
                userInfo.monthlyCardExpirationGem = Convert.ToInt32(userdata.monthlycard1_end_time);
                userInfo.monthlyCardExpirationRes = Convert.ToInt32(userdata.monthlycard2_end_time);

                //gun_collect
                string guncollect = userdata.gun_collect;
                if (guncollect[0] != ',')
                {
                    foreach (string id in guncollect.Split(','))
                    {
                        userInfo.listGunCollect.Add(Convert.ToInt32(id));
                    }
                }

                //gun_with_user_info
                foreach (var gun in jsonobj.gun_with_user_info)
                {
                    GunWithUserInfo g = new GunWithUserInfo();
                    g.Ammo           = Convert.ToInt32(gun.ammo);
                    g.Dodge          = Convert.ToInt32(gun.dodge);
                    g.FixEndTime     = Convert.ToInt32(gun.fix_end_time);
                    g.GunExp         = Convert.ToInt32(gun.gun_exp);
                    g.GunID          = Convert.ToInt32(gun.gun_id);
                    g.GunLevel       = Convert.ToInt32(gun.gun_level);
                    g.Hit            = Convert.ToInt32(gun.hit);
                    g.ID             = Convert.ToInt32(gun.id);
                    g.IfModification = Convert.ToBoolean(Convert.ToInt32(gun.if_modification));
                    g.IsLocked       = Convert.ToBoolean(Convert.ToInt32(gun.is_locked));
                    g.Life           = Convert.ToInt32(gun.life);
                    g.Location       = Convert.ToInt32(gun.location);
                    g.Mre            = Convert.ToInt32(gun.mre);
                    g.Number         = Convert.ToInt32(gun.number);
                    g.Position       = Convert.ToInt32(gun.position);
                    g.Pow            = Convert.ToInt32(gun.pow);
                    g.Rate           = Convert.ToInt32(gun.rate);
                    g.Skill1         = Convert.ToInt32(gun.skill1);
                    g.Skill2         = Convert.ToInt32(gun.skill2);
                    g.TeamID         = Convert.ToInt32(gun.team_id);
                    g.UserID         = Convert.ToInt32(gun.user_id);

                    g.UpdateData();

                    userInfo.gunWithUserID.Add(g);
                    if (g.TeamID != 0)
                    {
                        if (!Data.teamInfo.ContainsKey(g.TeamID))
                        {
                            Data.teamInfo.Add(g.TeamID, new Dictionary <int, GunWithUserInfo>());
                        }

                        Data.teamInfo[g.TeamID].Add(g.Location, g);
                    }
                }


                //item_with_user_info
                foreach (var item in jsonobj.item_with_user_info)
                {
                    int id  = Convert.ToInt32(item.item_id);
                    int num = Convert.ToInt32(item.number);

                    userInfo.item.Add(id, num);
                }

                //develop_act_info
                foreach (var item in jsonobj.develop_act_info)
                {
                    im.uiHelper.setDevelopingTimer(im.timer, Convert.ToInt32(item.build_slot), Convert.ToInt32(item.gun_id), Convert.ToInt32(item.start_time) - SimpleUserInfo.timeoffset);
                }

                //operation_act_info
                foreach (var item in jsonobj.operation_act_info)
                {
                    im.mainWindow.Dispatcher.Invoke(() =>
                    {
                        AutoOperationInfo ao = new AutoOperationInfo(Convert.ToInt32(item.team_id), Convert.ToInt32(item.operation_id));
                        ao.LastTime          = Convert.ToInt32(item.start_time) + ao.LastTime - CommonHelper.ConvertDateTimeInt(DateTime.Now, true);
                        im.autoOperation.AddTimerStartOperation(ao);
                    });
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(false);
            }
            return(true);
        }