枚举类型与字符串添加字典互转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. (转)Linux环境进程间通信系列(五):共享内存

    原文地址:http://www.cppblog.com/mydriverc/articles/29741.html 共享内存可以说是最有用的进程间通信方式,也是最快的 IPC 形式.两个不同进程 A ...

  2. 浅谈delphi创建Windows服务程序与窗体实现交互

    我想实现的功能是创建一个服务程序,然后在服务Start时动态创建一个窗体Form,然后把Form缩小时变成TrayIcon放在Windows托盘上. 我在服务程序的OnStart事件中写到 Start ...

  3. docker run hello-world失败

    提示镜像拉取失败,解决方案 到 https://cr.console.aliyun.com/   注册一个账户 列表中就有 加速器 启动  Docker 端  右键  选择配置 在Docker Dae ...

  4. C# 密封

    到目前位置所说的都是让类如何如何进行继承啊 ,重写啊,巴不得类有十多个继承,超级多的重写. 但是,今天我们来说说不允许继承和不允许重写! 这个不允许继承是包括类和方法. 这种情况好比: 爸爸有私房钱, ...

  5. UI控件的位置

    1.该位置指的是本控件的中心点位于点 (100, 100)上(不包含尺寸),可以用于中心对齐在使用frame设置位置的情况下 self.view.center = CGPointMake(100, 1 ...

  6. php代码审计10审计会话认证漏洞

    挖掘经验:遇到的比较多的就是出现在cookie验证上面,通常是没有使用session来认证,直接将用户信息保存在cookie中      Session固定攻击:黑客固定住目标用户的session i ...

  7. 【转】c#中@的3种作用

    源地址:https://www.cnblogs.com/linkbiz/p/6380814.html

  8. 【python】10分钟教你用python一行代码搞点大新闻

    准备 相信各位对python的语言简洁已经深有领会了.那么,今天就带大家一探究竟.看看一行python代码究竟能干些什么大新闻.赶紧抄起手中的家伙,跟我来试试吧. 首先你得先在命令行进入python. ...

  9. P3994 高速公路 树形DP+斜率优化+二分

    $ \color{#0066ff}{ 题目描述 }$ C国拥有一张四通八达的高速公路网树,其中有n个城市,城市之间由一共n-1条高速公路连接.除了首都1号城市,每个城市都有一家本地的客运公司,可以发车 ...

  10. fiddler使用——配置抓取https,出现提示“禁用解密”“单击配置”

    自己在设置fiddler抓https的时候,浏览器总是提示:此证书不受信任:中午没午睡下午一直昏沉沉的,弄了好久,终于想起来是证书的问题:度娘有个不错的答案,这里分享一下!给以后有相同问题的朋友,也同 ...