Exemple #1
0
    protected override void Init()
    {
        Type type = Type.GetType(_nodeName);

        if (PageManager.Instance.CurrentPage != null)
        {
            var nodeInstance = PageManager.Instance.CurrentPage.GetNode(type);
            if (nodeInstance != null)
            {
                var startPoint = nodeInstance.transform.Find(_targetPathS);
                var endPoint   = nodeInstance.transform.Find(_targetPathE);
                if (startPoint && endPoint)
                {
                    _finger = GameObject.Instantiate(ResourceLoadUtils.Load <GameObject>(_resource));
                    _finger.SetActive(false);
                    _finger.transform.SetParent(TutorialUIManager.Instance.SwitchTransform);
                    _finger.transform.localScale = _scale;
                    _finger.transform.rotation   = Quaternion.Euler(_angle);
                    _finger.transform.position   = startPoint.position;
                    _finger.SetActive(true);
                    TutorialUIManager.Instance.GameObjectMove(_finger, startPoint.position, endPoint.position, _speed, _isPingPong);
                }
                else
                {
                    LogManager.LogWarning("Warning! No button found in node: " + _nodeName + ": " + _targetPathS + ": " + _targetPathE);
                }
            }
        }
    }
Exemple #2
0
        IEnumerator ArrowAnimationSub(Transform target, Canvas canvas, float moveRange, float angle, List <GameObject> lgo)
        {
            GameObject arrow = GameObject.Instantiate(ResourceLoadUtils.Load <GameObject>("Framework/Core/Tutorial/ImageMove/Arrow"));

            arrow.SetActive(false);
            lgo.Add(arrow);
            arrow.transform.SetParent(SwitchTransform);
            arrow.transform.localScale = Vector3.one;

            Vector2 startPosition = default(Vector2);

            angle = UIUtils.NormalizedAngle(angle);

            if (target.GetComponent <RectTransform>())
            {
                var pageCanvasScale = canvas.transform.localScale.x;
                startPosition = UIUtils.GetOctagonalPosOfRectByAngleInWorld(target.GetComponent <RectTransform>(), angle, pageCanvasScale);
            }
            else
            {
                startPosition = Camera.main.WorldToScreenPoint(target.position);
            }
            arrow.transform.localEulerAngles = Vector3.forward * angle;
            Vector2 targetPosition = startPosition + moveRange * UIUtils.GetNormalizedFromAngle(-angle);

            arrow.transform.position = targetPosition;
            arrow.SetActive(true);
            yield return(null);

            GameObjectMove(arrow, startPosition, targetPosition, 1, true);
        }
Exemple #3
0
        IEnumerator ShowFocusPointerByPointSub(RectTransform focusRectTf, Canvas canvas, float angle, RectTransform targetRtf, bool _isMove, bool isPingPong = true)
        {
            if (_focusPointer == null)
            {
                var go = Instantiate(ResourceLoadUtils.Load <GameObject>("Framework/Core/Tutorial/Focus/FocusPointer")) as GameObject;
                _focusPointer = go.transform as RectTransform;
                _focusPointer.gameObject.SetActive(false);
                _focusPointer.SetParent(SwitchTransform);
                _focusPointer.localScale = Vector3.one;
            }

            var     pageCanvasScale = canvas.transform.localScale.x;
            Vector2 pivotPos        = UIUtils.GetOctagonalPosOfRectByAngleInWorld(focusRectTf, angle, pageCanvasScale);

            _focusPointer.position = pivotPos;

            Vector2 targetPos = UIUtils.GetOctagonalPosOfRectByAngleInWorld(targetRtf, angle, pageCanvasScale);

            angle = UIUtils.NormalizedAngle(angle);
            _focusPointer.localScale  = new Vector3(1, angle > 90 && angle < 270 ? 1 : -1, 1);
            _focusPointer.eulerAngles = new Vector3(0, 0, angle);

            yield return(null);

            _focusPointer.gameObject.SetActive(true);

            if (_isMove)
            {
                GameObjectMove(_focusPointer.gameObject, _focusPointer.position, targetPos, 1, isPingPong);
            }
            EnableParentCanvasRaycaster(_focusPointer);
        }
