/// <summary> /// 打开确认面板 /// </summary> /// <param name="type">操作类型</param> public void OpenConfim(MsgProduceConfim confim)//消耗数据 { ProduceOrder type = confim.OrderType; m_SelectProduceTid = confim.Tid; switch (type) { case ProduceOrder.Produce: //生产 m_ReturnTitle.text = string.Format(TableUtil.GetLanguageString("production_text_1025"), TableUtil.GetItemName(m_FoundryProxy.GetItemByProduceKey(m_SelectProduceTid).Id)); m_HintLabel.text = ""; break; case ProduceOrder.Canel: //取消生产 m_ReturnTitle.text = TableUtil.GetLanguageString("production_text_1026"); m_HintLabel.text = TableUtil.GetLanguageString("production_text_1041"); m_IconList.Clear(); Item[] items = m_FoundryProxy.GetEffectItem(m_SelectProduceTid); EffectElement?[] effects = m_FoundryProxy.GetEffectElementsByProduceTid(m_SelectProduceTid); for (int i = 0; i < items.Length; i++) { IconManager.Instance.LoadItemIcon <IconCommon>(IconConstName.ICON_COMMON, m_ReturnItemRoot, (icon) => { m_IconList.Add(icon); icon.SetData(TableUtil.GetItemIconTid(items[i].Id), items[i].Quality, (int)effects[i].Value.Value); }); } break; case ProduceOrder.Recevie: //领取 不要图标 m_ReturnTitle.text = TableUtil.GetLanguageString("production_text_1028"); m_HintLabel.text = ""; break; case ProduceOrder.SpeedUp: //加速 m_ReturnTitle.text = TableUtil.GetLanguageString("production_text_1027"); m_HintLabel.text = TableUtil.GetLanguageString("production_text_1040"); m_IconList.Clear(); IconManager.Instance.LoadItemIcon <IconCommon>(IconConstName.ICON_COMMON, m_ReturnItemRoot, (icon) => { m_IconList.Add(icon); icon.SetData(TableUtil.GetItemIconTid(GameConstant.CurrencyConst.RECHARGE_CURRENCY_ITEM_TID), TableUtil.GetItemQuality(GameConstant.CurrencyConst.RECHARGE_CURRENCY_ITEM_TID), (int)confim.ExpendNum); }); break; default: break; } }
/// <summary> /// v 键按下 取消 /// </summary> /// <param name="callbackContext"></param> public void OnCanelProduce(HotkeyCallback callbackContext) { if (callbackContext.started) { if (!m_HoldCancelDown) { m_ProducingTid = m_SelectProduceTid; m_HoldCancelDown = true; //if (Mathf.Approximately(m_ProduceView.GetDownProgressImage().fillAmount, 0.0f)) { MsgProduceConfim msgProduceConfim = new MsgProduceConfim(); msgProduceConfim.OrderType = ProduceOrder.Canel; msgProduceConfim.Tid = m_SelectProduceTid; GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDER, msgProduceConfim); } } if (m_ProducingTid == m_SelectProduceTid && !m_Discard) { GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDE_SHOW); float progress = (float)((callbackContext.time - callbackContext.startTime) / callbackContext.duration); if (m_ProduceView.GetDownProgressImage() != null) { m_ProduceView.GetDownProgressImage().fillAmount = progress; } } else { GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDE_RRETRIEVE); m_Discard = true; WwiseUtil.PlaySound((int)WwiseMusic.Music_Production_ToCancel, false, null); } } if (callbackContext.performed && m_ProducingTid == m_SelectProduceTid && !m_Discard) { WwiseUtil.PlaySound((int)WwiseMusic.Music_Resolve_Over, false, null); CanelProduceCallBack(); GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDE_RRETRIEVE); WwiseUtil.PlaySound((int)WwiseMusic.Music_Production_end, false, null); m_HoldCancelDown = false; } if (callbackContext.cancelled) { GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDE_RRETRIEVE); m_Discard = false; m_HoldCancelDown = false; WwiseUtil.PlaySound((int)WwiseMusic.Music_Production_ToCancel, false, null); } }
/// <summary> /// 空格键按下 生产 加速 领取 /// </summary> /// <param name="callbackContext">参数</param> public void OnProduce(HotkeyCallback callbackContext) { if (callbackContext.started) { if (!m_HoldProduceDown) { m_HoldProduceDown = true; if (m_SelectProduceTid > 0) { m_ProducingTid = m_SelectProduceTid; if (m_FoundryProxy.GetBluePrintDic().TryGetValue(m_SelectProduceTid, out ProduceInfoVO girdInfo)) { //if (girdInfo.BluePrintState == ProduceState.CanProduce) //{ // MsgProduceConfim msgProduceConfim = new MsgProduceConfim(); // msgProduceConfim.OrderType = ProduceOrder.Produce; // msgProduceConfim.Tid = m_SelectProduceTid; // GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDER, msgProduceConfim); //} if (girdInfo.BluePrintState == ProduceState.Producing) { ProduceInfoVO foundryMember = m_FoundryProxy.GetFoundryMemberByTID(girdInfo.TID); if (foundryMember != null) { MsgProduceConfim msgProduceConfim = new MsgProduceConfim(); msgProduceConfim.OrderType = ProduceOrder.SpeedUp; msgProduceConfim.Tid = m_SelectProduceTid; msgProduceConfim.ExpendNum = GetNeedGlod(m_SelectProduceTid); GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDER, msgProduceConfim); } else { Debug.Log("fuwuqi不包含"); } } } else { Debug.Log("不包含"); } } WwiseUtil.PlaySound((int)WwiseMusic.Music_Production_began, false, null); } if (m_ProducingTid == m_SelectProduceTid && !m_Discard) { GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDE_SHOW); float progress = (float)((callbackContext.time - callbackContext.startTime) / callbackContext.duration); if (m_ProduceView.GetDownProgressImage() != null) { m_ProduceView.GetDownProgressImage().fillAmount = progress; } float repc = progress * m_SoundRtpcOffet; WwiseManager.SetParameter(WwiseRtpc.Rtpc_UI_Hotkey, repc); } else { GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDE_RRETRIEVE); m_Discard = true; WwiseUtil.PlaySound((int)WwiseMusic.Music_Production_ToCancel, false, null); } } if (callbackContext.performed && m_ProducingTid == m_SelectProduceTid && !m_Discard) { GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDE_RRETRIEVE); ProduceCallBack(); m_HoldProduceDown = false; WwiseUtil.PlaySound((int)WwiseMusic.Music_Production_end, false, null); } if (callbackContext.cancelled) { GameFacade.Instance.SendNotification(NotificationName.MSG_PRODUCE_ORDE_RRETRIEVE); m_Discard = false; m_HoldProduceDown = false; WwiseUtil.PlaySound((int)WwiseMusic.Music_Production_ToCancel, false, null); } }