可信网站认证收费吗,奇缦科技珠海网站建设优化,重庆建设空调网站,网站开发文件结构组成首先这个项目从游戏根入口GameRoot.cs的初始化开始 分为 服务层初始化Svc.cs 与 业务系统层初始化Sys.cs 而服务层 分为 资源加载服务层ResSvc.cs 与 音乐播放服务层AudioSvc.cs
而在 资源加载服务层ResSvc.cs中 初始化了 名字的 配置文件 而音乐播放服务层AudioSvc.cs 暂时没…首先这个项目从游戏根入口GameRoot.cs的初始化开始 分为 服务层初始化Svc.cs 与 业务系统层初始化Sys.cs 而服务层 分为 资源加载服务层ResSvc.cs 与 音乐播放服务层AudioSvc.cs
而在 资源加载服务层ResSvc.cs中 初始化了 名字的 配置文件 而音乐播放服务层AudioSvc.cs 暂时没有初始化的类 其中服务层Svc.cs 是服务于 业务系统层Sys.cs的
所以 其服务层的初始化Svc.cs 要先于 业务系统层的初始化Sys.cs 而业务系统层初始化Sys.cs中 是进入登录场景SceneLogin的初始化 初始化完成之后 调用 登录-业务系统层LoginSys.cs 进入登陆场景 在 异步加载登陆场景时 是一个动态的过程 需要更新加载进度
而这个加载进度的更新 是通过 公共业务系统的窗口APIDynamicWnd.cs 和 LoadingWnd.cs调用的
公共的意思是在每一个界面都可能 使用到这两个窗口业务系统APIDynamicWnd.cs 和 LoadingWnd.cs
又因为这两个窗口公共业务系统APIDynamicWnd.cs 和 LoadingWnd.cs会被经常用到
所以这两个脚本的引用 包留放在游戏根入口GameRoot.cs中 当这个登录场景SceneLogin 异步加载完成val 1后 使用回调函数 打开窗口与背景音乐 最后置空 后停止调用 当打开 登录窗口LoginWnd.cs 点击进入游戏后 会读取账号和密码数据并发送网络消息
去请求登录 这里因还未写网络端所以模拟写了请求函数 最后为了代码的简洁写了两个基类窗口基类WindowsRoos.cs 和 业务系统基类SystemRoot.cs
using UnityEngine;
using UnityEngine.UI; //文本 命名空间
//功能 : 窗口基类
public class WindowsRoot : MonoBehaviour{#region 引用加载资源服务protected ResSvc resSvc null;#endregion#region 引用音乐播放资源服务protected AudioSvc audioSvc null;#endregionpublic void SetWndState(bool isActive true) {//判断当前状态是否和目标状态相同if (gameObject.activeSelf ! isActive) {gameObject.SetActive(isActive);}if (isActive){InitWnd();}else {ClearWnd();}}protected virtual void InitWnd() {#region 引用加载资源服务//初始化时拿到 加载资源引用resSvc ResSvc.Instance;#endregion#region 引用音乐播放资源服务audioSvc AudioSvc.Instance;#endregion}protected virtual void ClearWnd() {#region 引用加载资源服务//清空 加载资源引用resSvc null;#endregion#region 引用音乐播放资源服务audioSvc null;#endregion}#region 文本设置通法protected void SetText(Text txt, string context ){txt.text context;}#endregion
}窗口基类WindowsRoot.cs 集合了共有的方法 当子类重写设置窗口状态时 根据显示或隐藏 自动初始化窗口 或清理窗口资源
在基类初始化时 拿到了 资源以及声音服务的初始化引用
子类只需要resSvc.或audioSvc.调用即可 也包含了 设置文本组件的方法 而业务系统基类SystemRoot.cs 也是一样的思想
在初始化时 拿到相关引用方便子类调用
using UnityEngine;
// 功能 : 业务系统基类
public class SystemRoot : MonoBehaviour{protected ResSvc resSvc;protected AudioSvc audioSvc;public virtual void InitSys() {resSvc ResSvc.Instance;audioSvc AudioSvc.Instance;}
}End.