62 lines
1.5 KiB
C#
62 lines
1.5 KiB
C#
using System.Collections;
|
|
using UnityEngine;
|
|
|
|
namespace QFramework.Example
|
|
{
|
|
public class ArchitectureDeinitExample : MonoBehaviour
|
|
{
|
|
// Start is called before the first frame update
|
|
IEnumerator Start()
|
|
{
|
|
Debug.Log("Start Init");
|
|
var simpleArchitecture = SimpleArchitecture.Interface;
|
|
yield return new WaitForSeconds(2.0f);
|
|
Debug.Log("Start Deinit");
|
|
SimpleArchitecture.Interface.Deinit();
|
|
}
|
|
|
|
|
|
public class SimpleArchitecture : Architecture<SimpleArchitecture>
|
|
{
|
|
protected override void Init()
|
|
{
|
|
Debug.Log("Simple Architecture Init");
|
|
this.RegisterSystem(new MySystem());
|
|
this.RegisterModel(new MyModel());
|
|
}
|
|
|
|
protected override void OnDeinit()
|
|
{
|
|
Debug.Log("Simple Architecture Deinit");
|
|
}
|
|
}
|
|
|
|
public class MyModel : AbstractModel
|
|
{
|
|
protected override void OnInit()
|
|
{
|
|
Debug.Log("My Model Init");
|
|
}
|
|
|
|
protected override void OnDeinit()
|
|
{
|
|
Debug.Log("My Model Deinit");
|
|
}
|
|
}
|
|
|
|
public class MySystem : AbstractSystem
|
|
{
|
|
protected override void OnInit()
|
|
{
|
|
Debug.Log("My System Init");
|
|
}
|
|
|
|
protected override void OnDeinit()
|
|
{
|
|
Debug.Log("My System Deinit");
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|