Exemple #4
0
 public static void RegisterPool(string type, int startCount, string path)
 {
     if (!m_ObjectPool.ContainsKey(type))
     {
         m_ObjectPathDic.Add(type, path);
         m_ObjectPool[type] = new List <GameObject>();
         for (int i = 0; i < startCount; i++)
         {
             GameObject obj = GameObject.Instantiate(ResourceLoadUtils.Load <GameObject>(path));
             GameObject.DontDestroyOnLoad(obj);
             obj.transform.SetParent(GetPool().transform);
             obj.SetActive(false);
             obj.name = type;
             m_ObjectPool[type].Add(obj);
         }
     }
     else
     {
         int number = m_ObjectPool[type].Count;
         if (number < startCount)
         {
             for (int i = 0; i < startCount - number; i++)
             {
                 GameObject obj = GameObject.Instantiate(ResourceLoadUtils.Load <GameObject>(path));
                 GameObject.DontDestroyOnLoad(obj);
                 obj.transform.SetParent(GetPool().transform);
                 obj.SetActive(false);
                 obj.name = type;
                 m_ObjectPool[type].Add(obj);
             }
         }
     }
 }
    public void PlayWord(string word)
    {
        if (_mute)
        {
            return;
        }

        try
        {
            var sfx = GetIdleSfx();
            if (_wordCache.ContainsKey(word))
            {
                sfx.clip = _wordCache[word];
            }
            else
            {
                sfx.clip = ResourceLoadUtils.Load <AudioClip>(_folder + word.ToLower(), true);
                _wordCache.Add(word, sfx.clip);
            }
            //float[] data = new float[sfx.clip.samples * sfx.clip.channels];
            //sfx.clip.GetData(data, 0);
            //FileStream fs = new FileStream(Application.dataPath + "/test.txt", FileMode.Create, FileAccess.ReadWrite);
            //StreamWriter sw = new StreamWriter(fs);
            //for (int i = 0; i < data.Length; i++)
            //{
            //    sw.WriteLine(data[i]);
            //}
            sfx.loop = false;
            sfx.Play();
        }
        catch (Exception e)
        {
            Debug.Log(e.Message);
        }
    }
Exemple #6
0
        GameObject GetNodePrefab(string type)
        {
            string[] splits = type.Split('.');
            var      path   = "UI/Nodes/" + splits[splits.Length - 1];

            return(ResourceLoadUtils.Load <GameObject>(path, true));
        }
 void Init()
 {
     _checkTip    = ResourceLoadUtils.Load <GameObject>("Framework/Core/UI/Prompt/CheckTip") as GameObject;
     _windowTip   = ResourceLoadUtils.Load <GameObject>("Framework/Core/UI/Prompt/WindowTip") as GameObject;
     _floatingTip = ResourceLoadUtils.Load <GameObject>("Framework/Core/UI/Prompt/FloatingTip") as GameObject;
     _noticeTip   = ResourceLoadUtils.Load <GameObject>("Framework/Core/UI/Prompt/NoticeTip") as GameObject;
 }
 // Use this for initialization
 void Start()
 {
     m_AllWordNum = 0;
     if (Instance != null)
     {
         Destroy(Instance);
         LogManager.Log("Clear CorePlayManager");
     }
     Instance = this;
     m_Status = GameStatus.Idle;
     m_Horn.SetActive(false);
     m_InputCheck = new CorePlayInputCheck(this);
     m_AutoPlay   = Instantiate(ResourceLoadUtils.Load <GameObject>("CorePlay/AutoPointer")).GetComponent <CorePlayAutoPlay>();
     m_AutoPlay.Close();
     CorePlayInputCheck.SentenceAllRightEvent.RemoveAllListeners();
     m_TapCreator = new RhythmTapCreator();
     m_TapCreator.SetManager(this);
     m_VoiceCreator = new RhythmVoiceCreator();
     PageManager.Instance.CurrentPage.GetNode <CalculateNode>().ShowMainSliderAndPauseButton();
     Reset();
     if (!m_EditMode)
     {
         CalcCorePlayData();
         StartLogic();
     }
 }
Exemple #9
0
    protected override void Init()
    {
        _arrow = GameObject.Instantiate(ResourceLoadUtils.Load <GameObject>(_path));
        _arrow.SetActive(false);
        _arrow.transform.SetParent(TutorialUIManager.Instance.SwitchTransform);
        _arrow.transform.localScale = new Vector3(_scale, _scale, _scale);
        _arrow.transform.rotation   = Quaternion.Euler(_angle);
        Type type = Type.GetType(_nodeName);

        if (PageManager.Instance.CurrentPage != null)
        {
            var nodeInstance = PageManager.Instance.CurrentPage.GetNode(type);
            if (nodeInstance != null)
            {
                var trans = nodeInstance.transform.Find(_targetPathS);
                if (trans != null)
                {
                    _arrow.transform.position = trans.position;
                }
                else
                {
                    LogManager.LogWarning("Warning! No button found in node: " + _nodeName + ": " + _targetPathS);
                }
            }
        }
        var oldColor = _arrow.GetComponent <Image> ().color;

        _arrow.GetComponent <Image> ().color = new Color(oldColor.r, oldColor.g, oldColor.b, _alpha);
        _arrow.SetActive(true);
    }
Exemple #10
0
    public void PlayWord(string word, Action callback = null)
    {
        if (_mute)
        {
            return;
        }

        try
        {
            IsPause = false;
            _playWordCompleteCallback = callback;
            _playWordSource           = GetIdleSfx();
            if (_wordCache.ContainsKey(word))
            {
                _playWordSource.clip = _wordCache[word];
            }
            else
            {
                _playWordSource.clip = ResourceLoadUtils.Load <AudioClip>(_wordFolder + word.Replace(' ', '_').ToLower(), true);
                _wordCache.Add(word, _playWordSource.clip);
            }
            _playWordSource.loop = false;
            _playWordSource.Play();
        }
        catch (Exception e)
        {
            LogManager.Log(e.Message);
        }
    }
Exemple #11
0
    public static GameObject GetOne(string type)
    {
        GameObject obj = null;

        if (m_ObjectPool.ContainsKey(type))
        {
            if (m_ObjectPool[type].Count > 0)
            {
                obj = m_ObjectPool[type][0];
                obj.SetActive(true);
                m_ObjectPool[type].RemoveAt(0);
            }
            else
            {
                obj = GameObject.Instantiate(ResourceLoadUtils.Load <GameObject>(m_ObjectPathDic[type]));
                GameObject.DontDestroyOnLoad(obj);
                obj.name = type;
            }
        }
        else
        {
            LogManager.LogError("Did not register before asking for GameObject!!");
        }

        return(obj);
    }
Exemple #12
0
 public void LoadLyric(string fileName)
 {
     if (!_songCache.ContainsKey(fileName))
     {
         AudioClip clip = ResourceLoadUtils.Load <AudioClip>(_lyricFolder + fileName.ToLower(), true);
         _songCache.Add(fileName, clip);
     }
 }
 public void LoadSong(string songName)
 {
     if (!_songCache.ContainsKey(songName))
     {
         AudioClip clip = ResourceLoadUtils.Load <AudioClip>(_folder + songName.ToLower(), true);
         _songCache.Add(songName, clip);
     }
 }
    IEnumerator InstantTutorial()
    {
        m_Status = GameStatus.Idle;
        yield return(new WaitForSeconds(1f));

        m_Status = GameStatus.InTutorial;
        Tutorial = Instantiate(ResourceLoadUtils.Load <TutorialScene>("CorePlay/TutorialNode"));
    }
Exemple #15
0
    public static Transform ImageChinese(string text)
    {
        GameObject root = new GameObject();

        root.AddComponent <RectTransform>();
        float width     = 0;
        float height    = 0;
        float stringLen = text.Length;

        for (int i = 0; i < stringLen; i++)
        {
            string     wordPath = "ArtAlphabet/Chinese/" + System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(text[i].ToString()));
            GameObject word     = new GameObject();
            if (ResourceLoadUtils.Load <Sprite>(wordPath) != null)
            {
                word.name = text[i].ToString();
                Sprite spr   = GameObject.Instantiate(ResourceLoadUtils.Load <Sprite>(wordPath));
                Image  image = word.AddComponent <Image>();
                image.sprite = spr;
                image.SetNativeSize();
            }
            else
            {
                LogManager.LogWarning("词库中不存在中文字:", text[i]);
                word = GameObject.Instantiate(ResourceLoadUtils.Load <GameObject>("ArtAlphabet/Text"));
                word.GetComponent <Text>().text = text[i].ToString();
            }
            word.transform.localScale = Vector3.one;
            word.transform.SetParent(root.transform);
            RectTransform wordTransform = word.GetComponent <RectTransform>();
            wordTransform.localScale = Vector3.one;
            float wordWidth  = wordTransform.sizeDelta.x;
            float wordHeight = wordTransform.sizeDelta.y;
            if (height < wordHeight)
            {
                height = wordHeight;
            }
            float wordX = width + 0.5f * wordWidth;
            width = width + wordWidth;
            wordTransform.localPosition = new Vector3(wordX, 0, 0);
        }
        float removex = width / 2;

        for (int i = 0; i < stringLen; i++)
        {
            RectTransform wordTransform = root.transform.GetChild(i).GetComponent <RectTransform>();
            float         wordx         = wordTransform.position.x - removex;
            wordTransform.position = new Vector3(wordx, 0, 0);
        }
        RectTransform thisRectTransform = root.transform.GetComponent <RectTransform>();

        thisRectTransform.sizeDelta = new Vector2(width, height);
        thisRectTransform.position  = new Vector3(0, 0, 0);

        return(root.transform);
    }
Exemple #16
0
    // 加载Loading场景
    IEnumerator LoadLoadingScene(AsyncOperation aon)
    {
        yield return(new WaitForEndOfFrame());

        if (aon.progress < 1)
        {
            StartCoroutine(LoadLoadingScene(aon));
        }
        else
        {
            while (SceneManager.GetActiveScene().name != LoadingScene)
            {
                yield return(null);
            }

            InitProgress();
            // 完成加载Loading场景
            if (_loadingSceneCallback != null)
            {
                _loadingSceneCallback();
                _loadingSceneCallback = null;
            }

            yield return(new WaitForEndOfFrame());

            if (_preLoadObject != null)
            {
                Destroy(_preLoadObject);
            }


            yield return(null);

            AssetBundleManager.Instance.ClearBundleMap();
                        #if !UNITY_ANDROID || UNITY_EDITOR
            AssetBundleManager.Instance.ClearAudioMap();
                        #endif

            Resources.UnloadUnusedAssets();
            System.GC.Collect();

            if (!string.IsNullOrEmpty(_bundleName))
            {
                var prefab = ResourceLoadUtils.Load <GameObject>("SceneInitObjects/" + _bundleName);
                if (prefab)
                {
                    GameObject obj = Instantiate(prefab);
                    obj.name = obj.name.Replace("(Clone)", "");
                    DontDestroyOnLoad(obj);
                    _preLoadObject = obj;
                }
            }

            StartLoadNextScene();
        }
    }
Exemple #17
0
 //private void UpdateChangePinYinButton(bool isShow)
 // {
 //     if (LanguageManager.languageType == LanguageType.Chinese)
 //     {
 //showPinYin.gameObject.SetActive(false);
 //     }
 //     else
 //     {
 //showPinYin.gameObject.SetActive(true);
 //showPinYin.transform.GetChild(0).GetComponent<Text>().text = isShow != true ? "显示拼音" : "不显示拼音";
 //    }
 //}
 public void InitBossLife(int maxLife)
 {
     for (int i = 0; i < maxLife; i++)
     {
         GameObject obj = Instantiate(ResourceLoadUtils.Load <GameObject>("CorePlay/HeartItem"));
         obj.name = "HeartItem";
         obj.transform.SetParent(tran_BossLifeRoot.transform);
         obj.transform.localScale = Vector2.one;
     }
 }
    public void PlayMusic(int musicId)
    {
        if (_mute)
        {
            return;
        }

        _bgmSource.clip = ResourceLoadUtils.Load <AudioClip>(_folder + AudioConfig.Instance.GetNameById(musicId), true);
        _bgmSource.loop = true;
        _bgmSource.Play();
    }
    public void PlayMusic(string musicType)
    {    //播放系统背景音乐
        if (_mute)
        {
            return;
        }

        _bgmSource.clip = ResourceLoadUtils.Load <AudioClip>(_folder + AudioConfig.Instance.GetNameByKey(musicType), true);
        _bgmSource.loop = true;
        _bgmSource.Play();
    }
Exemple #20
0
    public static Transform SpriteRendererChinese(string text)
    {
        GameObject root      = new GameObject();
        float      width     = 0;
        float      height    = 0;
        float      stringLen = text.Length;

        for (int i = 0; i < stringLen; i++)
        {
            string     wordPath = "ArtAlphabet/Chinese/" + System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(text[i].ToString()));
            GameObject word     = new GameObject();
            float      wordWidth;
            float      wordHeight;
            if (ResourceLoadUtils.Load <Sprite>(wordPath) != null)
            {
                word.name = text[i].ToString();
                Sprite         spr         = GameObject.Instantiate(ResourceLoadUtils.Load <Sprite>(wordPath));
                SpriteRenderer sprRenderer = word.AddComponent <SpriteRenderer>();
                sprRenderer.sprite           = spr;
                sprRenderer.sortingLayerName = "Font";
                wordWidth         = sprRenderer.bounds.extents.x * 2;
                wordHeight        = sprRenderer.bounds.extents.y * 2;
                sprRenderer.color = new Color(1, 151 / 255f, 0);
            }
            else
            {
                LogManager.LogWarning("词库中不存在中文字:" + text[i]);
                word = GameObject.Instantiate(ResourceLoadUtils.Load <GameObject>("ArtAlphabet/Text3D"));
                word.GetComponent <TextMesh>().text = text[i].ToString();
                wordWidth  = word.GetComponent <MeshRenderer>().bounds.extents.x * 2;
                wordHeight = word.GetComponent <MeshRenderer>().bounds.extents.y * 2;
            }
            word.transform.SetParent(root.transform);
            word.transform.localScale = Vector3.one;
            if (height < wordHeight)
            {
                height = wordHeight;
            }
            float wordX = width + 0.5f * wordWidth;
            width = width + wordWidth;
            word.transform.localPosition = new Vector3(wordX, 0, 0);
        }
        float removex = width / 2;

        for (int i = 0; i < stringLen; i++)
        {
            Transform wordTransform = root.transform.GetChild(i);
            float     wordx         = wordTransform.position.x - removex;
            wordTransform.position = new Vector3(wordx, 0, 0);
        }

        return(root.transform);
    }
Exemple #21
0
        GameObject InstantiatePage(string pageType)
        {
            var path   = "UI/Pages/" + pageType;
            var prefab = ResourceLoadUtils.Load <GameObject>(path, true);

            if (prefab != null)
            {
                return(Instantiate(prefab));
            }

            return(null);
        }
Exemple #22
0
    public void PlayWordList(List <string> wordList, string songID = null, Action callback = null)
    {
        if (wordList.Count == 0)
        {
            if (callback != null)
            {
                callback.Invoke();
            }
            return;
        }

        _waitQueue.Clear();
        _waitQueue.AddRange(wordList);
        IsPause = false;
        if (_mute)
        {
            return;
        }

        try
        {
            _playWordCompleteCallback = callback;
            _songID = songID;
            if (_playWordSource == null)
            {
                _playWordSource = GetIdleSfx();
            }
            if (_wordCache.ContainsKey(_waitQueue[0]))
            {
                _playWordSource.clip = _wordCache[_waitQueue[0]];
            }
            else
            {
                if (songID == null)
                {
                    _playWordSource.clip = ResourceLoadUtils.Load <AudioClip>(_wordFolder + _waitQueue[0].ToLower(), true);
                }
                else
                {
                    _playWordSource.clip = ResourceLoadUtils.Load <AudioClip>(_audioWordsFolder + songID + "/" + _waitQueue[0].ToLower(), true);
                }
                _wordCache.Add(_waitQueue[0], _playWordSource.clip);
            }
            _playWordSource.loop = false;
            _playWordSource.Play();
            _waitQueue.RemoveAt(0);
        }
        catch (Exception e)
        {
            LogManager.Log(e.Message);
        }
    }
Exemple #23
0
    public static string GetAudioFileName(string fileName)
    {
        string    path = "Songs/" + fileName;
        TextAsset osu  = ResourceLoadUtils.Load <TextAsset> (path);

        if (osu == null)
        {
            LogManager.LogError(path, ".txt 文件没有找到!!请检查SongConfig文件中 scripts 列是否正确");
            return(null);
        }

        return(ParseAudioFileName(osu));
    }
 void BasePlaySfx(AudioSource audioSource, object type, bool isLoop = false)
 {
     if (type.GetType() == typeof(int))
     {
         audioSource.clip = ResourceLoadUtils.Load <AudioClip>(_folder + AudioConfig.Instance.GetNameById((int)type), true);
     }
     else if (type.GetType() == typeof(string))
     {
         audioSource.clip = ResourceLoadUtils.Load <AudioClip>(_folder + AudioConfig.Instance.GetNameByKey((string)type), true);
     }
     audioSource.loop = isLoop;
     audioSource.Play();
 }
