Ejemplo n.º 1
0
    /// <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;
        }
    }
Ejemplo n.º 2
0
 /// <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);
     }
 }
Ejemplo n.º 3
0
    /// <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);
        }
    }