public void Launch(int numberOfTasks, CallBack IsLoadingCompleted) { Init(); mNumberOfTasks = numberOfTasks; mIsLoadingCompleted = IsLoadingCompleted; mStatus = eProgressStatus.INPROGRESS; }
private void Init() { mRectTransform = GetComponent <RectTransform>(); mRectTransform.sizeDelta = new Vector2(0, mRectTransform.sizeDelta.y); mFillingSpeedSlow = 120f; // TEMP mFillingSpeedFast = 240f; // TEMP mCurrentSpeed = mFillingSpeedSlow; mMaxWidth = 454f; // TEMP mStatus = eProgressStatus.INACTION; mNumberOfTasks = 1; mCurrentTaskIndex = 0; }
void Update() { if (mStatus == eProgressStatus.WAITING) { if (mIsLoadingCompleted(mCurrentTaskIndex)) { ++mCurrentTaskIndex; if (mCurrentTaskIndex == mNumberOfTasks) { mStatus = eProgressStatus.INACTION; } else { mStatus = eProgressStatus.INPROGRESS; mCurrentSpeed = mFillingSpeedSlow; } } } else if (mStatus == eProgressStatus.INPROGRESS) { if (mIsLoadingCompleted(mCurrentTaskIndex)) { mCurrentSpeed = mFillingSpeedFast; } int currentWidth = (int)((mMaxWidth / mNumberOfTasks) * (mCurrentTaskIndex + 1)); if (mRectTransform.sizeDelta.x < currentWidth) { float newWidth = mRectTransform.sizeDelta.x + mCurrentSpeed * Time.deltaTime; mRectTransform.sizeDelta = new Vector2(newWidth, mRectTransform.sizeDelta.y); } else { mStatus = eProgressStatus.WAITING; } } }
public ProgressItem() { SerialNo = -1; Work_Title = ""; Status = eProgressStatus.Waiting; }
public void Fill() { mRectTransform.sizeDelta = new Vector2(mMaxWidth, mRectTransform.sizeDelta.y); mStatus = eProgressStatus.INACTION; }