102 lines
2.8 KiB
C#
102 lines
2.8 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Cysharp.Threading.Tasks;
|
|
using DefaultNamespace;
|
|
using DefaultNamespace.ProcessMode;
|
|
using Framework.Scripts.Runtime.Engine.Engine.Camera;
|
|
using Framework.Scripts.Runtime.Engine.Scene;
|
|
using UnityEngine;
|
|
|
|
// 添加游戏开发中常用的游戏模块的命名空间
|
|
using MotionFramework;
|
|
using MotionFramework.Console;
|
|
using MotionFramework.Event;
|
|
using MotionFramework.Utility;
|
|
|
|
public class GameLauncher : MonoBehaviour
|
|
{
|
|
[Tooltip("在编辑器下模拟运行")] public bool SimulationOnEditor = true;
|
|
|
|
void Awake()
|
|
{
|
|
// #if !UNITY_EDITOR
|
|
// SimulationOnEditor = false;
|
|
// #endif
|
|
//
|
|
// // 初始化控制台
|
|
// if (Application.isEditor || Debug.isDebugBuild)
|
|
DeveloperConsole.Initialize();
|
|
|
|
|
|
// 初始化框架
|
|
MotionEngine.Initialize(this, HandleMotionFrameworkLog);
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
CreateGameModules();
|
|
}
|
|
|
|
void Update()
|
|
{
|
|
// 更新框架
|
|
MotionEngine.Update();
|
|
}
|
|
|
|
void OnGUI()
|
|
{
|
|
// 绘制控制台
|
|
// if (Application.isEditor || Debug.isDebugBuild)
|
|
//DeveloperConsole.Draw();
|
|
}
|
|
|
|
private void CreateGameModules()
|
|
{
|
|
// 创建事件管理器
|
|
MotionEngine.CreateModule<EventManager>();
|
|
MotionEngine.CreateModule<DataConfigManager>();
|
|
//流程管理器
|
|
MotionEngine.CreateModule<ProcessManager>();
|
|
// 场景管理器
|
|
MotionEngine.CreateModule<SceneManager>();
|
|
|
|
var sceneManager = MotionEngine.GetModule<SceneManager>();
|
|
|
|
|
|
MotionEngine.GetModule<ProcessManager>().InitializeFirstStep(System.IO.File.ReadAllText( Application.streamingAssetsPath + "/DataConfig/新流程.json"),ProcessMode.Teaching);
|
|
|
|
// //获取所有ProcessAction 属性
|
|
ProcessExecutor.ExecuteProcessAddMethods("新流程ProcessEvents");
|
|
|
|
// //注册事件
|
|
EventRegistrationCenter.RegisterAllEvents();
|
|
|
|
// MotionEngine.GetModule<ProcessManager>().JumpToProcessAsync(2, 2); //跳转流程
|
|
// MotionEngine.GetModule<ProcessManager>().JumpToProcessAsync(0, 1);
|
|
}
|
|
|
|
private void HandleMotionFrameworkLog(ELogLevel logLevel, string log)
|
|
{
|
|
if (logLevel == ELogLevel.Log)
|
|
{
|
|
UnityEngine.Debug.Log(log);
|
|
}
|
|
else if (logLevel == ELogLevel.Error)
|
|
{
|
|
UnityEngine.Debug.LogError(log);
|
|
}
|
|
else if (logLevel == ELogLevel.Warning)
|
|
{
|
|
UnityEngine.Debug.LogWarning(log);
|
|
}
|
|
else if (logLevel == ELogLevel.Exception)
|
|
{
|
|
UnityEngine.Debug.LogError(log);
|
|
}
|
|
else
|
|
{
|
|
throw new NotImplementedException($"{logLevel}");
|
|
}
|
|
}
|
|
} |