当前位置: 首页 > article >正文

15_业务系统基类

创建脚本 SystemRoot.cs

因为 业务系统基类的子类 会涉及资源加载服务层ResSvc.cs 和 音乐播放服务层AudioSvc.cs

所以在业务系统基类 提取引用资源加载服务层ResSvc.cs 和 音乐播放服务层AudioSvc.cs

并调用单例初始化

using UnityEngine;
// 功能 : 业务系统基类
public class SystemRoot : MonoBehaviour{
    protected ResSvc resSvc;
    protected AudioSvc audioSvc;

    public virtual void InitSys() {
        resSvc = ResSvc.Instance;
        audioSvc = AudioSvc.Instance;
    }
}

业务系统基类写好后 那么其系统子类需要进行以下修改

那么其系统子类函数 也不需要写那么多了

修改前

修改后

using UnityEngine;
//功能 : 登陆注册业务系统
public class LoginSys : SystemRoot{
    #region 单例模式
    public static LoginSys Instance = null;
    #endregion
    #region 引用登录窗口
    public LoginWnd loginWnd;
    #endregion
    public override void InitSys() {
        #region 系统基类的好处
        base.InitSys();
        #endregion
        #region 单例模式
        Instance = this;
        #endregion
        Debug.Log("Init LoginSys...");
    }
    //进入登录界面
    public void EnterLogin() {
        //TODO
        //异步加载登录界面
        //并显示加载进度
        #region 调用ResSvc单例类
        resSvc.AsyncLoadScene(Constans.SceneLogin,() => {
            #region 窗口基类的好处
            loginWnd.SetWndState();
            #endregion
            #region 调用音乐播放服务
            audioSvc.PlayBGMusic(Constans.BGLogin,true);
            #endregion
        });
        #endregion
    }
}

以此类推 那么窗口基类WindowsRoot.cs也可以这么做

这样其 窗口子类就可以很方便使用audioSvc.去调用方法了

要记住在窗口关闭时要 释放掉 置成空

运行 仍是运行后 先是加载窗口更新显示加载进度 加载完成后关闭加载界面 加载游戏背景场景 并 打开登录窗口 播放背景音乐

End.


http://www.kler.cn/a/515630.html

相关文章:

  • Spark Streaming的核心功能及其示例PySpark代码
  • 【深度学习入门】深度学习知识点总结
  • CMake技术细节:解决未定义,提供参数
  • 【Tool】沉浸式翻译 DeepLX
  • Mixly米思齐1.0 2.0 3.0 软件windows版本MAC苹果电脑系统安装使用常见问题与解决
  • map和set的使用(一)详解
  • .gitignore配置忽略out目录
  • macOS安装Gradle环境
  • 移植前准备之git管理内核源码
  • Appium(四)
  • 【Android学习】Kotlin随笔
  • kafka学习笔记2 —— 筑梦之路
  • centos部署rabbitmq
  • Next.js:构建大模型智能体GPT研究者应用的 Web开发框架
  • GPU加速GWAS分析--quickdraw
  • Ada语言的软件工程
  • BUU UPLOAD COURSE 11
  • Github 2025-01-22 C开源项目日报 Top9
  • 每日一题-数组中的逆序对
  • 51单片机(三) UART协议与串口通信实验
  • 宝塔UDP服务器部署记录,unityClient,pythonServer
  • Cursor的简单使用
  • WordPress果果AI创作插件
  • Apache Tika 详解
  • rust学习-rust中的常量与变量
  • Linux 怎么在储存设备上创建文件系统?