Exemple #1
0
        public override bool OnMessage(UIMessage msg)
        {
            switch (msg.type)
            {
            case UIMsgType.UpdateManuSlot:
                ManufactFormulaInfo info = (ManufactFormulaInfo)msg.content[0];
                //Update Info
                formulaInfo = info;
                _formulaContentCpmt.RefreshFormulaSlotNum(formulaInfo);
                return(true);

            case UIMsgType.UpdateLevelInfo:
                blockBase.info.levelInfo = (FunctionBlockLevelInfo)msg.content[0];
                UpdateLevel();
                return(true);

            case UIMsgType.UpdateSpeedText:
                //UpdateSpeed
                float Addspeed = (float)msg.content[0];
                manufactoryInfo.AddCurrentSpeed(Addspeed);
                RefreshInfoText(manufactoryInfo.CurrentSpeed, InfoType.Speed);
                return(true);

            case UIMsgType.ProductLine_Formula_Change:
                int formulaID = (int)msg.content[0];
                return(RefreshFormula(formulaID));
            }
            return(false);
        }
Exemple #2
0
        /// <summary>
        /// 更新生产进度条
        /// </summary>
        /// <param name="info"></param>
        public void UpdateProgress(ManufactFormulaInfo info)
        {
            if (info.NotChoose)
            {
                return;
            }
            if (info.inProgress)
            {
                if (currentProgress < targetProgress)
                {
                    currentProgress += (100.0f * Time.deltaTime) / info.currentNeedTime;

                    ProgressValueText.text       = ((int)currentProgress).ToString() + "%";
                    ProgressRingImage.fillAmount = currentProgress / 100.0f;
                }
                else if (currentProgress > targetProgress)
                {
                    // Complete
                    currentProgress = 0;
                    ProgressRingImage.fillAmount = 0;
                    ProgressValueText.text       = ((int)currentProgress).ToString() + "%";
                }
            }
            else
            {
                currentProgress = 0;
                ProgressRingImage.fillAmount = 0;
                ProgressValueText.text       = ((int)currentProgress).ToString() + "%";
            }
        }
Exemple #3
0
        /// <summary>
        /// 更换生产线
        /// </summary>
        /// <param name="formulaID"></param>
        /// <returns></returns>
        bool RefreshFormula(int formulaID)
        {
            if (FormulaModule.GetFormulaDataByID(formulaID) == null)
            {
                return(false);
            }
            ManufactFormulaInfo info = new ManufactFormulaInfo(formulaID, blockBase.info.block);

            ///这里需要初始化一下制造时间
            info.currentNeedTime = (float)info.currentFormulaData.ProductSpeed / (float)manufactoryInfo.CurrentSpeed;

            formulaInfo   = info;
            isfirstChoose = false;
            RefreshFormulaChoose();
            _formulaContentCpmt.Init(info, FormulaContentCmpt.InitType.Normal);

            var manuBase = FunctionBlockManager.Instance.GetManuBlockBase(blockBase.instanceID);

            if (manuBase != null)
            {
                manuBase.formulaInfo = info;
            }

            return(true);
        }
Exemple #4
0
        public override void Awake(params object[] paralist)
        {
            blockBase       = (FunctionBlockBase)paralist[0];
            manufactoryInfo = (ManufactoryInfo)paralist[1];
            formulaInfo     = (ManufactFormulaInfo)paralist[2];
            m_page          = UIUtility.SafeGetComponent <BlockManuPage>(Transform);

            InitTransformRef();
            AddButtonListener();
            InitInfoPanel();
            InitDistrictPanel();
        }
Exemple #5
0
        public override void OnShow(params object[] paralist)
        {
            blockBase       = (FunctionBlockBase)paralist[0];
            manufactoryInfo = (ManufactoryInfo)paralist[1];
            formulaInfo     = (ManufactFormulaInfo)paralist[2];

            AudioManager.Instance.PlaySound(AudioClipPath.UISound.Page_Open);
            RefreshInfoAll(manufactoryInfo);
            if (!formulaInfo.NotChoose)
            {
                _formulaContentCpmt.RefreshFormulaSlotNum(formulaInfo);
            }
            UpdateLevel();
            RefreshFormulaChoose();
        }
Exemple #6
0
        bool RefreshFormula()
        {
            if (FormulaModule.GetFormulaDataByID(_currentFormulaID) == null)
            {
                return(false);
            }

            ManufactFormulaInfo info = new ManufactFormulaInfo(_currentFormulaID);

            if (_formulaContentCmpt != null)
            {
                _formulaContentCmpt.Init(info, FormulaContentCmpt.InitType.FormulaChange);
                _formulaContentCmpt.RefreshManuElementTrans(info, FormulaContentCmpt.InitType.FormulaChange);
            }

            var currentFormulaData = FormulaModule.GetFormulaDataByID(_currentFormulaID);

            _timeText.text    = currentFormulaData.ProductSpeed.ToString("0.0");
            _formulaName.text = FormulaModule.GetFormulaName(currentFormulaData);
            _desc.text        = FormulaModule.GetFormulaDesc(currentFormulaData);
            typeWriter.StartEffect();
            return(true);
        }