public void AddSuitData(uint userID, uint baseID, ClientSuitData data) { if (data.suitBaseID == 5001) { Log.LogGroup("ZDY", "suitstate is " + data.suitState); } if (m_dicSuitData.ContainsKey(userID)) { Dictionary <uint, ClientSuitData> dic = m_dicSuitData[userID]; if (dic.ContainsKey(baseID)) { dic[baseID] = data; } else { dic.Add(baseID, data); } } else { Dictionary <uint, ClientSuitData> dic = new Dictionary <uint, ClientSuitData>(); dic.Add(baseID, data); m_dicSuitData.Add(userID, dic); } }
public void SetSuitData(ClientSuitData data) { m_suitData = data; ResetInfoGrid(m_suitData.suitBaseID != 0); table.SuitDataBase database = GameTableManager.Instance.GetTableItem <table.SuitDataBase>(m_suitData.suitBaseID, 1); if (database != null) { SetIcon(true, database.icon); SetBindMask(false); SetTimeLimitMask(false); } }
public ClientSuitData GetSuitData(uint baseID) { uint userID = MainPlayerHelper.GetPlayerID(); if (m_dicSuitData.ContainsKey(userID)) { Dictionary <uint, ClientSuitData> dic = m_dicSuitData[userID]; if (dic.ContainsKey(baseID)) { ClientSuitData sd = dic[baseID]; return(sd); } } return(new ClientSuitData()); }
/// <summary> /// 显示时装 /// </summary> /// <param name="lstSuit"></param> private void OnShowSuit(List <GameCmd.SuitData> lstSuit) { ClientSuitData suitdata = new ClientSuitData(); foreach (var suitGrid in m_dicSuitGrid) { for (int i = 0; i < lstSuit.Count; ++i) { if (lstSuit[i].suit_type == suitGrid.Key) { suitdata.suitBaseID = lstSuit[i].baseid; } } suitGrid.Value.SetSuitData(suitdata); suitdata.suitBaseID = 0; } }
public void SetSuitDataOnChangePos() { List <ClientSuitData> list = GetSortListData(); if (list != null) { if (list.Count > 0) { ClientSuitData cd = list[0]; SuitDataBase db = GameTableManager.Instance.GetTableItem <SuitDataBase>(cd.suitBaseID, 1); if (db != null) { CurSuitDataBase = db; } } } }
void onClick_Unlock_queding_Btn(GameObject caster) { if (CurDataBase != null) { ClientSuitData sst = DataManager.Manager <SuitDataManager>().GetSuitData(CurDataBase.base_id); if (sst.suitState == SuitState.HasBuy) { if (sst.leftTime == 0) { string tips = string.Format("{0}{1}{2}", CommonData.GetLocalString("您已经拥有永久时装"), CurDataBase.name, CommonData.GetLocalString(",是否仍确定使用?")); TipsManager.Instance.ShowTipWindow(TipWindowType.CancelOk, tips, () => { stOpSuitPropertyUserCmd_C cmd = new stOpSuitPropertyUserCmd_C(); cmd.type = m_opType; uint suitID = (CurDataBase.base_id << 16); suitID += m_nDayCount; cmd.suit_id = suitID; NetService.Instance.Send(cmd); }); } else { stOpSuitPropertyUserCmd_C cmd = new stOpSuitPropertyUserCmd_C(); cmd.type = m_opType; uint suitID = (CurDataBase.base_id << 16); suitID += m_nDayCount; cmd.suit_id = suitID; NetService.Instance.Send(cmd); } } else { stOpSuitPropertyUserCmd_C cmd = new stOpSuitPropertyUserCmd_C(); cmd.type = m_opType; uint suitID = (CurDataBase.base_id << 16); suitID += m_nDayCount; cmd.suit_id = suitID; NetService.Instance.Send(cmd); } } HideSelf(); }
void InitPetRenderObj() { List <ClientSuitData> petsuitList = m_suitDataManager.GetSortListData(); int baseID = 0; for (int i = 0; i < petsuitList.Count; i++) { ClientSuitData data = petsuitList[i]; if (data.suitState == SuitState.Equip) { baseID = (int)data.suitBaseID; break; } } int resID = GetPetResID(baseID); CreatePetRenderTexture(resID); }
/// <summary> /// 判断当前时装是否是永久 /// </summary> /// <param name="baseID">时装的baseid</param> /// <returns></returns> public bool IsSuitForever(uint baseID) { uint userID = MainPlayerHelper.GetPlayerID(); if (m_dicSuitData.ContainsKey(userID)) { Dictionary <uint, ClientSuitData> dic = m_dicSuitData[userID]; if (dic.ContainsKey(baseID)) { ClientSuitData sd = dic[baseID]; if (sd.suitState == SuitState.HasBuy && sd.leftTime == 0) { return(true); } } } return(false); }
public override void SetGridData(object data) { base.SetGridData(data); if (data != null && data is ClientSuitData) { m_CurSuitData = (ClientSuitData)data; SuitBaseID = m_CurSuitData.suitBaseID; m_suitDataBase = GameTableManager.Instance.GetTableItem <SuitDataBase>(m_CurSuitData.suitBaseID, 1); if (m_suitDataBase == null) { Engine.Utility.Log.Error("m_suitDataBase is null id is " + m_CurSuitData.suitBaseID); return; } if (null != m_lab_name) { m_lab_name.text = m_suitDataBase.name; } if (m_sp_icon != null) { UIManager.GetTextureAsyn(m_suitDataBase.icon, ref m_iconCASD, () => { if (null != m_sp_icon) { m_sp_icon.mainTexture = null; } }, m_sp_icon); } if (m_CurSuitData.suitState == SuitState.NoBuy) { SetPrice(); m_trans_priceContent.gameObject.SetActive(true); m_label_countdown.gameObject.SetActive(false); } else { m_trans_priceContent.gameObject.SetActive(false); m_label_countdown.gameObject.SetActive(true); SetCountDown(m_CurSuitData.leftTime); } ShowActiveSign(m_CurSuitData.suitState); } }
List <SuitDataBase> GetPetSuitData() { List <SuitDataBase> resultList = new List <SuitDataBase>(); List <ClientSuitData> sortList = m_suitDataManager.GetSortListData(); for (int i = 0; i < sortList.Count; i++) { ClientSuitData cd = sortList[i]; SuitDataBase db = GameTableManager.Instance.GetTableItem <SuitDataBase>(cd.suitBaseID, 1); if (db != null) { if (db.type == (uint)GameCmd.EquipSuitType.Magic_Pet_Type) { resultList.Add(db); } } } return(resultList); }
public SuitState GetSuitState(uint baseID) { uint userID = MainPlayerHelper.GetPlayerID(); if (m_dicSuitData.ContainsKey(userID)) { Dictionary <uint, ClientSuitData> dic = m_dicSuitData[userID]; if (dic.ContainsKey(baseID)) { ClientSuitData sd = dic[baseID]; return(sd.suitState); } else { return(SuitState.NoBuy); } } else { return(SuitState.NoBuy); } }
void InitShowDic() { int job = MainPlayerHelper.GetMainPlayerJob(); List <SuitDataBase> allList = GetAllSuitByJob(job); List <SuitDataBase> advList = allList.FindAll((x) => { return(x.typeMask == 2); }); List <ClientSuitData> showList = new List <ClientSuitData>(); Dictionary <uint, ClientSuitData> showDic = new Dictionary <uint, ClientSuitData>(); uint userID = MainPlayerHelper.GetPlayerID(); for (int i = 0; i < advList.Count; i++) { uint baseID = advList[i].base_id; if (!m_dicSuitData.ContainsKey(userID)) { ClientSuitData cd = new ClientSuitData(); cd.suitState = SuitState.Show; cd.leftTime = 0; cd.suitBaseID = advList[i].base_id; AddSuitData(userID, cd.suitBaseID, cd); } else { Dictionary <uint, ClientSuitData> dic = m_dicSuitData[userID]; if (!dic.ContainsKey(baseID)) { ClientSuitData cd = new ClientSuitData(); cd.suitState = SuitState.Show; cd.leftTime = 0; cd.suitBaseID = advList[i].base_id; AddSuitData(userID, cd.suitBaseID, cd); } } } }
public void OnReceiveAllSuitData(stSendAllSuitPropertyUserCmd_S msg) { IPlayer player = MainPlayerHelper.GetMainPlayer(); if (player == null) { Log.Error("收到所有时装数据 但是还没有主角创建"); return; } uint userID = player.GetID(); List <stSuitData> suitList = msg.data; string suitName = ""; for (int i = 0; i < suitList.Count; i++) { stSuitData sd = suitList[i]; ClientSuitData csd = new ClientSuitData(); csd.suitBaseID = sd.base_id; csd.leftTime = sd.time; Client.GameEventID eventtype = Client.GameEventID.Unknow; if (sd.status == SuitStatus.SuitStatus_Common) { csd.suitState = SuitState.HasBuy; AddSuitData(userID, sd.base_id, csd); //直接装备 if (msg.type == SuitOPType.SuitOPType_Buy || msg.type == SuitOPType.SuitOPType_Renew) { stOpSuitPropertyUserCmd_C cmd = new stOpSuitPropertyUserCmd_C(); cmd.type = SuitOPType.SuitOPType_Equip; //固定3当装备 cmd.suit_id = (sd.base_id << 16) + 3; NetService.Instance.Send(cmd); } } else if (sd.status == SuitStatus.SuitStatus_Equip) { csd.suitState = SuitState.Equip; AddSuitData(userID, sd.base_id, csd); } else if (sd.status == SuitStatus.SuitStatus_Overdue) { csd.suitState = SuitState.NoEffect; AddSuitData(userID, sd.base_id, csd); } else if (sd.status == SuitStatus.SuitStatus_Acti) { csd.suitState = SuitState.Active; AddSuitData(userID, sd.base_id, csd); } else if (sd.status == SuitStatus.SuitStatus_UNActi) { csd.suitState = SuitState.Show; AddSuitData(userID, sd.base_id, csd); } table.SuitDataBase db = GameTableManager.Instance.GetTableItem <table.SuitDataBase>(sd.base_id, 1); if (db != null) { suitName = db.name; } Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTFASHIONDATA, sd.base_id); //SendChangeBody((int)sd.type, sd.base_id, player); } ShowTips(msg.type, suitName); }
public List <ClientSuitData> GetSortListData() { int job = MainPlayerHelper.GetMainPlayerJob(); List <SuitDataBase> allList = GetAllSuitByJob(job); List <ClientSuitData> showList = new List <ClientSuitData>(); List <ClientSuitData> noEffectList = new List <ClientSuitData>(); List <ClientSuitData> effectList = new List <ClientSuitData>(); List <ClientSuitData> equipList = new List <ClientSuitData>(); if (MainPlayerHelper.GetMainPlayer() == null) { return(null); } Dictionary <uint, ClientSuitData> myDic = m_dicSuitData[MainPlayerHelper.GetPlayerID()]; var iter = myDic.GetEnumerator(); while (iter.MoveNext()) { uint baseID = iter.Current.Key; ClientSuitData data = iter.Current.Value; if (data.suitState == SuitState.NoEffect) { if (!noEffectList.Contains(data)) { noEffectList.Add(data); } } else if (data.suitState == SuitState.HasBuy) { if (!effectList.Contains(data)) { effectList.Add(data); } } else if (data.suitState == SuitState.Equip) { if (!equipList.Contains(data)) { equipList.Add(data); } } else if (data.suitState == SuitState.Show || data.suitState == SuitState.Active) { if (!showList.Contains(data)) { showList.Add(data); } } } List <ClientSuitData> allClientList = new List <ClientSuitData>(); allClientList.AddRange(showList); allClientList.AddRange(equipList); allClientList.AddRange(effectList); allClientList.AddRange(noEffectList); List <ClientSuitData> noHaveList = new List <ClientSuitData>(); for (int i = 0; i < allList.Count; i++) { SuitDataBase db = allList[i]; bool bContain = false; for (int j = 0; j < allClientList.Count; j++) { ClientSuitData sd = allClientList[j]; if (sd.suitBaseID == db.base_id) { bContain = true; } } if (!bContain) { ClientSuitData cd = new ClientSuitData(); cd.suitBaseID = db.base_id; cd.leftTime = db.time; cd.suitState = SuitState.NoBuy; if (!noHaveList.Contains(cd)) { noHaveList.Add(cd); } } } allClientList.AddRange(noHaveList); List <ClientSuitData> sortList = new List <ClientSuitData>(); for (int i = 0; i < allClientList.Count; i++) { ClientSuitData cd = allClientList[i]; SuitDataBase db = GameTableManager.Instance.GetTableItem <SuitDataBase>(cd.suitBaseID, 1); if (db != null) { if (db.type == (uint)m_curSuitType) { sortList.Add(cd); } } } return(sortList); }