枚举类型与字符串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值.因为枚举类型没有可以访问的构造器,所以枚举类 ...
随机推荐
- Build fat static library (device + simulator) using Xcode and SDK 4+
155down votefavorite 185 It appears that we can - theoretically - build a single static library that ...
- 解决Spring Boot(2.1.3.RELEASE)整合spring-data-elasticsearch3.1.5.RELEASE报NoNodeAvailableException[None of the configured nodes are available
Spring Boot(2.1.3.RELEASE)整合spring-data-elasticsearch3.1.5.RELEASE报NoNodeAvailableException[None of ...
- ArcGIS Engine 中对栅格数据的波段信息统计 (转)
先打开栅格文件所在的工作空间(文件),然后获取其所有的波段,访问每一个波段有时候波段中已经有直方图或统计信息,有时候没有这些信息,可以使用ComputeStatsAndHist()函数对其进行计算(数 ...
- Python Lambda 的简单用法
下面代码简单举例介绍以下 lambda的用法. from functools import reduce #1 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而de ...
- leetcode N-Queens I && N-Queens II
第一个的代码: #include<iostream> #include<vector> using namespace std; bool isLegal(int i, int ...
- Linux 内核list_head 学习
Linux 内核list_head 学习(一) http://www.cnblogs.com/zhuyp1015/archive/2012/06/02/2532240.html 在Linux内核中,提 ...
- Jquery Plugins Jquery Validate
Jquery Validate 一.什么是Jquery Validate: jQuery Validate 插件为表单提供了强大的验证功能. 二.常用值: 1 required:true 必须输入 ...
- LOJ#10106. 「一本通 3.7 例 2」单词游戏
题目链接:https://loj.ac/problem/10106 题目描述 来自 ICPC CERC 1999/2000,有改动. 有 NNN 个盘子,每个盘子上写着一个仅由小写字母组成的英文单词. ...
- 条件编译,C语言条件编译详解
条件编译是指预处理器根据条件编译指令,有条件地选择源程序代码中的一部分代码作为输出,送给编译器进行编译.主要是为了有选择性地执行相应操作,防止宏替换内容(如文件等)的重复包含.常见的条件编译指令如表 ...
- Selenium API(二)
1.定位一组元素 WebDriver提供了8种定位一组元素的方法. driver.find_elements_by_css_selector() driver.find_elements_by_tag ...