using System.Collections; using System.Collections.Generic; using UnityEngine; using SiegeSong; using Gaia; namespace SiegeSong { public class RuntimeManager : MonoBehaviour { public InputManager PlayerInputManager; 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 = PlayerActorInstance.GetComponentInChildren().ActiveCamera.GetComponentInChildren(); } if (PlayerInputManager != null) { PlayerInputManager.Motor = PlayerActorInstance.GetComponent(); PlayerInputManager.CameraManager = PlayerActorInstance.GetComponentInChildren(); PlayerInputManager.InventoryManager = PlayerActorInstance.GetComponentInChildren(); PlayerInputManager.Selector = PlayerActorInstance.GetComponentInChildren(); //for (var i = 0; i < PlayerActorInstance.transform.childCount; i++) //{ // var child = PlayerActorInstance.transform.GetChild(i).gameObject; // if (child.name == "PlayerAgent") // { // PlayerInputManager.CameraManager = PlayerActorInstance.GetComponentInChildren(); // PlayerInputManager.InventoryManager = PlayerActorInstance.GetComponentInChildren(); // PlayerInputManager.Selector = PlayerActorInstance.GetComponentInChildren(); // } //} } if (GaiaPlayer != null) { GaiaPlayer.transform.parent = PlayerActorInstance.transform; GaiaPlayer.transform.position = Vector3.zero; } if (PlayerActorInstance != null) { if (PlayerActorInstance.GetComponentInChildren() != null && PlayerActorInstance.GetComponentInChildren().ActiveCamera != null && PlayerActorInstance.GetComponentInChildren().ActiveCamera.transform.childCount > 0) { var cameraGameObject = PlayerActorInstance.GetComponentInChildren().ActiveCamera.transform.GetChild(0); var camera = PlayerActorInstance.GetComponentInChildren().ActiveCamera.GetComponentInChildren(); if (WaterModule != null) { WaterModule.gameObject.SetActive(true); WaterModule.setCamera = PlayerActorInstance.GetComponentInChildren().ActiveCamera.transform.GetChild(0); WaterModule.mainCamera = PlayerActorInstance.GetComponentInChildren().ActiveCamera.transform.GetChild(0); WaterModule.manualCamera = PlayerActorInstance.GetComponentInChildren().ActiveCamera.transform.GetChild(0); WaterModule.setTrack = PlayerActorInstance.transform; WaterModule.playSounds = true; } if (GaiaGlobalSettings != null) GaiaGlobalSettings.m_mainCamera = PlayerActorInstance.GetComponentInChildren().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 (PlayerInputManager != null) { PlayerInputManager.Motor = null; PlayerInputManager.CameraManager = null; PlayerInputManager.InventoryManager = null; PlayerInputManager.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() { } } }