枚举类型与字符串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可根据场景,修改添加方便使用...
枚举类型与字符串ConvertEnumToString的更多相关文章
- QT枚举类型与字符串类型相互转换
在QT中将枚举类型注册(QT_Q_ENUM或QT_Q_FLAG)后,就可以利用QT的元对象进行枚举类型与字符串类型转换了. 代码示例: #include <QtCore/QMetaEnum> ...
- 【转】掌握java枚举类型(enum type)
原文网址:http://iaiai.iteye.com/blog/1843553 1 背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...
- Java的枚举类型使用方法详解
1.背景在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏 ...
- { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型
MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...
- C# 字符串转枚举类型
Enum.Parse(typeof(枚举类型), 字符串类型) 如:在Unity中, Enum.Parse(typeof(SystemLanguage), "Chinese")
- mysql字符串类型(枚举类型)
原文链接:https://blog.csdn.net/qq_34530405/article/details/81738907 本文记录MySql数据库中enum类型数据的使用细节和注意事项. 首先在 ...
- 在WPF中使用变通方法实现枚举类型的XAML绑定
问题缘起 WPF的分层结构为编程带来了极大便利,XAML绑定是其最主要的特征.在使用绑定的过程中,大家都普遍的发现枚举成员的绑定是个问题.一般来说,枚举绑定多出现于与ComboBox配合的情况,此时我 ...
- 窥探Swift之别样的枚举类型
想必写过程序的童鞋对枚举类型并不陌生吧,使用枚举类型的好处是多多的,在这儿就不做过多的赘述了.Fundation框架和UIKit中的枚举更是数不胜数,枚举可以使你的代码更易阅读并且可以提高可维护性.在 ...
- java 枚举类型知识点记录
在日常开发中,我们常用接口装常量或者在类里面写静态常量,java1.5以后加入了枚举类型enum.枚举类型是由一组固定的常量组成的类型.枚举本质是int值.因为枚举类型没有可以访问的构造器,所以枚举类 ...
随机推荐
- Jquery Call ,apply,callee
//call function A() { name = "abc"; this.ShowName = function (val) { alert(name + ",& ...
- mvc+EF - 有用文章
Mvc全局过滤器与Action排除:http://blog.csdn.net/shuaihj/article/details/53020428 MVC 自定义AuthorizeAttribute实现权 ...
- 2018年第九届蓝桥杯C/C++A组省赛(最后一题)
第十题 付账问题 [题目描述] 几个人一起出去吃饭是常有的事.但在结帐的时候,常常会出现一些争执. 现在有 n 个人出去吃饭,他们总共消费了 S 元.其中第 i 个人带了 ai 元.幸 ...
- Linux日常命令使用记录
scp在跨机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了ssh免密码登录,那在使用scp的时候密码都不用输入. 在服务器104.238.161.75上操作,将服务器 ...
- Shell等,不等......
-eq //等于 -ne //不等于 -gt //大于 (greater ) -lt //小于 (less) -g ...
- NetworkX初相识
听说NetworkX是一个很牛的复杂网络研究的工具,就来试一下吧. import networkx as nx G= nx.Graph()#建立一个空白的图 G.add_node("node ...
- inspect模块---检查活动对象
inspect模块提供了一些有用的函数来帮助获取有关活动对象(如模块,类,方法,函数,跟踪,框架对象和代码对象)的信息.例如,它可以帮助您检查类的内容,检索方法的源代码,提取和格式化函数的参数列表,或 ...
- P2410 [SDOI2009]最优图像 ZKW最大费用最大流
$ \color{#0066ff}{ 题目描述 }$ 小E在好友小W的家中发现一幅神奇的图画,对此颇有兴趣.它可以被看做一个包含N×M个像素的黑白图像,为了方便起见,我们用0表示白色像素,1表示黑色像 ...
- 选课 树形背包dp
题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习.现在有N门功课,每门课有个学分,每门课有一 ...
- 2、开始学习C++
1.创建C++程序 C++程序是严格区分大小写,Cout与COUT都是识别不出来的,下面给出了一段简单的C++程序. #include "stdafx.h" #include &l ...