08_游戏启动逻辑

1.GameRoot.cs 控制 服务层Svc.cs 和业务层Sys.cs 的初始化

创建脚本GameRoot.cs(游戏入口 已进入就初始化各个系统)

创建资源加载服务.cs Res

将服务层Svc设置成单例类所以需要挂载在GameRoot身上,这样就可以通过GameRoot来调各个服务

接下来创建 登陆业务系统LoginSys.cs

cs 复制代码
using UnityEngine;
//功能 : 登陆注册业务系统
public class LoginSys : MonoBehaviour{
    public void InitSys() {
        Debug.Log("Init LoginSys...");
    }
}

再创建 资源加载服务ResSvc.cs

cs 复制代码
using JetBrains.Annotations;
using UnityEngine;
//功能 : 资源加载服务
public class ResSvc : MonoBehaviour{
    public void InitSvc(){
        Debug.Log("Init ResSvc...");
    }
}

编写游戏入口脚本 用来自行调用初始化函数

cs 复制代码
using UnityEngine;
//功能 : 游戏启动入口
public class GameRoot : MonoBehaviour{
    void Start(){
        Debug.Log("Game Start...");
    }
    void Init() {
        //服务模块初始化
        ResSvc res = GetComponent<ResSvc>();
        res.InitSvc();
        //业务系统初始化
        LoginSys login = GetComponent<LoginSys>();
        login.InitSys();
    }
}

这样方便我们程序员控制初始化

2.编写 登录业务系统LoginSys.cs入口

cs 复制代码
using UnityEngine;
//功能 : 登陆注册业务系统
public class LoginSys : MonoBehaviour{
    public void InitSys() {
        Debug.Log("Init LoginSys...");
    }
    //进入登录界面
    public void EnterLogin() {
        //TODO
        //异步加载登录界面
        //并显示加载进度
        //加载完成后再打开登陆界面
    }
}

在GameRoot.cs中调用 登陆业务系统LoginSys.cs

cs 复制代码
using UnityEngine;
//功能 : 游戏启动入口
public class GameRoot : MonoBehaviour{
    void Start(){
        Debug.Log("Game Start...");
        //调用自定义初始化
        Init();
    }
    void Init() {
        //服务模块初始化
        ResSvc res = GetComponent<ResSvc>();
        res.InitSvc();
        //业务系统初始化
        LoginSys login = GetComponent<LoginSys>();
        login.InitSys();

        //进入登陆界面 并 加载相应UI
        login.EnterLogin();
    }
}

End.

相关推荐
我曾经是个程序员8 分钟前
C#集合排序的三种方法(List<T>.Sort、LINQ 的 OrderBy、IComparable<T> 接口)
开发语言·c#
cqths20 分钟前
.NET 9.0 的 Blazor Web App 项目、Bootstrap Blazor 组件库、自定义日志 TLog 使用备忘
数据库·c#·.net·web app
Mr.L705171 小时前
Maui学习笔记- SQLite简单使用案例02添加详情页
笔记·学习·ios·sqlite·c#
格林威3 小时前
BroadCom-RDMA博通网卡如何进行驱动安装和设置使得对应网口具有RDMA功能以适配RDMA相机
人工智能·数码相机·opencv·计算机视觉·c#
.NET骚操作5 小时前
Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到 Guid
ai·c#·.net·chats
xcLeigh7 小时前
WPF基础 | WPF 基础概念全解析:布局、控件与事件
c#·wpf
向阳121812 小时前
doris:Routine Load
数据库·c#·linq
C666688814 小时前
C#与AI的共同发展
开发语言·c#
CodeCraft Studio17 小时前
【实用技能】如何借助Excel处理控件Aspose.Cells,使用 C# 锁定 Excel 中的单元格
开发语言·c#·excel
pchmi17 小时前
C# OpenCV机器视觉:实现农作物病害检测
人工智能·opencv·c#·机器视觉·opencvsharp