예제 #1
0
    public override void OnShow(object msg)
    {
        base.OnShow(msg);
        MsgOpenProduce msgOpenProduce = (MsgOpenProduce)msg;

        m_CurrentType = msgOpenProduce.CurrentProduceType;
    }
예제 #2
0
    /// <summary>
    /// 视图打开时调用
    /// </summary>
    /// <param name="owner">父视图</param>
    public override void OnShow(object msg)
    {
        base.OnShow(msg);
        m_FoundryProxy     = GameFacade.Instance.RetrieveProxy(ProxyName.FoundryProxy) as FoundryProxy;
        m_PackageProxy     = GameFacade.Instance.RetrieveProxy(ProxyName.PackageProxy) as PackageProxy;
        m_CfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy;
        m_ServerListProxy  = GameFacade.Instance.RetrieveProxy(ProxyName.ServerListProxy) as ServerListProxy;
        m_ShipProxy        = GameFacade.Instance.RetrieveProxy(ProxyName.ShipProxy) as ShipProxy;
        HOLD_TIME          = State.GetAction(UIAction.Product_Accelerate).StateList[0].Time;
        m_ExpendNumber     = m_CfgEternityProxy.GetGamingConfig(1).Value.Produce.Value.FinishExpenseRate;
        m_ProduceView      = OwnerView as ProduceView;
        m_FoundryProxy.GetAllDataByTable();
        m_PartProduceList = m_FoundryProxy.GetDataByMainType(BlueprintL1.Material);//零件
        NetworkManager.Instance.GetFoundryController().SendGetFoundryInfo();
        MsgOpenProduce msgOpenProduce = (MsgOpenProduce)msg;

        m_CurrentType = msgOpenProduce.CurrentProduceType;
        m_Grad        = (int)msgOpenProduce.MProduceDialogType;
        m_GradOld     = m_Grad;

        State.OnSelectionChanged -= OnSelectionDataChanged;
        State.OnSelectionChanged += OnSelectionDataChanged;
        State.GetAction(UIAction.Product_Accelerate).Callback        += OnProduce;
        State.GetAction(UIAction.Product_Cancel).Callback            += OnCanelProduce;
        State.GetAction(UIAction.Product_ProduceAndCollect).Callback += OnRevecie;
        State.GetAction(UIAction.Product_Accelerate).Visible          = false;
        switch (m_CurrentType)
        {
        case ProduceType.HeavyWeapon:
            m_CurrentBlueprintType = BlueprintL1.Weapon;
            break;

        case ProduceType.Reformer:
            m_CurrentBlueprintType = BlueprintL1.Reformer;
            break;

        case ProduceType.Chip:
            m_CurrentBlueprintType = BlueprintL1.EquipmentMod;
            break;

        case ProduceType.Device:
            m_CurrentBlueprintType = BlueprintL1.Equipment;
            break;

        case ProduceType.Ship:
            m_CurrentBlueprintType = BlueprintL1.Warship;
            m_FoundryProxy.InitShipPackage();
            break;

        default:
            break;
        }
    }
    /// <summary>
    /// 选择打开子面板
    /// </summary>
    /// <param name="typeName">面板名字</param>
    public virtual void SelectOpen(int index)
    {
        ProduceDialogType type = (ProduceDialogType)index;

        UIManager.Instance.ClosePanel(OwnerView);

        UIManager.Instance.StartCoroutine(Excute(0, () =>
        {
            MsgOpenProduce msgOpenProduce     = new MsgOpenProduce();
            msgOpenProduce.MProduceDialogType = type;
            msgOpenProduce.CurrentProduceType = m_CurrentProduceType;
            switch (m_CurrentProduceType)
            {
            case ProduceType.HeavyWeapon:
                UIManager.Instance.OpenPanel(UIPanel.ProduceWeaponPanel, msgOpenProduce);
                break;

            case ProduceType.Reformer:
                UIManager.Instance.OpenPanel(UIPanel.ProduceReformerPanel, msgOpenProduce);
                break;

            case ProduceType.Chip:
                UIManager.Instance.OpenPanel(UIPanel.ProduceChipPanel, msgOpenProduce);
                break;

            case ProduceType.Device:
                UIManager.Instance.OpenPanel(UIPanel.ProduceDevicePanel, msgOpenProduce);
                break;

            case ProduceType.Ship:
                UIManager.Instance.OpenPanel(UIPanel.ProduceShipPanel, msgOpenProduce);
                break;

            default:
                break;
            }
        }
                                                 ));
    }