Пример #1
0
    public bool CountDownItem(int protoId, int count)
    {
        bool flag = m_Package.Destroy(protoId, count);

        UpdateDataToUI();
        return(flag);
    }
Пример #2
0
    public bool Destroy(int prototypeId, int count)
    {
        ItemProto itemData = ItemProto.GetItemData(prototypeId);

        if (itemData.category == quest_item)
        {
            return(_missionPak.Destroy(prototypeId, count));
        }
        else
        {
            return(_playerPak.Destroy(prototypeId, count));
        }
    }
Пример #3
0
    void OnAddFuelBtn()
    {
        //lz-2016.11.02 错误 #5426 空对象
        if (null == PeCreature.Instance || PeCreature.Instance.mainPlayer == null || null == m_PPCoal || null == m_Entity)
        {
            return;
        }

        if (!GameConfig.IsMultiMode)
        {
            PlayerPackageCmpt packageCmpt = PeCreature.Instance.mainPlayer.GetCmpt <PlayerPackageCmpt>();
            if (null == packageCmpt)
            {
                return;
            }
            ItemPackage accessor = packageCmpt.package._playerPak;
            if (null == accessor)
            {
                return;
            }

            foreach (CSUI_MaterialGrid mg in m_MatGrids)
            {
                if (null != mg && mg.ItemID != 0)
                {
                    accessor.Destroy(mg.ItemID, mg.NeedCnt);
                    CSUI_MainWndCtrl.CreatePopupHint(mg.transform.position, transform, new Vector3(10, -2, -5), " - " + mg.NeedCnt.ToString(), false);
                }
            }

            m_PPCoal.StartWorkingCounter();

            //		CSUI_Main.ShowStatusBar("The " +  m_Entity.Name +" is full with fuel now");
            CSUI_MainWndCtrl.ShowStatusBar(CSUtils.GetNoFormatString(UIMsgBoxInfo.mFullFuelTips.GetString(), m_Entity.Name));
        }
        else
        {
            m_PPCoal._ColonyObj._Network.PPC_AddFuel();
        }
    }
Пример #4
0
    void OnUpgradeBtn()
    {
        if (PeCreature.Instance.mainPlayer == null)
        {
            return;
        }

        ItemPackage accessor = PeCreature.Instance.mainPlayer.GetCmpt <PlayerPackageCmpt>().package._playerPak;

        //check start
        bool canUpgrade = true;
        bool bEnough    = true;

        foreach (CSUI_MaterialGrid mg in m_MatGrids)
        {
            if (mg.ItemID != 0)
            {
                mg.ItemNum = playerPackageCmpt.package.GetCount(mg.ItemID);
                if (mg.ItemNum < mg.NeedCnt)
                {
                    bEnough = false;
                    new PeTipMsg(PELocalization.GetString(821000001), PeTipMsg.EMsgLevel.Warning);
                    break;
                }
            }
        }

        if (bEnough && !m_Assembly.isUpgrading && !m_Assembly.isDeleting)
        {
            canUpgrade = true;
        }
        else
        {
            canUpgrade = false;
        }

        if (m_Assembly.Level == m_Assembly.GetMaxLevel())
        {
            canUpgrade = false;
        }
        if (!canUpgrade)
        {
            return;
        }
        //check end

        if (!GameConfig.IsMultiMode)
        {
            foreach (CSUI_MaterialGrid mg in m_MatGrids)
            {
                if (mg.ItemID > 0)
                {
                    accessor.Destroy(mg.ItemID, mg.NeedCnt);
                    //package.DeleteItemWithItemID(mg.ItemID, mg.NeedCnt);
                    CSUI_MainWndCtrl.CreatePopupHint(mg.transform.position, this.transform, new Vector3(10, -2, -5), " - " + mg.NeedCnt.ToString(), false);
                }
            }

            m_Assembly.StartUpgradeCounter();

            CSUI_MainWndCtrl.ShowStatusBar(CSUtils.GetNoFormatString(UIMsgBoxInfo.mStartToUpgrade.GetString(), m_Entity.Name));
        }
        else
        {
            m_Assembly._ColonyObj._Network.ASB_LevelUp();
        }
    }
Пример #5
0
    void StartToWork()
    {
        if (!GameConfig.IsMultiMode)
        {
            //lw:2017.4.6 crash PeCreature.Instance.mainPlayer可能为null
            if (PeCreature.Instance != null && PeCreature.Instance.mainPlayer != null)
            {
                PlayerPackageCmpt pkg = PeCreature.Instance.mainPlayer.packageCmpt as PlayerPackageCmpt;
                if (pkg != null)
                {
                    ItemPackage accessor = pkg.package._playerPak;
                    if (m_CurType == CSConst.etEnhance)
                    {
                        //lw:2017.4.6 crash
                        if (m_Enhance != null && m_Enhance.m_Item != null && m_Enhance.m_Item.protoData != null)
                        {
                            // take out material from player
                            foreach (CSUI_MaterialGrid matGrid in m_MatList)
                            {
                                accessor.Destroy(matGrid.ItemID, matGrid.NeedCnt);
                            }

                            m_Enhance.StartCounter();

                            CSUI_MainWndCtrl.ShowStatusBar(CSUtils.GetNoFormatString(UIMsgBoxInfo.mStartToEnhance.GetString(), m_Enhance.m_Item.protoData.GetName()));

                            // Popoup hints
                            foreach (CSUI_MaterialGrid mg in m_MatList)
                            {
                                Vector3 pos = mg.transform.position;
                                CSUI_MainWndCtrl.CreatePopupHint(pos, transform, new Vector3(10, -2, -8), " - " + mg.NeedCnt, false);
                            }
                        }
                    }
                    else if (m_CurType == CSConst.etRepair)
                    {
                        if (null != m_Repair && m_Repair.m_Item != null && m_Repair.m_Item.protoData != null)
                        {
                            // take out material from player
                            foreach (CSUI_MaterialGrid matGrid in m_MatList)
                            {
                                accessor.Destroy(matGrid.ItemID, matGrid.NeedCnt);
                            }

                            m_Repair.StartCounter();
                            CSUI_MainWndCtrl.ShowStatusBar(CSUtils.GetNoFormatString(UIMsgBoxInfo.mStartToRepair.GetString(), m_Repair.m_Item.protoData.GetName()));
                        }
                    }
                    else if (m_CurType == CSConst.etRecyle)
                    {
                        if (m_Recycle != null && m_Recycle.m_Item != null && m_Recycle.m_Item.protoData != null)
                        {
                            m_Recycle.StartCounter();
                            CSUI_MainWndCtrl.ShowStatusBar(CSUtils.GetNoFormatString(UIMsgBoxInfo.mStartToRecycle.GetString(), m_Recycle.m_Item.protoData.GetName()));
                        }
                    }
                }
            }
        }
        else
        {
            //multimode
            if (m_CurType == CSConst.etEnhance)
            {
                m_Enhance._ColonyObj._Network.EHN_Start();
            }
            else if (m_CurType == CSConst.etRepair)
            {
                m_Repair._ColonyObj._Network.RPA_Start();
            }
            else if (m_CurType == CSConst.etRecyle)
            {
                m_Recycle._ColonyObj._Network.RCY_Start();
            }
        }
    }