Unity 游戏框架搭建 2019 (二十六) 第一轮整理完结 (2)

接下来,我们要把原来的实现方法做中转,再加上 Obselete 属性。这步就不展示了,内容与上一篇文章一致,

第十二个示例 #if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; namespace QFramework { public class PercentFunction : MonoBehaviour { #if UNITY_EDITOR [MenuItem("QFramework/12.概率函数")] #endif private static void MenuClicked() { Debug.Log(Percent(50)); } /// <summary> /// 输入百分比返回是否命中概率 /// </summary> public static bool Percent(int percent) { return Random.Range (0, 100) <= percent; } } }

这个代码的类名就有点问题了,叫做 PercentFunction,Percent 呢,是数学计算,所以我们把这个方法归到 MathUtil 这个类里。

代码如下:

using System; #if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; using Random = UnityEngine.Random; namespace QFramework { public class MathUtil { /// <summary> /// 输入百分比返回是否命中概率 /// </summary> public static bool Percent(int percent) { return Random.Range (0, 100) <= percent; } } public class PercentFunction : MonoBehaviour { #if UNITY_EDITOR [MenuItem("QFramework/12.概率函数")] #endif private static void MenuClicked() { Debug.Log(MathUtil.Percent(50)); } /// <summary> /// 输入百分比返回是否命中概率 /// </summary> [Obsolete("方法已弃用,请使用 MathUtil.Percent")] public static bool Percent(int percent) { return MathUtil.Percent(percent); } } } 第十三个示例 #if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; namespace QFramework { public class GameObejctActiveImprovements { #if UNITY_EDITOR [MenuItem("QFramework/13.GameObejct 的显示、隐藏简化")] #endif private static void MenuClicked() { var gameObject = new GameObject(); Hide(gameObject); } public static void Show(GameObject gameObj) { gameObj.SetActive(true); } public static void Hide(GameObject gameObj) { gameObj.SetActive(false); } } }

与 TransformSimplify 一样,我们也定义一个 GameObjectSimplify。

整理后代码如下:

#if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; namespace QFramework { public class GameObjectSimplify { public static void Show(GameObject gameObj) { gameObj.SetActive(true); } public static void Hide(GameObject gameObj) { gameObj.SetActive(false); } } public class GameObejctActiveImprovements { #if UNITY_EDITOR [MenuItem("QFramework/13.GameObejct 的显示、隐藏简化")] #endif private static void MenuClicked() { var gameObject = new GameObject(); GameObjectSimplify.Hide(gameObject); } [Obsolete("方法已启用,请使用 GameObjectSimplify.Show")] public static void Show(GameObject gameObj) { GameObjectSimplify.Show(gameObj); } [Obsolete("方法已启用,请使用 GameObjectSimplify.Hide")] public static void Hide(GameObject gameObj) { GameObjectSimplify.Hide(gameObj); } } }

到此呢,我们十三个示例都做了一轮整理。整理之后又要回头去解决一些整理过程中发现的问题。这部分内容我们在下一篇开始解决。

今天的内容就这些,拜拜~

转载请注明地址:凉鞋的笔记:liangxiegame.com

更多内容

QFramework 地址:https://github.com/liangxiegame/QFramework

QQ 交流群:623597263

Unity 进阶小班

主要训练内容:

框架搭建训练(第一年)

跟着案例学 Shader(第一年)

副业的孵化(第二年、第三年)

权益、授课形式等具体详情请查看《小班产品手册》:https://liangxiegame.com/master/intro

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxypd.html