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(); } if (InputManager != null) { InputManager.Motor = PlayerActorInstance.GetComponent(); InputManager.InventoryManager = PlayerActorInstance.GetComponentInChildren(); InputManager.Selector = PlayerActorInstance.GetComponentInChildren(); } 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(); var motor = PlayerActorInstance.GetComponent(); 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(); } 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() { } } }