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); }
/// <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() + "%"; } }
/// <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); }
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(); }
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(); }
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); }