Example #1
0
        public void Run()
        {
            if (!_isRunning)
            {
                return;
            }
            if (_iCurUnit >= _units.Count)
            {
                //끝. 성공!
                _isRunning      = false;
                _isSuccess      = true;
                _curProcessX100 = 100;

                //Debug.Log("Process Success : " + _strProcessLabel);
                return;
            }
            ProcessUnit curUnit = _units[_iCurUnit];



            //실행하고 퍼센트를 높이자
            if (!curUnit.Run(_iSubProcess))
            {
                //실패 했네염..
                _isRunning      = false;
                _isSuccess      = false;
                _curProcessX100 = 0;
                Debug.LogError("AnyPortrait : PSD Process Failed : " + _strProcessLabel + " (Current Step : " + _iCurUnit + " / Sub Procss : " + _iSubProcess + ")");
                return;
            }

            _iTotalProcess++;
            _iSubProcess++;

            if (_iSubProcess >= curUnit._count)
            {
                _iSubProcess = 0;
                _iCurUnit++;
            }

            _curProcessX100 = (int)Mathf.Clamp((((float)_iTotalProcess * 100.0f) / (float)_totalProcessCount), 0, 100);
        }