64 lines
1.3 KiB
C#
64 lines
1.3 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
namespace IllusionInjector
|
|||
|
{
|
|||
|
public class PluginComponent : MonoBehaviour
|
|||
|
{
|
|||
|
private CompositePlugin plugins;
|
|||
|
private bool freshlyLoaded = false;
|
|||
|
|
|||
|
void Awake()
|
|||
|
{
|
|||
|
DontDestroyOnLoad(gameObject);
|
|||
|
|
|||
|
if (Environment.CommandLine.Contains("--verbose") && !Screen.fullScreen)
|
|||
|
{
|
|||
|
Windows.GuiConsole.CreateConsole();
|
|||
|
}
|
|||
|
|
|||
|
plugins = new CompositePlugin(PluginManager.Plugins);
|
|||
|
plugins.OnApplicationStart();
|
|||
|
}
|
|||
|
|
|||
|
void Start()
|
|||
|
{
|
|||
|
OnLevelWasLoaded(Application.loadedLevel);
|
|||
|
}
|
|||
|
|
|||
|
void Update()
|
|||
|
{
|
|||
|
if (freshlyLoaded)
|
|||
|
{
|
|||
|
freshlyLoaded = false;
|
|||
|
plugins.OnLevelWasInitialized(Application.loadedLevel);
|
|||
|
}
|
|||
|
plugins.OnUpdate();
|
|||
|
}
|
|||
|
|
|||
|
void LateUpdate()
|
|||
|
{
|
|||
|
plugins.OnLateUpdate();
|
|||
|
}
|
|||
|
|
|||
|
void FixedUpdate()
|
|||
|
{
|
|||
|
plugins.OnFixedUpdate();
|
|||
|
}
|
|||
|
|
|||
|
void OnDestroy()
|
|||
|
{
|
|||
|
plugins.OnApplicationQuit();
|
|||
|
}
|
|||
|
|
|||
|
void OnLevelWasLoaded(int level)
|
|||
|
{
|
|||
|
plugins.OnLevelWasLoaded(level);
|
|||
|
freshlyLoaded = true;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|