示例#1
0
        // 执行Add操作,但是也会触发Spawn流程,适用于对已经存在于地图上的对象使用
        public virtual void SpawnAdd(TUnit chara, string tdid, long?rtid = null, int?team = null)
        {
            if (chara == null)
            {
                return;
            }
            if (!rtid.HasValue)
            {
                chara.SetRTID(IDUtil.Gen());
            }
            else
            {
                chara.SetRTID(rtid.Value);
            }

            TConfig config = TDLuaMgr?.Get <TConfig>(tdid);

            if (config == null)
            {
                config = new TConfig();
            }
            else if (IsCopyConfig)
            {
                config = config.Copy <TConfig>();
            }

            chara.SpawnMgr = this;
            chara.SetTDID(tdid);
            chara.SetTeam(team);
            chara.SetConfig(config);
            chara.OnInit();
            chara.OnBeSpawned();
            OnSpawned(tdid, chara.ID, chara);
            AddToData(chara);
        }
示例#2
0
 //推送谈判内容到Alert,用于给对方发送信息
 public void PushNagotiationToAlert(TDBaseAlertData data)
 {
     if (!IsStarNegotiation)
     {
         CLog.Error("AddArticle 没有调用StarNegotiation");
         return;
     }
     data.SelfArticle.Clear();
     data.TargetArticle.Clear();
     foreach (var item in TempSelfArticlies)
     {
         item.ID         = IDUtil.Gen();
         item.BaseTarget = TargetArticleUnit;
         item.OnBeAdded(SelfArticleUnit);
         Datas.Add(item);
         data.SelfArticle.Add(item);
     }
     foreach (var item in TempTargetArticlies)
     {
         item.ID         = IDUtil.Gen();
         item.BaseTarget = SelfArticleUnit;
         item.OnBeAdded(TargetArticleUnit);
         Datas.Add(item);
         data.TargetArticle.Add(item);
     }
     data.WarfareData = CurWarData;
     clearNagotiation();
 }
示例#3
0
        public void AddLog(string key, BaseUnit nation = null, params object[] objs)
        {
            if (!BaseGlobal.IsUnReadData)
            {
                return;
            }
            if (nation != null)
            {
                if (!nation.IsPlayer())
                {
                    return;
                }
            }
            BaseLogData tempData = new BaseLogData();

            tempData.Date    = BaseGlobal.DateTimeMgr.GetCurDateStr();
            tempData.Desc    = Util.GetStr(key, objs);
            tempData.ID      = IDUtil.Gen();
            tempData.CurTime = 0;
            Data.Insert(0, tempData);
            if (Data.Count > MaxCount)
            {
                RemLastLog();
            }
            Callback_OnAddedLog?.Invoke(tempData);
        }
示例#4
0
        void xapFormControl_DataChanged(object sender, xap.rui.control.forms.model.DataChangedEventArgs e)
        {
            if (string.IsNullOrEmpty(e.PropName))
            {
                return;
            }
            if (e.PropName.Equals("Id_agent"))
            {
                //代办人的信息是否必填
                setIsNullFlag();
            }
            OrSrvAgentInfoDO orSrvAgent = e.Data as OrSrvAgentInfoDO;

            if (e.PropName == "Age_agent")
            {
                if (orSrvAgent.Age_agent < 0 || orSrvAgent.Age_agent > 200)
                {
                    this.ShowAlert("年龄输入在0-200岁之间!");
                    return;
                }
            }
            else if (e.PropName.Equals("Idno_agent"))
            {
                DateTime birth;
                try
                {
                    birth = IDUtil.GetBirthdayByIdentityCardId(orSrvAgent.Idno_agent, true);
                }
                catch (Exception) {
                    return;
                }
                if (birth != null)
                {
                    int[] ages = CalcAgeArray.getAgeArray(birth);
                    if (ages != null)
                    {
                        orSrvAgent.Age_agent = ages[0];
                    }
                }
                var idsex = 0;
                Int32.TryParse(IDUtil.GetCardIdInfo(orSrvAgent.Idno_agent)[3], out idsex);
                orSrvAgent.Sd_sextp_agent   = idsex.ToString();
                orSrvAgent.Id_sextp_agent   = idsex.ToString().Equals(PiDictCodeConst.SD_SEX_MALE) ? PiDictCodeConst.ID_SEX_MALE : PiDictCodeConst.ID_SEX_FEMALE;
                orSrvAgent.Name_sextp_agent = idsex.ToString().Equals(PiDictCodeConst.SD_SEX_MALE) ? PiDictCodeConst.NAME_SEX_MALE : PiDictCodeConst.NAME_SEX_FEMALE;
            }
            else if (e.PropName.Equals("Id_idtp_pat"))
            {
                if (!string.IsNullOrEmpty(orSrvAgent.Id_idtp_pat) && patInfoCache.Keys.Contains(orSrvAgent.Id_idtp_pat))
                {
                    orSrvAgent.Idno_pat = this.patInfoCache[orSrvAgent.Id_idtp_pat];
                }
                else
                {
                    orSrvAgent.Idno_pat = "";
                }
            }
        }
