
Unity程序基础小框架
文章平均质量分 62
游戏框架基础:了解游戏开发中的框架概念,以设计模式为基础进行框架设计。虽然学了很多C#和Unity的知识!
但是做项目就是做不好,或者效率极其低下。
yxlalm
这个作者很懒,什么都没留下…
展开
-
Unity程序开发框架——单例模式基类模块
简单了解单例模式在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。单例模式有 3 个特点:单例类只有一个实例对象;该单例对象必须由单例类自行创建;单例类对外提供一个访问该单例的全局访问点。单例模式基类模块在Unity程序中我们利用单例模式的类保证内存里只有一个实例,减少了内存的开销,可以避免对资源的多重占用,单例..原创 2021-03-03 11:47:46 · 1975 阅读 · 4 评论 -
Unity程序开发框架——缓存池模块
1. PoolMgr缓存池脚本using System.Collections.Generic;using UnityEngine;using UnityEngine.Events;/// <summary>/// 缓存池数据 池子中的一列容器/// </summary>public class PoolData{ //缓存池中 对象挂载的父节点 public GameObject fatherObj; //对象的容器 public原创 2021-03-03 17:47:41 · 980 阅读 · 2 评论 -
Unity程序开发框架——事件中心模块
1. 场景与脚本设置场景描述:怪物死亡后,玩家脚本执行信息,任务脚本执行信息,以及执行其他信息。新建Monster Player Task Other四个脚本。Monster脚本public class Monster : MonoBehaviour{ public string sname = "怪物x"; // Start is called before the first frame update void Start() { Dead(原创 2021-03-04 17:49:29 · 1640 阅读 · 2 评论 -
Unity程序开发框架——公共Mono模块
让没有继承Mono的类可以开启协程,可以进行Update更新,统一管理Update减少内存开销提高性能。MonoController脚本继承MonoBehaviour使得脚本过场不移除,并通过UnityAction可以添加多个函数(多播委托),实现Update更新以及统一管理。/// <summary>/// Mono的管理者/// 1.声明周期函数/// 2.事件 /// 3.协程/// </summary>public class MonoController原创 2021-03-06 21:37:51 · 1292 阅读 · 0 评论 -
Unity程序开发框架——场景切换模块
场景切换模块:提供场景切换的公共接口。提供同步切换场景,异步切换场景并使用事件中心模块EventCenter提供加载进度信息。ScenesMgr脚本/// <summary>/// 场景切换模块/// 知识点/// 1.场景异步加载/// 2.协程/// 3.委托/// </summary>public class ScenesMgr : BaseManager<ScenesMgr>{ /// <summary> /// 切原创 2021-03-09 17:34:16 · 1037 阅读 · 2 评论 -
Unity程序开发框架——资源加载模块
资源加载模块:提供资源加载公共方法。ResMgr资源加载模块,提供异步加载与同步加载资源的方法,通过泛型创建对象,异步加载使用协程与UnityAction委托为加载后提供方法。/// <summary>/// 资源加载模块/// 1.异步加载/// 2.委托和 lambda表达式/// 3.协程/// 4.泛型/// </summary>public class ResMgr : BaseManager<ResMgr>{ //同步加载资.原创 2021-03-15 17:16:21 · 1195 阅读 · 0 评论 -
Unity程序开发框架——输入控制模块
输入控制模块:用到之前的事件中心模块和公共Mono模块,核心利用观察者设计模式进行事件的分发与注册。InputMgr脚本,输入控制功能模块通过MonoMgr脚本创建Update方法,在通过EventCenter触发事件。/// <summary>/// 1.Input类/// 2.事件中心模块/// 3.公共Mono模块的使用/// </summary>public class InputMgr : BaseManager<InputMgr>{.原创 2021-03-16 16:37:54 · 1453 阅读 · 0 评论 -
Unity程序开发框架——UI管理模块
UI基类BasePanel负责帮助我门通过代码快速的找到所有的子控件,方便我们在子类中处理逻辑,节约找控件的工作量。public class BasePanel : MonoBehaviour{ //通过里式转换原则 来存储所有的控件 private Dictionary<string, List<UIBehaviour>> controlDic = new Dictionary<string, List<UIBehaviour>>().原创 2021-03-17 15:11:48 · 2996 阅读 · 4 评论