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.

127 lines
5.3 KiB
C#

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