| | |
| | | RolePointModel rolePointModel { get { return ModelCenter.Instance.GetModel<RolePointModel>(); } } |
| | | DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } } |
| | | |
| | | #region 发送穿戴装备的请求 |
| | | #region 装备 |
| | | |
| | | public ItemModel selectedItem { get; private set; } |
| | | ItemConfig sendItemConfig = null; |
| | |
| | | } |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | #region 发送脱下装备的请求 |
| | | public void PutOffEquip(string guid) |
| | | { |
| | | var item = playerPack.GetItemModelByGUID(guid); |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region 发送放入仓库请求 |
| | | #region 仓库 |
| | | |
| | | public void RequestWarehouseData() |
| | | { |
| | | var openWarehouse = new CA204_tagCMOpenLongWarehouse(); |
| | | GameNetSystem.Instance.SendInfo(openWarehouse); |
| | | } |
| | | |
| | | public void PutInWareHouse(string guid) |
| | | { |
| | | var itemModel = playerPack.GetItemModelByGUID(guid); |
| | |
| | | putInWarehouse.Count = (ushort)itemModel.count; |
| | | GameNetSystem.Instance.SendInfo(putInWarehouse); |
| | | } |
| | | #endregion |
| | | |
| | | #region 发送从仓库取出请求 |
| | | public void TakeOutFromWarehouse(ItemOperateType btnType, string guid) |
| | | { |
| | | var itemModel = playerPack.GetItemModelByGUID(guid); |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 发送使用物品请求 |
| | | #region 使用物品 |
| | | |
| | | public ItemModel useItemModel { get; set; } |
| | | public void UseItem(int itemIndex) |
| | | public ItemModel useItemModel { get; set; } |
| | | public void GotoUseItem(int itemIndex) |
| | | { |
| | | var singlePack = playerPack.GetSinglePackModel(PackType.Item); |
| | | if (singlePack == null) |
| | |
| | | { |
| | | if (itemTipsModel.jumpAndUseTypes[i] == useItemModel.config.Type) |
| | | { |
| | | bool isMakeUse = CheckUseCondition(useItemModel); |
| | | if (isMakeUse && IsHaveMakeNumber(useItemModel.itemPlace)) |
| | | if (CheckUseCondition(useItemModel)) |
| | | { |
| | | if (useItemModel.config.Jump != 0) |
| | | var error = 0; |
| | | if (CanUseItem(useItemModel.itemPlace, 1, out error)) |
| | | { |
| | | WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)useItemModel.config.Jump); |
| | | if (useItemModel.config.Jump != 0) |
| | | { |
| | | WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)useItemModel.config.Jump); |
| | | } |
| | | } |
| | | } |
| | | return; |
| | |
| | | return true; |
| | | } |
| | | |
| | | public bool CheckUseCondition(ItemModel itemModel) |
| | | bool CheckUseCondition(ItemModel itemModel) |
| | | { |
| | | if (!CheckItemUselimit(itemModel.itemId)) |
| | | { |
| | |
| | | { |
| | | if (!CheckIsMaxOfflineTime(maxUseCnt, itemModel)) |
| | | { |
| | | SendMakeUseQuest(itemModel.itemPlace); |
| | | UseItem(itemModel.itemPlace); |
| | | } |
| | | else |
| | | { |
| | |
| | | { |
| | | if (isOk) |
| | | { |
| | | SendMakeUseQuest(itemModel.itemPlace); |
| | | UseItem(itemModel.itemPlace); |
| | | } |
| | | } |
| | | ); |
| | |
| | | ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(itemModel.guid); |
| | | if (cool == null || cool.GetRemainTime() <= 0) |
| | | { |
| | | SendMakeUseQuest(itemModel.itemPlace); |
| | | UseItem(itemModel.itemPlace); |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | public int GetOfflineMaxNum(ItemModel itemModel) |
| | | { |
| | | int remainOffline = HangUpSetModel.Instance.maxOfflinePluginTime - HangUpSetModel.Instance.offlinePluginTime; |
| | |
| | | { |
| | | if (isOk) |
| | | { |
| | | SendMakeUseQuest(itemModel.itemPlace, useNum); |
| | | UseItem(itemModel.itemPlace, useNum); |
| | | } |
| | | }); |
| | | return true; |
| | |
| | | return false; |
| | | } |
| | | |
| | | public void SendMakeUseQuest(int index, int useCnt = 1, int extra = 0) |
| | | public void UseItem(int index, int useCnt = 1, int extra = 0) |
| | | { |
| | | ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.Item, index); |
| | | if (itemModel == null) return; |
| | | |
| | | int haveUseCnt = playerPack.GetDayUseCntByID(itemModel.itemId); |
| | | if (itemModel.config.MaxSkillCnt > 0 && itemModel.config.MaxSkillCnt <= haveUseCnt) |
| | | var itemModel = playerPack.GetItemModelByIndex(PackType.Item, index); |
| | | if (itemModel == null) |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("EverydayUseLimit"); |
| | | return; |
| | | } |
| | | int sumHaveUseCnt = playerPack.GetSumUseCntByID(itemModel.itemId); |
| | | AttrFruitConfig fruitConfig = AttrFruitConfig.Get(itemModel.itemId); |
| | | if (fruitConfig != null && (sumHaveUseCnt >= fruitConfig.MaxUseCnt || useCnt > fruitConfig.MaxUseCnt)) |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("UseCntLimit"); |
| | | return; |
| | | } |
| | | |
| | | SendMainServerMakeUseItem(index, useCnt, extra); |
| | | var error = 0; |
| | | if (CanUseItem(index, useCnt, out error)) |
| | | { |
| | | UseItemMainServer(index, useCnt, extra); |
| | | } |
| | | else |
| | | { |
| | | switch (error) |
| | | { |
| | | case 1: |
| | | SysNotifyMgr.Instance.ShowTip("EverydayUseLimit"); |
| | | break; |
| | | case 2: |
| | | SysNotifyMgr.Instance.ShowTip("UseCntLimit"); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool IsHaveMakeNumber(int index, int useCnt = 1) |
| | | public bool CanUseItem(int index, int useCnt, out int error) |
| | | { |
| | | ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.Item, index); |
| | | if (itemModel == null) return false; |
| | | var itemModel = playerPack.GetItemModelByIndex(PackType.Item, index); |
| | | if (itemModel == null) |
| | | { |
| | | error = 999; |
| | | return false; |
| | | } |
| | | |
| | | int haveUseCnt = playerPack.GetDayUseCntByID(itemModel.itemId); |
| | | if (itemModel.config.MaxSkillCnt > 0 && itemModel.config.MaxSkillCnt <= haveUseCnt) |
| | | var usedCountToday = playerPack.GetDayUseCntByID(itemModel.itemId); |
| | | if (itemModel.config.MaxSkillCnt > 0 && itemModel.config.MaxSkillCnt <= usedCountToday) |
| | | { |
| | | error = 1; |
| | | return false; |
| | | } |
| | | int sumHaveUseCnt = playerPack.GetSumUseCntByID(itemModel.itemId); |
| | | AttrFruitConfig fruitConfig = AttrFruitConfig.Get(itemModel.itemId); |
| | | if (fruitConfig != null |
| | | && (sumHaveUseCnt >= fruitConfig.MaxUseCnt |
| | | || useCnt > fruitConfig.MaxUseCnt)) |
| | | |
| | | var usedCountTotal = playerPack.GetSumUseCntByID(itemModel.itemId); |
| | | var fruitConfig = AttrFruitConfig.Get(itemModel.itemId); |
| | | if (fruitConfig != null && (usedCountTotal >= fruitConfig.MaxUseCnt || useCnt > fruitConfig.MaxUseCnt)) |
| | | { |
| | | error = 1; |
| | | return false; |
| | | } |
| | | |
| | | error = 0; |
| | | return true; |
| | | } |
| | | |
| | | public void SendMainServerMakeUseItem(int index, int useCnt, int extra) |
| | | public void UseItemMainServer(int index, int useCnt, int extra) |
| | | { |
| | | ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.Item, index); |
| | | if (itemModel == null) return; |
| | | var itemModel = playerPack.GetItemModelByIndex(PackType.Item, index); |
| | | if (itemModel == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | CA323_tagCMUseItems useItem = new CA323_tagCMUseItems(); |
| | | var useItem = new CA323_tagCMUseItems(); |
| | | useItem.ItemIndex = (byte)index; |
| | | useItem.UseCnt = (ushort)useCnt; |
| | | useItem.ExData = (uint)extra; |
| | | GameNetSystem.Instance.SendInfo(useItem); //使用物品 |
| | | } |
| | | |
| | | public void SendCrossServerMakeUseItem(int index) |
| | | public void UseItemCrossServer(int index) |
| | | { |
| | | ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.Item, index); |
| | | if (itemModel == null) return; |
| | | var itemModel = playerPack.GetItemModelByIndex(PackType.Item, index); |
| | | if (itemModel == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | CC107_tagCMCrossUseItem useItem = new CC107_tagCMCrossUseItem(); |
| | | var useItem = new CC107_tagCMCrossUseItem(); |
| | | useItem.ItemID = (uint)itemModel.itemId; |
| | | GameNetSystem.Instance.SendToCrossServer(useItem); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 发送拆分请求 |
| | | #region 拆分 |
| | | public void OnClickSplitBtn(string guid) |
| | | { |
| | | WindowCenter.Instance.Open<SplitWin>(); |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region 发送上架请求 |
| | | #region 上架 |
| | | public void PutAwayItem(string guid) |
| | | { |
| | | var itemModel = playerPack.GetItemModelByGUID(guid); |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 点击镶嵌按钮 |
| | | #region 镶嵌 |
| | | public void GotoInlayItem(string guid) |
| | | { |
| | | var model = playerPack.GetItemModelByGUID(guid); |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 点击合成按钮 |
| | | #region 合成 |
| | | public void GotoComposeItem(int jumpId) |
| | | { |
| | | WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)jumpId); |
| | | } |
| | | #endregion |
| | | |
| | | #region 发送出售请求 |
| | | public void SellItem( ItemAttrData attrData) |
| | | #region 出售 |
| | | public void SellItem(ItemAttrData attrData) |
| | | { |
| | | if (attrData.itemConfig.EquipPlace > 0 && attrData.itemConfig.EquipPlace <= (int)RoleEquipType.SpiritAnimal) |
| | | { |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 发送拆解请求 |
| | | #region 拆解 |
| | | public void DismantleItem(ItemAttrData attrData) |
| | | { |
| | | var dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.itemDecompound); |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 发送续费请求 |
| | | #region 续费 |
| | | public void RenewalItem(string guid) |
| | | { |
| | | GuardOverdueWin.guid = guid; |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 获取仓库数据 |
| | | public void RequestWarehouseData() |
| | | { |
| | | var openWarehouse = new CA204_tagCMOpenLongWarehouse(); |
| | | GameNetSystem.Instance.SendInfo(openWarehouse); |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |