• 枚举类型与字符串ConvertEnumToString


    枚举类型与字符串添加字典互转ConvertEnumToString

    using UnityEngine;

    using System.Collections;

    using UnityEngine.UI;

    using Enums;

    public class startScene : MonoBehaviour

    {

             //点击事件

        public void startOnClick()

        {

            global_Mgr.EnterNextScenes(Scenes.MainMenuScene)       

        } 

    }

    using UnityEngine;

    using System.Collections;

    using UnityEngine.UI;

    using UnityEngine.SceneManagement;

    using Enums;

    public class global_Mgr

    {

             //定义全局静态变量

            public static Scene NextScenesEnum = Scene.LoadScene;

             //定义全局静态加载

            public static void EnterNextScenes(Scenes scenesEnumName)

            {

               NextScenesEnum = scenesEnumName;

               SceneManager.LoadScene(Config.ConvertEnumToStr(Scenes.LoadScene));

            }

    }

    using UnityEngine;

    using System.Collections;

    using System.Collections.Generic;

    namespace Enums

    {        //枚举场景类型命名

        public enum Scenes

        {

            StartScene,

            SubmenuScene,

            LoadScene,

            MainMenuScene

        }

             //定义字典枚举转字符串类

        public class Config

        {

                      //定义字典

            public static Dictionary<Scenes, string> dictionary;

                      //方法类型转换、参数枚举场景名、返回值场景名称字符串

            public static string ConvertEnumToStr(Scenes Scenes)

            {

                dictionary = new Dictionary<Scenes, string>();

                dictionary.Add(Scenes.StartScene, "StartScene");

                dictionary.Add(Scenes.SubmenuScene, "SubmenuScene");

                dictionary.Add(Scenes.LoadScene, "LoadScene");

                dictionary.Add(Scenes.MainMenuScene, "MainMenuScene");

                if (!dictionary.ContainsKey(Scenes))

                {

                    Debug.Log("error");

                    return null;

                }

                return dictionary[Scenes];

            }

        }

    }

    using UnityEngine;

    using System.Collections;

    using UnityEngine.SceneManagement;

    using UnityEngine.UI;

    using Enums;

    //场景读条加载(详细备注前篇:LoadScene场景异步加载(2018-09-06 13:30))

    public class Load : MonoBehaviour

    {

        public Slider Slider;

        private AsyncOperation async;

        private int number = 0;

        private int num = 0;

        private void Start()

        {

            Slider.value = 0;

            StartCoroutine("start");

        }

        void Update()

        {

            Slider.value = number / 100f;

        }

        private IEnumerator start()

        {

            async = SceneManager.LoadSceneAsync(Config.ConvertEnumToStr(global_Mgr.NextScenesEnum));

            async.allowSceneActivation = false;

            while (async.progress < 0.9f)

            {

                num = (int)async.progress * 100;

                while (number < num)

                {

                    ++number;

                    yield return new WaitForSeconds(0);

                }

            }

            num = 100;

            while (number < num)

            {

                ++number;

                yield return new WaitForSeconds(0);

            }

            async.allowSceneActivation = true;

        }

    }

    注:在场景或关卡多时,运用较为方便,可一个加载场景在每个关卡使用,字典方法ConvertEnumToStr可根据场景,修改添加方便使用...

    支持个人观看使用,如商用或转载,请告知! -----萧朗(QQ:453929789 Email:xiaolang_xl@sina.com)
  • 相关阅读:
    Anaconda安装之路——坑呀!
    初读《企业应用架构模式》——阅读笔记1
    《需求工程》阅读笔记3
    codeforces 432D. Prefixes and Suffixes(后缀数组)
    hdu 6096String(trie树)
    uva 1349 Optimal Bus Route Design(拆点,费用流)
    数据结构c语言
    六个排序算法
    c无聊编程
    文件写入与文件读取
  • 原文地址:https://www.cnblogs.com/XiaoLang0/p/9675222.html
Copyright © 2020-2023  润新知