using System.Collections; using System.Collections.Generic; using UnityEngine; using SiegeSong; using Gaia; namespace SiegeSong { public class RuntimeManager : MonoBehaviour { public GameObject PlayerInstance; 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 (EnviroSkyMgr.instance != null) EnviroSkyMgr.instance.Player = PlayerInstance; if (GaiaPlayer != null) { GaiaPlayer.transform.parent = PlayerInstance.transform; GaiaPlayer.transform.position = Vector3.zero; } if (PlayerInstance.GetComponentInChildren() != null && PlayerInstance.GetComponentInChildren().ActiveCamera != null && PlayerInstance.GetComponentInChildren().ActiveCamera.transform.childCount > 0) { var cameraGameObject = PlayerInstance.GetComponentInChildren().ActiveCamera.transform.GetChild(0); var camera = PlayerInstance.GetComponentInChildren().ActiveCamera.GetComponentInChildren(); if (WaterModule != null) { WaterModule.setCamera = PlayerInstance.GetComponentInChildren().ActiveCamera.transform.GetChild(0); WaterModule.mainCamera = PlayerInstance.GetComponentInChildren().ActiveCamera.transform.GetChild(0); WaterModule.manualCamera = PlayerInstance.GetComponentInChildren().ActiveCamera.transform.GetChild(0); WaterModule.setTrack = PlayerInstance.transform; } GaiaGlobalSettings.m_mainCamera = PlayerInstance.GetComponentInChildren().ActiveCamera.GetComponentInChildren(); EnviroSky.PlayerCamera = camera; EnviroSky.Player = PlayerInstance; } } // This will toggled the active state of anything that causes errors when the Runtime Manager doesn't have an Actor Instance for the Player, such as before Starting or Loading a save file (in the start menu) public void SetVolatileReferencesActiveState(bool active) { WaterModule.gameObject.active = active; WaterSurface.gameObject.active = active; } void Start() { } void Update() { } } }