public void Init(PReward reward, Module_Global.TargetMatrial target) { InitComponent(); var prop = ConfigManager.Get <PropItemInfo>(target.itemId); if (null == prop) { return; } var getCount = 0; Util.SetItemInfo(IconRoot, prop); if (prop.itemType == PropType.Currency && prop.subType == (int)CurrencySubType.Gold) { getCount = reward.coin; } else if (prop.itemType == PropType.Currency && prop.subType == (int)CurrencySubType.Diamond) { getCount = reward.diamond; } else { var p = Array.Find(reward.rewardList, item => item.itemTypeId == target.itemId); getCount = (int)(p?.num ?? 0); } Util.SetText(GetCount, getCount.ToString()); Util.SetText(OwnCount, $"{target.OwnCount}/{target.targetCount}"); target.isFinish = target.OwnCount >= target.targetCount; OwnCount.color = ColorGroup.GetColor(ColorManagerType.IsMatrialEnough, target.isFinish); }
public void RefreshReward(PReward settleReward) { if (settleReward == null) { return; } List <PItem2> rewards = new List <PItem2>(); if (settleReward.coin > 0) { rewards.Add(GetMoneyPitem(settleReward.coin, CurrencySubType.Gold)); } if (settleReward.diamond > 0) { rewards.Add(GetMoneyPitem(settleReward.diamond, CurrencySubType.Diamond)); } if (settleReward.rewardList != null) { for (int i = 0; i < settleReward.rewardList.Length; i++) { rewards.Add(settleReward.rewardList[i]); } } RefreshReward(rewards); }
public static int GetItemCount(this PReward reward, int targetItemId) { var count = 0; var prop = ConfigManager.Get <PropItemInfo>(targetItemId); if (null == prop) { return(count); } if (prop.itemType == PropType.Currency) { if (prop.subType == (int)CurrencySubType.Gold) { count += reward.coin; } else if (prop.subType == (int)CurrencySubType.Diamond) { count += reward.diamond; } } if (reward.rewardList == null) { return(count); } for (var i = 0; i < reward.rewardList.Length; i++) { if (reward.rewardList[i].itemTypeId == targetItemId) { count += (int)reward.rewardList[i].num; } } return(count); }
private void RefreshRewardList(PReward reward, bool isWin) { if (reward == null) { return; } if (moduleGlobal.targetMatrial.isProcess) { target.Init(reward, moduleGlobal.targetMatrial); } List <PItem2> rewards = new List <PItem2>(); if (reward.diamond > 0) { PItem2 item = PacketObject.Create <PItem2>(); item.itemTypeId = (ushort)CurrencySubType.Diamond; item.num = (uint)reward.diamond; rewards.Add(item); } if (reward.rewardList != null && reward.rewardList.Length > 0) { rewards.AddRange(reward.rewardList); } if (isWin) { winReward.SetItems(rewards); } else { loseReward.SetItems(rewards); } }
public void SetAward(PReward Info, List <GameObject> list, bool pos = true) { if (Info == null) { return; } SetDetailInfo(Info.expr, Info.activePoint, Info.fatigue, Info.coin, Info.diamond, list, pos, Info.rewardList); }
protected override void OnGameDataReset() { m_reward = null; m_settlementData = null; isMatchAgain = false; isInvation = false; opType = OpenWhichPvP.None; ObjectManager.enableUpdate = true; }
private void GetAwardShow(PReward Info, bool isachieve = false)//领取之后的提示 { if (isachieve) { Window_ItemTip.Show(active_text[19], Info); } else { Window_ItemTip.Show(active_text[20], Info); } }
void _Packet(ScRoomReward p) { if (p.reward == null) { m_reward = PacketObject.Create <PReward>(); } else { p.reward.CopyTo(ref m_reward); } FightRecordManager.Set(p); }
public static void Show(string rTitle, PReward reward, bool doubleReward = false) { List <PItem2> list = new List <PItem2>(); var rReward = reward.Clone(); if (rReward.diamond > 0) { var p = PacketObject.Create <PItem2>(); p.itemTypeId = 2; p.star = 1; p.level = 0; p.num = (uint)(rReward.diamond * (doubleReward ? 2 : 1)); list.Add(p); } if (rReward.coin > 0) { var p = PacketObject.Create <PItem2>(); p.itemTypeId = 1; p.star = 1; p.level = 0; p.num = (uint)(rReward.coin * (doubleReward ? 2 : 1)); list.Add(p); } if (rReward.fatigue > 0) { var p = PacketObject.Create <PItem2>(); p.itemTypeId = 15; p.star = 1; p.level = 0; p.num = (uint)(rReward.fatigue * (doubleReward ? 2 : 1)); list.Add(p); } if (rReward.activePoint > 0) { var p = PacketObject.Create <PItem2>(); p.itemTypeId = 14; p.star = 1; p.level = 0; p.num = (uint)(rReward.activePoint * (doubleReward ? 2 : 1)); list.Add(p); } list.AddRange(rReward.rewardList); if (doubleReward) { list.AddRange(rReward.rewardList); } Show(rTitle, list); }
public void SetPVESettlement(PReward reward, TaskInfo chanllengeTask = null, int overStar = 0, int friendPoint = 0, int npcPoint = 0) { //set reward if (reward != null) { reward.CopyTo(ref settlementReward); } settlementTask = chanllengeTask; //set over star settlementStar = overStar; addFriendPoint = friendPoint; addNpcPoint = npcPoint; }
private void ShowSneakSettlement(PReward reward) { lose_Panel.gameObject.SetActive(!moduleLabyrinth.isSneakSuccess); win_Panel.gameObject.SetActive(moduleLabyrinth.isSneakSuccess); lose_pvp.gameObject.SetActive(!moduleLabyrinth.isSneakSuccess); lose_pve.gameObject.SetActive(false); RefreshForNoExp(moduleLabyrinth.isSneakSuccess); RefreshReward(reward, moduleLabyrinth.isSneakSuccess); //必须在最后执行该方法 moduleLabyrinth.OnSneakSettleOver(); OnInComplete(); m_againBtn.SafeSetActive(false); }
public List <PItem2> GetPItem2FromPreward(PReward reward) { List <PItem2> l = new List <PItem2>(); //金币 if (reward.coin > 0) { var item = PacketObject.Create <PItem2>(); item.itemTypeId = 1; item.num = (uint)reward.coin; l.Add(item); } //钻石 if (reward.diamond > 0) { var item = PacketObject.Create <PItem2>(); item.itemTypeId = 2; item.num = (uint)reward.diamond; l.Add(item); } //积分 if (reward.score > 0) { var item = PacketObject.Create <PItem2>(); item.itemTypeId = 8; item.num = (uint)reward.coin; l.Add(item); } //体力 if (reward.fatigue > 0) { var item = PacketObject.Create <PItem2>(); item.itemTypeId = 15; item.num = (uint)reward.coin; l.Add(item); } if (reward.rewardList != null) { l.AddRange(reward.rewardList); } return(l); }
private void ShowUnionBossSettlement(PReward reward) { lose_Panel.gameObject.SetActive(false); win_Panel.gameObject.SetActive(false); lose_pvp.gameObject.SetActive(false); lose_pve.gameObject.SetActive(false); bgBtn.interactable = true; bgBtn.onClick.RemoveAllListeners(); bgBtn.onClick.AddListener(() => { m_boss = false; OnOpenNextPanel(); }); m_bossWin.gameObject.SetActive(modulePVE.isSendWin); m_bossLose.gameObject.SetActive(!modulePVE.isSendWin); SetBossInfo(); m_againBtn.SafeSetActive(false); }
private void OpenExceptChasePanel(PReward reward) { lose_Panel.gameObject.SetActive(!modulePVE.isSendWin); lose_pve.gameObject.SetActive(!modulePVE.isSendWin && !moduleUnion.m_isUnionBossTask); lose_pvp.gameObject.SetActive(false); win_Panel.gameObject.SetActive(modulePVE.isSendWin && !moduleUnion.m_isUnionBossTask); if (modulePVE.isSendWin && !moduleUnion.m_isUnionBossTask) { RefreshReward(reward, true); } else { RefreshForNoExp(false); lose_runeBtnForPvE.interactable = true; lose_weaponBtnForPvE.interactable = true; } }
private void ClearPveCache() { moduleLabyrinth.isSneakSuccess = false; isSendWin = false; lastSendState = PVEOverState.None; isFirstEnterStage = false; enterForFirstTime = false; maxReviveTimes = -1; rebornItemDic.Clear(); labyrinthBuffPropIds.Clear(); propToBuffDic.Clear(); currentReviveTimes = 0; settlementStar = 0; addFriendPoint = 0; addNpcPoint = 0; settlementReward = null; settlementTask = null; duringTranspostScene = false; totalMonsterDeathDic.Clear(); }
public void ShowDetail(PReward reward) { List <ItemPair> list = new List <ItemPair>(); if (reward.diamond > 0) { var p = new ItemPair { itemId = 2, count = reward.diamond }; list.Add(p); } if (reward.coin > 0) { var p = new ItemPair { itemId = 1, count = reward.coin }; list.Add(p); } if (reward.fatigue > 0) { var p = new ItemPair { itemId = 15, count = reward.fatigue }; list.Add(p); } foreach (var p in reward.rewardList) { list.Add(new ItemPair { itemId = p.itemTypeId, count = (int)p.num }); } ShowDetail(list); }
private void ShowNormalPVESettlement(PReward reward) { if (modulePVE.isSendWin && modulePVE.needShowStar) { bgBtn.interactable = true; if (modulePVE.settlementTask.taskStarDetails?.Length > 0) { chaseStarpanel.gameObject.SetActive(true); chaseStarpanel.RefreshPanel(modulePVE.settlementTask, modulePVE.settlementStar); bgBtn.onClick.RemoveAllListeners(); bgBtn.onClick.AddListener(() => { OpenExceptChasePanel(reward); chaseStarpanel.gameObject.SetActive(false); bgBtn.interactable = false; OnInComplete(); }); } else { OpenExceptChasePanel(reward); OnInComplete(); } } else { OpenExceptChasePanel(reward); OnInComplete(); } m_againBtn.SafeSetActive((modulePVE?.currrentStage?.again ?? false) && Module_Chase.CheckChaseCondition(moduleChase.lastStartChase)); m_againBtn?.onClick.RemoveAllListeners(); m_againBtn?.onClick.AddListener(() => { moduleChase.SendStartChase(moduleChase.lastStartChase); }); }
private void RefreshSettlementPanel() { var task = ConfigManager.Get <TaskInfo>(moduleGlobal.targetMatrial.dropInfo?.chaseId ?? 0); target.SafeSetActive(moduleGlobal.targetMatrial.isProcess && task?.stageId == modulePVE.stageId); #region pve if (Level.current.isPvE) { PReward reward = modulePVE.settlementReward; if (moduleLabyrinth.lastSneakPlayer != null) { ShowSneakSettlement(reward); } else if (moduleUnion.m_isUnionBossTask) { ShowUnionBossSettlement(reward); } else { ShowNormalPVESettlement(reward); } } #endregion #region pvp if (Level.current.isPvP) { lose_Panel.gameObject.SetActive(!modulePVP.isWinner); lose_pve.gameObject.SetActive(false); lose_pvp.gameObject.SetActive(!modulePVP.isWinner); win_Panel.gameObject.SetActive(modulePVP.isWinner); if (!modulePVP.isInvation) { RefreshReward(modulePVP.reward, modulePVP.isWinner); if (modulePVP.isWinner && modulePVP.opType == OpenWhichPvP.FreePvP) { modulePlayer.roleInfo.pvpWinTimes++; } } else { RefreshReward(null, modulePVP.isWinner); RefreshForNoExp(modulePVP.isWinner); } //总场次+1 if (!modulePVP.isInvation && modulePVP.opType == OpenWhichPvP.FreePvP) { modulePlayer.pvpTimes++; } OnInComplete(); m_againBtn.SafeSetActive(!modulePVP.isInvation && modulePlayer.pvpTimes > 1); m_againBtn?.onClick.RemoveAllListeners(); m_againBtn?.onClick.AddListener(OnOnceAgain); } #endregion }
private void RefreshReward(PReward reward, bool isWin) { RefreshForNoExp(isWin); if (isWin) { win_levelText.text = modulePlayer.roleInfo.level.ToString(); win_expbar.fillAmount = moduleLogin.lastExpProcess; RefreshExpTextState(win_expShowText); win_score.gameObject.SetActive(false); if (reward != null) { win_expAddText.text = reward.expr > 0 ? Util.Format("+{0}", reward.expr) : "+0"; win_goldAddText.transform.parent.gameObject.SetActive(reward.coin > 0); win_goldAddText.text = Util.Format("+{0}", reward.coin); } if (reward?.score > 0) { if (moduleMatch.isUpDanlv) { RefreshUpDanLvPanel(); } win_score.gameObject.SetActive(true); //没加之前的积分 win_last_score.text = Util.Format("{0}", moduleMatch.rankInfo.score - reward.score); //加多少积分 win_add_score.text = Util.Format("+{0}", reward.score); //当前段位 win_current_danLv.text = moduleMatch.rankInfo.danLv.ToString(); //还差多少积分晋级 var info = ConfigManager.GetAll <PvpLolInfo>(); int max_danLv = info == null ? 8 : info[info.Count - 1].ID; win_dis_nextScore.transform.parent.gameObject.SetActive(moduleMatch.rankInfo.danLv < max_danLv); if (moduleMatch.rankInfo.danLv < max_danLv && info != null) { win_dis_nextScore.text = Util.Format("{0}", info[moduleMatch.rankInfo.danLv].integral - moduleMatch.rankInfo.score); } //显示logo for (int i = 0; i < win_logos_parent.childCount; i++) { win_logos_parent.GetChild(i).gameObject.SetActive(i + 1 == moduleMatch.rankInfo.danLv); } } RefreshRewardList(reward, true); } else { lose_levelText.text = modulePlayer.roleInfo.level.ToString(); lose_expbar.fillAmount = moduleLogin.lastExpProcess; RefreshExpTextState(lose_expShowText); lose_score.gameObject.SetActive(false); if (reward != null) { lose_expAddText.text = reward.expr > 0 ? Util.Format("+{0}", reward.expr) : "+0"; lose_goldAddText.transform.parent.gameObject.SetActive(reward.coin > 0); lose_goldAddText.text = Util.Format("+{0}", reward.coin); if (reward.score < 0) { lose_score.gameObject.SetActive(true); //没加之前的积分 lose_last_score.text = Util.Format("{0}", moduleMatch.rankInfo.score - reward.score); //加多少积分 lose_add_score.text = Util.Format("{0}", reward.score); //当前段位 lose_current_danLv.text = moduleMatch.rankInfo.danLv.ToString(); //还差多少积分晋级 var info = ConfigManager.GetAll <PvpLolInfo>(); int max_danLv = info == null ? 8 : info[info.Count - 1].ID; lose_dis_nextScroe.transform.parent.gameObject.SetActive(moduleMatch.rankInfo.danLv < max_danLv); if (moduleMatch.rankInfo.danLv < max_danLv && info != null) { lose_dis_nextScroe.text = Util.Format("{0}", info[moduleMatch.rankInfo.danLv].integral - moduleMatch.rankInfo.score); } //显示logo for (int i = 0; i < lose_logos_parent.childCount; i++) { lose_logos_parent.GetChild(i).gameObject.SetActive(i + 1 == moduleMatch.rankInfo.danLv); } } } RefreshRewardList(reward, false); } }
public void ShowDetail(PReward reward) { ShowDetail(ItemList(reward)); }