public bool Check(uint itemid, uint willUseNum) { table.ItemDataBase itemTb = GameTableManager.Instance.GetTableItem <table.ItemDataBase>(itemid); if (itemTb.maxUseTimes != 0) { if (willUseNum > itemTb.maxUseTimes) { return(false); } } int itemCount = DataManager.Manager <ItemManager>().GetItemNumByBaseId(itemid); if (itemCount < willUseNum) { TipsManager.Instance.ShowTipsById(6); return(false); } if (!CanLevelUp(itemid)) { TipsManager.Instance.ShowTips(LocalTextType.Ride_Rank_zuoqidengjiyiman); return(false); } return(true); }
public void ShowRewardTips(uint taskid) { QuestTraceInfo questTrace = QuestTranceManager.Instance.GetQuestTraceInfo(taskid); if (questTrace != null) { if (questTrace.gold > 0) { //进背包飘字,先注释 //TipsManager.Instance.ShowTips("获得金币X" + questTrace.gold); } if (questTrace.money > 0) { //进背包飘字,先注释 //TipsManager.Instance.ShowTips("获得文钱X" + questTrace.money); } if (questTrace.Items.Count > 0) { for (int i = 0; i < questTrace.Items.Count; ++i) { table.ItemDataBase itemDb = GameTableManager.Instance.GetTableItem <table.ItemDataBase>(questTrace.Items[i]); if (itemDb != null) { //进背包飘字,先注释 //TipsManager.Instance.ShowTips("获得" + itemDb.itemName + "X" + questTrace.ItemNum[i]); } } } } }
public bool UpdateData(uint baseId, GameCmd.ItemSerialize serverdata = null) { bool success = false; if (null != serverdata) { this.serverData = serverdata; StructServerItemAttribute(); if (serverdata.pos != null) { UpdateServerLocation(serverdata.pos.loc); } this.baseId = serverdata.dwObjectID; } else { this.baseId = baseId; } m_baseData = GameTableManager.Instance.GetTableItem <table.ItemDataBase>(baseId); if (null != BaseData) { success = true; } m_bBaseReady = null != m_baseData; if (!m_bBaseReady) { return(false); } //tab attr m_sortID = (int)BaseData.sortID; m_subType = (int)BaseData.subType; m_useRole = (int)BaseData.useRole; m_grade = (int)BaseData.grade; m_baseType = (GameCmd.ItemBaseType)BaseData.baseType; //serverattr UpdateServerProperty(); OnUpdateData(); return(success); }
public void OnOpenNpcShopCommond(List <uint> tabs, uint npc_id) { Reset(); tabList = tabs; NpcShopTabs data = new NpcShopTabs(); Dictionary <uint, List <StoreDataBase> > dic = new Dictionary <uint, List <StoreDataBase> >(); for (int i = 0; i < tabs.Count; i++) { for (int j = 0; j < tables.Count; j++) { if (tables[j].storeId == tabs[i]) { if (!tabDic.ContainsKey(tabs[i])) { List <int> sec = new List <int>(); sec.Add((int)tables[j].tag); tabDic.Add(tabs[i], sec); tabNames.Add(tabs[i], tables[j].NpcTag); } else { if (!tabDic[tabs[i]].Contains((int)tables[j].tag)) { tabDic[tabs[i]].Add((int)tables[j].tag); } } if (!dic.ContainsKey(tables[j].tag)) { List <StoreDataBase> list = new List <StoreDataBase>(); list.Add(tables[j]); dic.Add(tables[j].tag, list); } else { dic[tables[j].tag].Add(tables[j]); } } } data.param.Add(tabs[i], dic); } data.names = tabDic; uint taskid = DataManager.Manager <TaskDataManager>().DoingTaskID; if (taskid != 0) { QuestTraceInfo questInfo = QuestTranceManager.Instance.GetQuestTraceInfo(taskid); if (questInfo != null) { if (questInfo.taskSubType == TaskSubType.DeliverItem && questInfo.doingNpc == npc_id) { table.ItemDataBase itemdb = GameTableManager.Instance.GetTableItem <table.ItemDataBase>(questInfo.QuestTable.usecommitItemID); if (itemdb != null) { if (!string.IsNullOrEmpty(itemdb.MissionNpcParam)) { string[] split = itemdb.MissionNpcParam.Split('_'); if (split.Length == 2) { int obj = int.Parse(split[1]); ItemManager.DoJump(uint.Parse(split[0]), obj); } else { Engine.Utility.Log.Error("道具表格中ID为{0}的任务NPC跳转参数缺失,长度不够!", questInfo.QuestTable.usecommitItemID); } } else { Engine.Utility.Log.Error("道具表格中ID为{0}的任务NPC跳转参数为空!", questInfo.QuestTable.usecommitItemID); } } } else { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.NpcShopPanel, data: new NpcShopTabs() { names = data.names, param = data.param, }); } } else { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.NpcShopPanel, data: new NpcShopTabs() { names = data.names, param = data.param, }); } } else { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.NpcShopPanel, data: new NpcShopTabs() { names = data.names, param = data.param, }); } }
public static ViewPlayerData BuildViewData(uint uid, string name, uint job, int level, uint sex = 0) { retData = new ViewPlayerData(); retData.job = job; retData.sex = sex; retData.userid = uid; retData.username = name; table.RobotDataBase data = GameTableManager.Instance.GetTableItem <table.RobotDataBase>(job, level); if (data != null) { retData.power = data.power; retData.user_level = data.dwLevel; retData.viewRoleData = new GameCmd.ViewRoleData(); retData.viewRoleData.maxhp = (uint)(data.hp * 1.15f); retData.viewRoleData.maxsp = (uint)(data.mp * 1.15f); retData.viewRoleData.pdam_min = (uint)(data.pdam * 0.8f); retData.viewRoleData.pdam_max = (uint)(data.pdam * 1.15f); retData.viewRoleData.mdam_min = (uint)(data.mdam * 0.8f); retData.viewRoleData.mdam_max = (uint)(data.mdam * 1.15f); retData.viewRoleData.pdef_min = (uint)(data.mdef * 0.8f); retData.viewRoleData.pdef_max = (uint)(data.mdef * 1.15f); retData.viewRoleData.liliang = data.liliang; retData.viewRoleData.minjie = data.minjie; retData.viewRoleData.zhili = data.zhili; retData.viewRoleData.tizhi = data.tizhi; retData.viewRoleData.jingshen = data.jingshen; retData.viewRoleData.esdam = data.esdam; retData.viewRoleData.ssdam = data.ssdam; retData.viewRoleData.lsdam = data.lsdam; retData.viewRoleData.vsdam = data.vsdam; retData.viewRoleData.lucky = data.lucky; retData.viewRoleData.mlucky = data.mlucky; retData.viewRoleData.criti_ratio = data.criti_ratio; retData.viewRoleData.cure = data.cure; retData.viewRoleData.phit = data.phit; retData.viewRoleData.hide_per = data.hide_per; retData.viewRoleData.pabs = data.pabs; retData.viewRoleData.mabs = data.mabs; retData.viewRoleData.harm_add_per = data.harm_add_per; retData.viewRoleData.harm_sub_per = data.harm_sub_per; List <uint> equipList = new List <uint>(); /*1; // 头盔 * 2; // 护肩 * 3; // 上衣 * 4; // 护腿 * 5; // 戒指 * 7; // 盾牌 * 8; // 武器 * 9; // 鞋子 * 10; // 护腕 * 11; // 腰带 * 12; // 披风 * 13; // 项链*/ equipList.Add(data.Hat); equipList.Add(data.Shoulder); equipList.Add(data.Coat); equipList.Add(data.Leg); equipList.Add(data.Adornl_1); equipList.Add(data.Adornl_2); equipList.Add(data.Shield); equipList.Add(data.Equip); equipList.Add(data.Shoes); equipList.Add(data.Cuff); equipList.Add(data.Belf); equipList.Add(data.Necklace); GameCmd.ItemSerialize item = null; for (int i = 0; i < equipList.Count; i++) { if (equipList[i] == 0) { continue; } table.ItemDataBase itemdb = GameTableManager.Instance.GetTableItem <table.ItemDataBase>(equipList[i]); if (itemdb == null) { continue; } //GameCmd.eItemAttribute item = new GameCmd.ItemSerialize(); item.dwObjectID = equipList[i]; GameCmd.EquipPos[] pos = EquipDefine.GetEquipPosByEquipType((GameCmd.EquipType)itemdb.subType); if (pos.Length == 2) { uint loc = 0; if (i == 4) { loc = ItemDefine.TransformLocal2ServerLocation(GameCmd.PACKAGETYPE.PACKAGETYPE_EQUIP, new UnityEngine.Vector2() { x = 0, y = (int)pos[0] }); } else if (i == 5) { loc = ItemDefine.TransformLocal2ServerLocation(GameCmd.PACKAGETYPE.PACKAGETYPE_EQUIP, new UnityEngine.Vector2() { x = 0, y = (int)pos[1] }); } item.pos = new GameCmd.tItemLocation() { loc = loc }; } else if (pos.Length == 1) { uint loc = ItemDefine.TransformLocal2ServerLocation(GameCmd.PACKAGETYPE.PACKAGETYPE_EQUIP, new UnityEngine.Vector2() { x = 0, y = (int)pos[0] }); item.pos = new GameCmd.tItemLocation() { loc = loc }; } item.dwNum = 1; item.numbers.Add(new GameCmd.PairNumber() { id = (int)GameCmd.eItemAttribute.Item_Attribute_Bind, value = itemdb.bindMask }); item.numbers.Add(new GameCmd.PairNumber() { id = (int)GameCmd.eItemAttribute.Item_Attribute_Grade, value = itemdb.grade }); table.EquipDataBase equipdb = GameTableManager.Instance.GetTableItem <table.EquipDataBase>(itemdb.itemID); if (equipdb == null) { continue; } item.numbers.Add(new GameCmd.PairNumber() { id = (int)GameCmd.eItemAttribute.Item_Attribute_Dur, value = equipdb.maxDurable }); item.numbers.Add(new GameCmd.PairNumber() { id = (int)GameCmd.eItemAttribute.Item_Attribute_HoleNum, value = 0 }); item.numbers.Add(new GameCmd.PairNumber() { id = (int)GameCmd.eItemAttribute.Item_Attribute_FightPower, value = equipdb.fightPower }); retData.itemList.Add(item); if (equipdb.act_show != 0) { table.SuitDataBase suitDb = GameTableManager.Instance.GetTableItem <table.SuitDataBase>(equipdb.act_show, 1); if (suitDb != null) { retData.suit_data.Add(new GameCmd.SuitData() { baseid = suitDb.base_id, suit_type = (GameCmd.EquipSuitType)suitDb.type }); } } } } return(retData); }
protected override void OnShow(object data) { base.OnShow(data); RegisterGlobalEvent(true); Vector3 pos = Vector3.zero; if (null != data && data is SuitPanelParam) { SuitPanelParam par = (SuitPanelParam)data; pos = (Vector3)par.vec; m_CurType = par.m_type; isOtherPlayer = par.isOther; } if (null != m_trans_Content) { m_trans_Content.transform.localPosition = pos; } StrengthenDataDes.Clear(); m_lstSuitLv.Clear(); if (isOtherPlayer) { ViewPlayerData retData = ViewPlayerData.GetViewPlayerData(); if (retData == null) { return; } List <GemInlayList> gem_data = retData.gem_data; List <StrengthList> strengthList = retData.strengthList; List <ItemSerialize> itemList = retData.itemList; List <uint> tempStrength = new List <uint>(); #region 宝石等级 ActiveStoneSuitLv = 0; for (int i = 0; i < gem_data.Count; i++) { uint itemID = gem_data[i].base_id; table.ItemDataBase item = GameTableManager.Instance.GetTableItem <table.ItemDataBase>(itemID); if (item != null) { ActiveStoneSuitLv += item.grade; } } #endregion #region 颜色等级 ActiveColorSuitLv = 0; List <BaseItem> items = new List <BaseItem>(); for (int i = 0; i < itemList.Count; i++) { BaseItem baseItem = new BaseItem(itemList[i].dwObjectID, itemList[i]); if (baseItem != null) { if (baseItem.EquipColor >= EquipDefine.EquipColor.Orange) { items.Add(baseItem); } } } for (int j = 0; j < colors.Count; j++) { uint count = 0; for (int x = 0; x < items.Count; x++) { if (items[x].Grade >= colors[j].grade) { count++; } } if (count >= colors[j].equip_num) { ActiveColorSuitLv = colors[j].level; } } #endregion #region 套装强化等级 ActiveStrengthenSuitLv = 0; List <GridStrengthenSuitDataBase> StrengthenDataBase = GameTableManager.Instance.GetTableList <GridStrengthenSuitDataBase>(); for (int i = 0; i < StrengthenDataBase.Count; i++) { if (StrengthenDataBase[i].job == retData.job) { uint matchNum = 0; m_lstSuitLv.Add(StrengthenDataBase[i].suitlv); StrengthenDataDes.Add(StrengthenDataBase[i].des); for (int j = 0; j < strengthList.Count; j++) { if (strengthList[j].level >= StrengthenDataBase[i].triggerStrengLv) { matchNum++; } } if (matchNum >= StrengthenDataBase[i].triggerPosNum) { ActiveStrengthenSuitLv = StrengthenDataBase[i].suitlv; } } } #endregion } else { ActiveStrengthenSuitLv = DataManager.Manager <EquipManager>().ActiveStrengthenSuitLv; ActiveColorSuitLv = DataManager.Manager <EquipManager>().ActiveColorSuitLv; ActiveStoneSuitLv = DataManager.Manager <EquipManager>().ActiveStoneSuitLv; m_lstSuitLv.AddRange(DataManager.Manager <EquipManager>().CurGroupSuitData.GetStrengthenLvDatas()); for (int i = 0; i < m_lstSuitLv.Count; i++) { string des = DataManager.Manager <EquipManager>().CurGroupSuitData.GetLocalStrengthenData(m_lstSuitLv[i]).Des; StrengthenDataDes.Add(des); } } CreateData(); }
void InitPanel(ActiveTakeParam data) { m_label_Title.text = "活跃领取"; boxID = data.boxID; DailyAwardDataBase awardData = GameTableManager.Instance.GetTableItem <DailyAwardDataBase>(boxID); m_label_Des_Label.text = string.Format(DataManager.Manager <TextManager>().GetLocalText(LocalTextType.Local_Txt_Daily_BoxTips), awardData.liveness); m_lst_UIItemRewardDatas.Clear(); if (awardData.Exp > 0) { m_lst_UIItemRewardDatas.Add(new UIItemRewardData() { itemID = 60006, num = awardData.Exp, }); } if (awardData.gold > 0) { m_lst_UIItemRewardDatas.Add(new UIItemRewardData() { itemID = 60001, num = awardData.gold, }); } if (awardData.ticket > 0) { m_lst_UIItemRewardDatas.Add(new UIItemRewardData() { itemID = 60002, num = awardData.ticket, }); } string[] items = awardData.awarditem.Split(';'); for (int i = 0; i < items.Length; i++) { string[] item = items[i].Split("_".ToCharArray()); uint itemID; uint num = 1; if (uint.TryParse(item[0], out itemID)) { table.ItemDataBase itemdata = GameTableManager.Instance.GetTableItem <ItemDataBase>(itemID); if (itemdata != null) { if (uint.TryParse(item[1], out num)) { m_lst_UIItemRewardDatas.Add(new UIItemRewardData() { itemID = itemdata.itemID, num = num, }); } else { m_lst_UIItemRewardDatas.Add(new UIItemRewardData() { itemID = itemdata.itemID, num = 1, }); } } else { Engine.Utility.Log.Info("宝箱奖励的道具ID配置有误!"); } } } m_ctor_UIItemRewardCreator.CreateGrids(m_lst_UIItemRewardDatas.Count); if (!data.ids.Contains(boxID)) { if (data.canGetState == 1) { m_btn_btn_Take.isEnabled = true; m_btn_btn_Take.transform.GetComponentInChildren <UILabel>().text = "领取"; } else if (data.canGetState == 2) { m_btn_btn_Take.isEnabled = false; m_btn_btn_Take.transform.GetComponentInChildren <UILabel>().text = "已领取"; } else { m_btn_btn_Take.isEnabled = false; m_btn_btn_Take.transform.GetComponentInChildren <UILabel>().text = "领取"; } } else { m_btn_btn_Take.isEnabled = false; m_btn_btn_Take.transform.GetComponentInChildren <UILabel>().text = "已领取"; } }