You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
4.4 KiB
C#

3 years ago
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using SiegeSong;
using Gaia;
namespace SiegeSong
{
public class RuntimeManager : MonoBehaviour
{
public NotificationManager NotificationManager;
public LoadingCellManager LoadingCellManager;
public CameraManager CameraManager;
public SaveFileLoader SaveFileLoader;
public InputManager InputManager;
public GameObject PlayerActorInstance;
public GaiaScenePlayer GaiaPlayer;
public GaiaGlobal GaiaGlobalSettings;
public Suimono.Core.SuimonoObject WaterSurface;
public Suimono.Core.SuimonoModule WaterModule;
//public EnviroSky EnviroSky;
public Calendar Calendar;
public void PopulateReferences()
{
if (WaterSurface != null)
WaterSurface.gameObject.SetActive(true);
if (EnviroSkyMgr.instance != null)
{
EnviroSkyMgr.instance.Player = PlayerActorInstance;
EnviroSkyMgr.instance.Camera = CameraManager.ActiveCamera.GetComponentInChildren<Camera>();
}
if (InputManager != null)
{
InputManager.Motor = PlayerActorInstance.GetComponent<Motor>();
InputManager.InventoryManager = PlayerActorInstance.GetComponentInChildren<InventoryManager>();
InputManager.Selector = PlayerActorInstance.GetComponentInChildren<Selector>();
}
if (GaiaPlayer != null)
{
GaiaPlayer.transform.parent = PlayerActorInstance.transform;
GaiaPlayer.transform.position = Vector3.zero;
}
if (PlayerActorInstance != null)
{
if (CameraManager != null
&& CameraManager.ActiveCamera != null
&& CameraManager.ActiveCamera.transform.childCount > 0)
{
var cameraGameObject = CameraManager.ActiveCamera.transform.GetChild(0);
var camera = CameraManager.ActiveCamera.GetComponentInChildren<Camera>();
var motor = PlayerActorInstance.GetComponent<Motor>();
if (motor != null)
motor.CameraManager = CameraManager;
if (WaterModule != null)
{
WaterModule.gameObject.SetActive(true);
WaterModule.setCamera = CameraManager.ActiveCamera.transform.GetChild(0);
WaterModule.mainCamera = CameraManager.ActiveCamera.transform.GetChild(0);
WaterModule.manualCamera = CameraManager.ActiveCamera.transform.GetChild(0);
WaterModule.setTrack = PlayerActorInstance.transform;
WaterModule.playSounds = true;
}
if (GaiaGlobalSettings != null)
GaiaGlobalSettings.m_mainCamera = CameraManager.ActiveCamera.GetComponentInChildren<Camera>();
}
PlayerActorInstance.SetActive(true);
}
}
public void DePopulateReferences()
{
if (PlayerActorInstance != null)
PlayerActorInstance.SetActive(false);
if (EnviroSkyMgr.instance != null)
{
EnviroSkyMgr.instance.Player = null;
EnviroSkyMgr.instance.Camera = null;
}
if (WaterModule != null)
{
WaterModule.gameObject.SetActive(false);
WaterModule.playSounds = false;
WaterModule.setCamera = null;
WaterModule.mainCamera = null;
WaterModule.manualCamera = null;
WaterModule.setTrack = null;
}
if (InputManager != null)
{
InputManager.Motor = null;
InputManager.CameraManager = null;
InputManager.InventoryManager = null;
InputManager.Selector = null;
}
if (GaiaPlayer != null)
{
GaiaPlayer.transform.parent = null;
}
if (GaiaGlobalSettings != null)
GaiaGlobalSettings.m_mainCamera = null;
if (WaterSurface != null)
WaterSurface.gameObject.SetActive(false);
}
void Start() { }
void Update() { }
}
}