Beispiel #1
0
        public void Update()
        {
            if (Status != StatusChecking)
            {
                return;
            }

            // 更新WaitingImage:
            if (WaitingImage)
            {
                var tr        = WaitingImage.transform;
                var curAngle  = tr.rotation.eulerAngles.z;
                var destAngle = curAngle - (360f / WaitingRotateTime) * Time.deltaTime;
                if (destAngle < 0)
                {
                    destAngle += 360f;
                }
                tr.rotation = Quaternion.Euler(0, 0, destAngle);
            }

            // 检查图片是否已经存在。
            if (!ContentImage)
            {
                return;
            }

            if (Time.time - LastCheckTime < _checkInterval)
            {
                return;
            }

            LastCheckTime = Time.time;

            Sprite sprite;

            if (_downLoadByUrl)
            {
                sprite = _resourceCache.LoadSpriteFromLocalFile(PicName);
            }
            else
            {
                if (string.IsNullOrEmpty(ResourcePath))
                {
                    MyLog.ErrorWithFrame(name, "从图片名找不到Assetbundle :" + PicName);
                    return;
                }

                sprite = _resource.GetResource <Sprite>(ResourcePath, PicName);
                if (sprite)
                {
                    _resourceCache.AddSpriteToCache(PicName, sprite);
                }
            }

            if (sprite)
            {
                ContentImage.sprite = sprite;
                if (NativeSize)
                {
                    ContentImage.SetNativeSize();
                }

                SwitchToStatus(StatusComplete);
            }
        }