上篇介绍完网络工具的实现,本篇介绍辅助类游戏管理器,顾名思义主要是管理控制整个游戏的一些公用的,或者游戏项目各子功能模块的交互等。这边主要介绍“帧”调用事件的注册监听。前面网络通信工具实现中,有部分API需要每帧检查执行。
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/*
* Author:W
* 游戏管理器
*/
public class GameManager : MonoBehaviour {
public static GameManager Instance;
private event Action OnFrame;
/// <summary>
/// 注册帧回调事件
/// </summary>
/// <param name="action"></param>
public void RegisterFrameCallBack(Action action)
{
OnFrame += action;
}
/// <summary>
/// 注销帧回调事件
/// </summary>
/// <param name="action"></param>
public void UnRegisterFrameCallBack(Action action)
{
OnFrame -= action;
}
void Awake()
{
Instance = this;
DontDestroyOnLoad(this.gameObject);
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (OnFrame != null)
OnFrame();
}
}