Exemple #25
0
        IEnumerator ShowFingerClickSub(Vector2 position)
        {
            if (!_fingerClickGo)
            {
                _fingerClickGo = Instantiate(ResourceLoadUtils.Load <GameObject>("Framework/Core/Tutorial/FingerClick/FingerClick")) as GameObject;
            }
            _fingerClickGo.SetActive(false);
            _fingerClickGo.transform.SetParent(SwitchTransform);
            _fingerClickGo.transform.localScale = Vector3.one;
            _fingerClickGo.transform.position   = position;
            _fingerClickGo.SetActive(true);
            yield return(null);

            _fingerClickGo.GetComponent <Animation>().Play();
        }
Exemple #26
0
    void AddNode()
    {
        PageManager.Instance.CurrentPage.AddNode <StartSceneNode>(true);

        if (CorePlaySettings.Instance.m_UseMemoryPool)
        {
            VideoClip vc = ResourceLoadUtils.Load <VideoClip>("animation");
            StaticMemoryPool.AddIntoPool("startAnimation", vc);
        }
        PageManager.Instance.gameObject.GetComponent <Canvas>().worldCamera = Camera.main;
        for (int i = 0; i < m_models.Length; ++i)
        {
            m_models[i].gameObject.SetActive(true);
        }
    }
    // 刷新文件信息
    void RefreshFileList(string focusFilePath = "")
    {
        _scriptGroupFileInfos.Clear();
        foreach (var folder in ResourceLoadUtils.GetSubfolderFullPaths())
        {
            var fileInfos = MiscUtils.GetFileInfoFromFolder(Path.Combine(folder, TutorialManager.TutorialScriptPath), "*.json", SearchOption.AllDirectories, ".meta");

            var key = folder.Replace(Application.dataPath.Replace("\\", "/") + "/", "");
            _scriptGroupFileInfos[key] = fileInfos;
            if (!_scriptGroupOpen.ContainsKey(key))
            {
                _scriptGroupOpen.Add(key, false);
            }
        }
        ChooseAppropriateScript(focusFilePath);
    }
    public void StartAutoTestScript(string scriptName)
    {
        m_ScriptName = scriptName;
        string   json = ResourceLoadUtils.Load <TextAsset>("AutoText/" + scriptName).text;
        JsonData data = JsonMapper.ToObject(json);

        m_AutoAction = AutoActionJsonParser.Parse(data);
        if (m_AutoAction != null)
        {
            m_AutoAction.SetFinishCallback(TestSuccess);
            Application.logMessageReceived += GetLog;
            m_Start = true;
        }
        else
        {
            TestFailed("script parse error!! " + scriptName);
        }
    }
    private GameObject LoadReady(string objName)
    {
        GameObject obj = new GameObject();

        obj.gameObject.name = objName;
        obj.tag             = "intrada";
        Image image = obj.AddComponent <Image>();

        image.raycastTarget = false;
        image.sprite        = GameObject.Instantiate(ResourceLoadUtils.Load <Sprite>("CorePlay/Pretip/" + objName));
        RectTransform rt = image.GetComponent <RectTransform>();

        rt.transform.SetParent(PageManager.Instance.CurrentPage.transform);
        rt.localScale = Vector3.one;
        image.SetNativeSize();
        rt.position = new Vector3(-rt.sizeDelta.x / 2f, -rt.sizeDelta.y / 2f, 0);
        return(obj);
    }
Exemple #30
0
 private void PlayVideo()
 {
     if (StaticData.ApplicationStart)
     {
         if (CorePlaySettings.Instance.m_UseMemoryPool)
         {
             VideoPlay.Instance.PlayVideo(StaticMemoryPool.GetItem <VideoClip> ("startAnimation"), PlayEnd);
         }
         else
         {
             VideoClip vc = ResourceLoadUtils.Load <VideoClip> ("animation");
             VideoPlay.Instance.PlayVideo(vc, PlayEnd);
         }
     }
     else
     {
         PlayBG();
     }
 }