private void UpdateCompoundDeputyEquipAll() { Equip data = Data; if (null == data) { return; } bool canCompound = data.CanCompound; if (null != m_trans_CompoundDeputyContent && m_trans_CompoundDeputyContent.gameObject.activeSelf != canCompound) { m_trans_CompoundDeputyContent.gameObject.SetActive(canCompound); } if (null != m_label_CompoundWarningTxt && m_label_CompoundWarningTxt.gameObject.activeSelf == canCompound) { m_label_CompoundWarningTxt.gameObject.SetActive(!canCompound); } if (canCompound) { m_label_CompoundNoticeTxt.text = m_tmgr.GetLocalFormatText(LocalTextType.forging_compose_deputy_notice , m_tmgr.GetProfessionName((GameCmd.enumProfession)data.BaseData.useRole) , EquipDefine.GetEquipPosName(data.EPos)); UpdateCompoundDeputyEquip(0); UpdateCompoundDeputyEquip(1); UpdateCompoundDeputyEquip(2); } }
public void ApplyCurrency(Character character, EquipDefine equipDefine) { character.Gold += equipDefine.SellPrice; if (equipDefine.SellCurrencyID != null) { for (int i = 0; i < equipDefine.SellCurrencyID.Count; i++) { character.itemManager.AddItem(equipDefine.SellCurrencyID[i], equipDefine.SellCurrencyPrice[i]); } } }
/// <summary> /// automatically called to equip the current pending item /// </summary> /// <param name="result"></param> /// <param name="errormsg"></param> private void OnItemEquip(Result result, string errormsg) { Debug.LogFormat("EquipManager->OnItemEquip: result: {0}", result); if (result == Result.Failed) { Debug.LogFormat("the item {0} cannot be equipped", pendingEquip); return; } if (pendingEquip == 0) { Debug.LogErrorFormat("No pending item can be found", pendingEquip); return; } if (isEquip) { EquipDefine equip = DataManager.Instance.Equips[pendingEquip]; equipments[(int)equip.Slot] = pendingEquip; ItemManager.Instance.RemoveItem(pendingEquip); BagManager.Instance.SortBagItem(); //refresh UI BagPanel panel = UIManager.Instance.GetPanel <BagPanel>(typeof(BagPanel)); if (panel != null) { panel.Refresh(); } pendingEquip = 0; } else { EquipDefine equip = DataManager.Instance.Equips[pendingEquip]; equipments[(int)equip.Slot] = 0; ItemManager.Instance.AddItem(pendingEquip); BagManager.Instance.SortBagItem(); //refresh UI BagPanel panel = UIManager.Instance.GetPanel <BagPanel>(typeof(BagPanel)); if (panel != null) { panel.Refresh(); } pendingEquip = 0; } ItemManager.Instance.Speak(); }
/// <summary> /// 初始化装备格子 /// </summary> /// <param name="pos"></param> public void InitEquipGrid(GameCmd.EquipPos pos) { m_emEPos = pos; bool visible = (m_emEPos != GameCmd.EquipPos.EquipPos_SoulOne && m_emEPos != GameCmd.EquipPos.EquipPos_SoulTwo && m_emEPos != GameCmd.EquipPos.EquipPos_None); if (null != m_tsStrengthen && m_tsStrengthen.gameObject.activeSelf != visible) { m_tsStrengthen.gameObject.SetActive(visible); } SetPreView(EquipDefine.GetEquipPartIcon(pos)); }
/// <summary> /// send item equipment request to item service /// </summary> /// <param name="itemID"></param> /// <param name="slot"></param> /// <param name="isEquip"></param> public void EquipItem(int itemID, bool isEquip) { if (!DataManager.Instance.Items.ContainsKey(itemID) || DataManager.Instance.Items[itemID].Type != E_ItemType.EQUIP) { return; } EquipDefine define = null; if (!DataManager.Instance.Equips.TryGetValue(itemID, out define)) { return; } pendingEquip = itemID; this.isEquip = isEquip; int slot = (int)define.Slot; ItemService.Instance.SendEquipItem(itemID, slot, isEquip); }
protected override void OnUpdateData() { base.OnUpdateData(); if (!IsEquip) { return; } m_localDataBase = DataManager.Manager <ItemManager>().GetLocalDataBase <table.EquipDataBase>(baseId); if (null == m_localDataBase) { Engine.Utility.Log.Error("BaseEquip->OnUpdateData m_localDataBase null baseId:{0}", baseId); return; } m_bCompoundMaskEnable = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Compound); m_bCanCompound = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Compound) && AdditionAttrCount > 0; m_bCanSplit = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Split) && AdditionAttrCount > 0; m_bCanRefine = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Refine); if (null == BaseData) { Engine.Utility.Log.Error("BaseEquip->OnUpdateData BaseData null baseId:{0}", baseId); return; } eType = (GameCmd.EquipType)BaseData.subType; if (BaseData.grade > (int)EquipDefine.EquipGradeType.None && BaseData.grade < (int)EquipDefine.EquipGradeType.Max) { m_equipGrade = (EquipDefine.EquipGradeType)BaseData.grade; } BaseEquipUpdateAttr(); BaseEquipUpdateLocation(); }
private void BaseEquipUpdateLocation() { if (!IsEquip) { return; } if (ServerData != null && PackType == GameCmd.PACKAGETYPE.PACKAGETYPE_EQUIP) { ePos = (GameCmd.EquipPos)((int)Position.y); } else { GameCmd.EquipPos[] equipPos = EquipDefine.GetEquipPosByEquipType((GameCmd.EquipType)BaseData.subType); if (null != equipPos && equipPos.Length > 0) { ePos = equipPos[0]; } } m_bIsWear = DataManager.Manager <EquipManager>().IsWearEquip(QWThisID); }
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); }
/// <summary> /// 刷新 /// </summary> private void UpdateStrengthen() { if (m_emSelectInlayPos == GameCmd.EquipPos.EquipPos_None) { return; } bool isMax = emgr.IsGridStrengthenMax(m_emSelectInlayPos); if (null != m_label_ActiveSuitLvTxt) { m_label_ActiveSuitLvTxt.text = emgr.ActiveStrengthenSuitLv.ToString(); } if (null != m_strengthen) { bool equipGrid = false; uint equipId = 0; if (emgr.IsEquipPos(m_emSelectInlayPos, out equipId)) { equipGrid = true; } equipGrid = equipGrid && !isMax; if (m_strengthen.gameObject.active != equipGrid) { m_strengthen.SetVisible(equipGrid); } if (equipGrid) { m_strengthen.SetGridData(equipId); } } if (null != m_label_StrengthenPosName) { m_label_StrengthenPosName.text = string.Format("{0}.部位", EquipDefine.GetEquipPosName(m_emSelectInlayPos)); } if (null != m_sprite_StrengthenPosIcon) { m_sprite_StrengthenPosIcon.spriteName = EquipDefine.GetEquipPartIcon(m_emSelectInlayPos); m_sprite_StrengthenPosIcon.MakePixelPerfect(); } //强化属性提升 bool enable = !isMax; EquipDefine.LocalGridStrengthenData next = (enable)? emgr.GetNextStrengthDataByPos(m_emSelectInlayPos) : null; if (null != m_label_StrengthenCurLv) { if (m_label_StrengthenCurLv.gameObject.activeSelf != enable) { m_label_StrengthenCurLv.gameObject.SetActive(enable); } if (enable) { m_label_StrengthenCurLv.text = string.Format("强化 {0}级", emgr.GetGridStrengthenLvByPos(m_emSelectInlayPos)); } } if (null != m_label_StrengthenTargetLv) { if (m_label_StrengthenTargetLv.gameObject.activeSelf != enable) { m_label_StrengthenTargetLv.gameObject.SetActive(enable); } if (enable) { m_label_StrengthenTargetLv.text = string.Format("强化 {0}级", emgr.GetGridStrengthenLvByPos(m_emSelectInlayPos) + 1); } } if (null != m_label_StrengthenMaxLv) { if (m_label_StrengthenMaxLv.gameObject.activeSelf != isMax) { m_label_StrengthenMaxLv.gameObject.SetActive(isMax); } if (isMax) { m_label_RefineMaxLv.text = string.Format("强化 {0}级", emgr.GetGridStrengthenLvByPos(m_emSelectInlayPos));; } } List <EquipDefine.EquipBasePropertyData> curBaseProData = (null != StrengthenData) ? StrengthenData.BaseProp : null; List <EquipDefine.EquipBasePropertyData> nextBaseProData = (enable) ? emgr.GetNextStrengthDataByPos(m_emSelectInlayPos).BaseProp : null; Transform content = null; Transform max = null; bool propertyenable = false; if (null != m_trans_StrengthenEquipProperty1) { propertyenable = (null != curBaseProData) && (curBaseProData.Count > 0) || (null != nextBaseProData) && (nextBaseProData.Count > 0); if (m_trans_StrengthenEquipProperty1.gameObject.activeSelf != propertyenable) { m_trans_StrengthenEquipProperty1.gameObject.SetActive(propertyenable); } if (propertyenable) { content = m_trans_StrengthenEquipProperty1.Find("Content"); max = m_trans_StrengthenEquipProperty1.Find("Max"); if (content.gameObject.activeSelf != enable) { content.gameObject.SetActive(enable); } if (enable) { content.Find("Name").GetComponent <UILabel>().text = ((null != curBaseProData && curBaseProData.Count > 0) ? curBaseProData[0].Name : nextBaseProData[0].Name); content.Find("CurValue").GetComponent <UILabel>().text = "+" + ((null != curBaseProData && curBaseProData.Count > 0) ? curBaseProData[0].ToString() : "0"); content.Find("TargetValue").GetComponent <UILabel>().text = "+" + nextBaseProData[0].ToString(); } if (max.gameObject.activeSelf == enable) { max.gameObject.SetActive(!enable); } if (!enable) { max.Find("AttrTxt").GetComponent <UILabel>().text = string.Format("{0} +{1}" , curBaseProData[0].Name , curBaseProData[0]); } } } if (null != m_trans_StrengthenEquipProperty2) { propertyenable = (null != curBaseProData) && (curBaseProData.Count > 1) || (null != nextBaseProData) && (nextBaseProData.Count > 1); if (m_trans_StrengthenEquipProperty2.gameObject.activeSelf != propertyenable) { m_trans_StrengthenEquipProperty2.gameObject.SetActive(propertyenable); } if (propertyenable) { content = m_trans_StrengthenEquipProperty2.Find("Content"); max = m_trans_StrengthenEquipProperty2.Find("Max"); if (content.gameObject.activeSelf != enable) { content.gameObject.SetActive(enable); } if (enable) { content.Find("Name").GetComponent <UILabel>().text = ((null != curBaseProData && curBaseProData.Count > 1) ? curBaseProData[1].Name : nextBaseProData[1].Name); content.Find("CurValue").GetComponent <UILabel>().text = "+" + ((null != curBaseProData && curBaseProData.Count > 1) ? curBaseProData[1].ToString() : "0"); content.Find("TargetValue").GetComponent <UILabel>().text = "+" + nextBaseProData[1].ToString(); } if (max.gameObject.activeSelf == enable) { max.gameObject.SetActive(!enable); } if (!enable) { max.Find("AttrTxt").GetComponent <UILabel>().text = string.Format("{0} +{1}" , curBaseProData[1].Name , curBaseProData[1]); } } } if (null != m_trans_StrengthenMax) { if (m_trans_StrengthenMax.gameObject.activeSelf != isMax) { m_trans_StrengthenMax.gameObject.SetActive(isMax); } } //设置消耗材料 SetStrengthenCostMaterial(); //设置消耗钱币 SetStrengthenCost(); RefreshBtnState(); }
public void SetGridViewData(GameCmd.EquipPos pos, bool inlay = false) { this.data = pos; if (null != m_labName) { m_labName.text = string.Format("{0}.部位", EquipDefine.GetEquipPosName(this.data)); } if (null != gemHoleContent && gemHoleContent.activeSelf != inlay) { gemHoleContent.gameObject.SetActive(inlay); } if (null != m_labStrengthenDes && m_labStrengthenDes.gameObject.activeSelf == inlay) { m_labStrengthenDes.gameObject.SetActive(!inlay); } uint StrengthenLv = 0; if (!inlay) { StrengthenLv = DataManager.Manager <EquipManager>().GetGridStrengthenLvByPos(this.data); m_labStrengthenDes.text = string.Format("强化 {0}级" , StrengthenLv); } uint equipId = 0; bool equip = DataManager.Manager <EquipManager>().IsEquipPos(this.data, out equipId); ResetInfoGrid(equip); if (equip) { Equip itemData = DataManager.Manager <ItemManager>().GetBaseItemByQwThisId <Equip>(equipId); SetIcon(true, itemData.Icon); SetBorder(true, itemData.BorderIcon); SetBindMask(itemData.IsBind); uint particleID = DataManager.Manager <EquipManager>().GetEquipParticleIDByStrengthenLevel(StrengthenLv); AddParticle(particleID); } else { if (particle != null) { particle.ReleaseParticle(); } } if (null != icon) { if (icon.gameObject.activeSelf == equip) { icon.gameObject.SetActive(equip); } if (!equip) { string iconName = EquipDefine.GetEquipPartIcon(this.data); UIManager.GetAtlasAsyn(iconName, ref m_bgIcon, () => { if (null != icon) { icon.atlas = null; } }, icon); } } bool match = false; if (inlay) { for (EquipManager.EquipGridIndexType i = EquipManager.EquipGridIndexType.First; i < EquipManager.EquipGridIndexType.Max; i++) { if (DataManager.Manager <ForgingManager>().EquipPosCanInlay(this.data, i)) { match = true; } } } else { match = DataManager.Manager <ForgingManager>().JudgeEquipPosCanStrengthen(this.data); } SetRedPointStatus(match); }
public bool EquipItem(NetConnection <NetSession> sender, int itemID, int slot) { if (items.ContainsKey(itemID) && items[itemID].Count > 0) { ItemDefine itemDefine = DataManager.Instance.Items[itemID]; if (itemDefine == null || itemDefine.Type != E_ItemType.EQUIP) { return(false); } EquipDefine equipDefine = DataManager.Instance.Equips[itemID]; if (equipDefine == null || (int)equipDefine.Slot != slot) { return(false); } #region change equipment switch (slot) { case (int)EquipSlot.Weapon: if (this.owner.Data.Equip.Weapon != 0) { this.AddItem(this.owner.Data.Equip.Weapon); } this.owner.Data.Equip.Weapon = itemID; this.owner.Info.Equip.Equips[slot] = itemID; this.ConsumeItem(itemID); break; case (int)EquipSlot.Accessory: if (this.owner.Data.Equip.Accessory != 0) { this.AddItem(this.owner.Data.Equip.Accessory); } this.owner.Data.Equip.Accessory = itemID; this.owner.Info.Equip.Equips[slot] = itemID; this.ConsumeItem(itemID); break; case (int)EquipSlot.Helmet: if (this.owner.Data.Equip.Helmet != 0) { this.AddItem(this.owner.Data.Equip.Helmet); } this.owner.Data.Equip.Helmet = itemID; this.owner.Info.Equip.Equips[slot] = itemID; this.ConsumeItem(itemID); break; case (int)EquipSlot.Chest: if (this.owner.Data.Equip.Chest != 0) { this.AddItem(this.owner.Data.Equip.Chest); } this.owner.Data.Equip.Chest = itemID; this.owner.Info.Equip.Equips[slot] = itemID; this.ConsumeItem(itemID); break; case (int)EquipSlot.Shoulder: if (this.owner.Data.Equip.Shoulder != 0) { this.AddItem(this.owner.Data.Equip.Shoulder); } this.owner.Data.Equip.Shoulder = itemID; this.owner.Info.Equip.Equips[slot] = itemID; this.ConsumeItem(itemID); break; case (int)EquipSlot.Pants: if (this.owner.Data.Equip.Pants != 0) { this.AddItem(this.owner.Data.Equip.Pants); } this.owner.Data.Equip.Pants = itemID; this.owner.Info.Equip.Equips[slot] = itemID; this.ConsumeItem(itemID); break; case (int)EquipSlot.Boots: if (this.owner.Data.Equip.Boots != 0) { this.AddItem(this.owner.Data.Equip.Boots); } this.owner.Data.Equip.Boots = itemID; this.owner.Info.Equip.Equips[slot] = itemID; this.ConsumeItem(itemID); break; } #endregion return(true); } return(false); }
/// <summary> /// 初始化时装格子 /// </summary> /// <param name="suitType"></param> public void InitSuitGrid(GameCmd.EquipSuitType suitType) { SetPreView(EquipDefine.GetSuitIcon(suitType)); }