枚举类型与字符串添加字典互转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可根据场景,修改添加方便使用...

枚举类型与字符串ConvertEnumToString的更多相关文章

  1. QT枚举类型与字符串类型相互转换

    在QT中将枚举类型注册(QT_Q_ENUM或QT_Q_FLAG)后,就可以利用QT的元对象进行枚举类型与字符串类型转换了. 代码示例: #include <QtCore/QMetaEnum> ...

  2. 【转】掌握java枚举类型(enum type)

    原文网址:http://iaiai.iteye.com/blog/1843553 1   背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...

  3. Java的枚举类型使用方法详解

    1.背景在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏 ...

  4. { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型

    MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...

  5. C# 字符串转枚举类型

    Enum.Parse(typeof(枚举类型), 字符串类型) 如:在Unity中, Enum.Parse(typeof(SystemLanguage), "Chinese")

  6. mysql字符串类型(枚举类型)

    原文链接:https://blog.csdn.net/qq_34530405/article/details/81738907 本文记录MySql数据库中enum类型数据的使用细节和注意事项. 首先在 ...

  7. 在WPF中使用变通方法实现枚举类型的XAML绑定

    问题缘起 WPF的分层结构为编程带来了极大便利,XAML绑定是其最主要的特征.在使用绑定的过程中,大家都普遍的发现枚举成员的绑定是个问题.一般来说,枚举绑定多出现于与ComboBox配合的情况,此时我 ...

  8. 窥探Swift之别样的枚举类型

    想必写过程序的童鞋对枚举类型并不陌生吧,使用枚举类型的好处是多多的,在这儿就不做过多的赘述了.Fundation框架和UIKit中的枚举更是数不胜数,枚举可以使你的代码更易阅读并且可以提高可维护性.在 ...

  9. java 枚举类型知识点记录

    在日常开发中,我们常用接口装常量或者在类里面写静态常量,java1.5以后加入了枚举类型enum.枚举类型是由一组固定的常量组成的类型.枚举本质是int值.因为枚举类型没有可以访问的构造器,所以枚举类 ...

随机推荐

  1. Jquery Call ,apply,callee

    //call function A() { name = "abc"; this.ShowName = function (val) { alert(name + ",& ...

  2. mvc+EF - 有用文章

    Mvc全局过滤器与Action排除:http://blog.csdn.net/shuaihj/article/details/53020428 MVC 自定义AuthorizeAttribute实现权 ...

  3. 2018年第九届蓝桥杯C/C++A组省赛(最后一题)

    第十题 付账问题   [题目描述]    几个人一起出去吃饭是常有的事.但在结帐的时候,常常会出现一些争执.    现在有 n 个人出去吃饭,他们总共消费了 S 元.其中第 i 个人带了 ai 元.幸 ...

  4. Linux日常命令使用记录

    scp在跨机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了ssh免密码登录,那在使用scp的时候密码都不用输入. 在服务器104.238.161.75上操作,将服务器 ...

  5. Shell等,不等......

    -eq           //等于 -ne           //不等于 -gt            //大于 (greater ) -lt            //小于  (less) -g ...

  6. NetworkX初相识

    听说NetworkX是一个很牛的复杂网络研究的工具,就来试一下吧. import networkx as nx G= nx.Graph()#建立一个空白的图 G.add_node("node ...

  7. inspect模块---检查活动对象

    inspect模块提供了一些有用的函数来帮助获取有关活动对象(如模块,类,方法,函数,跟踪,框架对象和代码对象)的信息.例如,它可以帮助您检查类的内容,检索方法的源代码,提取和格式化函数的参数列表,或 ...

  8. P2410 [SDOI2009]最优图像 ZKW最大费用最大流

    $ \color{#0066ff}{ 题目描述 }$ 小E在好友小W的家中发现一幅神奇的图画,对此颇有兴趣.它可以被看做一个包含N×M个像素的黑白图像,为了方便起见,我们用0表示白色像素,1表示黑色像 ...

  9. 选课 树形背包dp

    题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习.现在有N门功课,每门课有个学分,每门课有一 ...

  10. 2、开始学习C++

    1.创建C++程序 C++程序是严格区分大小写,Cout与COUT都是识别不出来的,下面给出了一段简单的C++程序. #include "stdafx.h" #include &l ...