示例#5
0
        public override void Purchase()
        {
            string orderID = IDUtil.GenOrderNumber();
            string key     = GameConfig.Ins.SteamWebAPI;

            void SendUserInfo()
            {
                CLog.Info("开始发送");
                string str    = "key=" + key + "&steamid=" + GetUserID().ToString();
                var    result = HTTPUtil.CreateGetHttpResponse("https://partner.steam-api.com/ISteamMicroTxn/GetUserInfo/v2/?" + str, null);

                CLog.Info(result.ToString());
            }

            void GetUserInfo()
            {
                CLog.Info("开始发送");
                string str    = "key=" + key + "&steamid=" + GetUserID().ToString();
                var    result = HTTPUtil.CreateGetHttpResponse("https://partner.steam-api.com/ISteamMicroTxn/GetUserInfo/v2/" + str, null);

                CLog.Info(result.ToString());
            }

            void SendInitTxn()
            {
                Dictionary <string, string> dic = new Dictionary <string, string>();

                dic.Add("key", key);
                dic.Add("orderid", orderID.ToString());
                dic.Add("steamid", GetUserID().ToString());
                dic.Add("appid", GetAppId().ToString());
                dic.Add("itemcount", "1");
                dic.Add("language", GetCurLanguageStr());
                dic.Add("currency", "CNY");
                dic.Add("itemid[0]", IDUtil.GenString());
                dic.Add("qty[0]", "1");
                dic.Add("amount[0]", "100");
                dic.Add("description[0]", "此物品非常凶残");
                var result = HTTPUtil.CreatePostHttpResponse("https://partner.steam-api.com/ISteamMicroTxnSandbox/InitTxn/v3/", dic);

                CLog.Info(result.ToString());
            }

            void SendFinalizeTxn()
            {
                Dictionary <string, string> dic = new Dictionary <string, string>();

                dic.Add("key", key);
                dic.Add("orderid", orderID);
                dic.Add("appid", GetAppId().ToString());
                var result = HTTPUtil.CreatePostHttpResponse("https://partner.steam-api.com/ISteamMicroTxnSandbox/FinalizeTxn/v2/", dic);

                CLog.Info(result.ToString());
            }
        }
示例#6
0
        //添加,触发整个SpawnAdd流程
        public virtual void SpawnAdd(TData data, string tdid = null, long?rtid = null, int?team = null)
        {
            if (!tdid.IsInv())
            {
                data.TDID = tdid;
            }
            else
            {
                tdid = data.TDID;
            }

            if (rtid != null)
            {
                data.ID = rtid.Value;
            }
            else
            {
                rtid = data.ID = IDUtil.Gen();
            }
            data.OnBeAdded(SelfMono);
            OnSpawned(tdid, rtid.Value, data);
            AddToData(data);
        }
示例#7
0
 private static void HandleLog(string message, object context, Type type)
 {
     HandleLog(message, IDUtil.GetObjectIDString(context), LogType.Log);
 }
示例#8
0
 private static void HandleLog(Exception message, object context, Type type)
 {
     HandleLog(message.ToString(), IDUtil.GetObjectIDString(context), LogType.Error);
 }
示例#9
0
        private TData Add(string tdid, BaseUnit cast = null, Callback <TData> action = null, bool isAutoTrigger = false)
        {
            if (!TDLuaMgr.Contains(tdid))
            {
                if (CommonAlert == tdid)
                {
                    CLog.Error("没有:{0},请手动添加CommonAlert", tdid);
                }
                else
                {
                    CLog.Error("没有:{0},请手动添加Alert", tdid);
                }
                return(null);
            }

            TData sourceAlert = TDLuaMgr.Get <TData>(tdid);

            sourceAlert.Cast     = cast ? cast : LocalPlayer;
            sourceAlert.AlertMgr = this;

            //判断通知是否可以被合并
            var finalAlert = CanMerge(sourceAlert);

            if (finalAlert != null)
            {
                finalAlert.OnMerge();
                Callback_OnMerge?.Invoke(finalAlert);
            }
            else
            {
                finalAlert    = sourceAlert.Copy <TData>();
                finalAlert.ID = IDUtil.Gen();
                finalAlert.OnBeAdded(SelfBaseUnit);
                Data.Add(finalAlert);
                if (finalAlert.Type == AlertType.Interaction)
                {
                    //推送最近一次的谈判信息
                    if (ArticleMgr.IsStarNegotiation)
                    {
                        ArticleMgr.PushNagotiationToAlert(finalAlert);
                    }
                    InteractionData.Add(finalAlert);
                    Callback_OnInteractionChange?.Invoke(finalAlert);
                }
                else if (finalAlert.Type == AlertType.Disposable)
                {
                    DisposableData.Add(finalAlert);
                    Callback_DisposableChange?.Invoke(finalAlert);
                }
                else if (finalAlert.Type == AlertType.Continue)
                {
                    ContinueData.Add(finalAlert);
                    Callback_ContinueChange?.Invoke(finalAlert);
                }
                action?.Invoke(finalAlert);
                if (BaseGlobal.IsUnReadData)
                {
                    Callback_OnAdded?.Invoke(finalAlert);
                }
            }
            if (finalAlert.IsAutoTrigger || isAutoTrigger)
            {
                finalAlert.DoLeftClickTrigger();
            }
            return(finalAlert);
        }
示例#10
0
 public BUtil()
 {
     daUtil = new DUtil();
 }