void Start() { dfUnity = DaggerfallUnity.Instance; weatherManager = FindObjectOfType <WeatherManager>(); // Try to find local player GPS if not set if (LocalPlayerGPS == null) { GameObject player = GameObject.FindGameObjectWithTag("Player"); if (player) { LocalPlayerGPS = player.GetComponent <PlayerGPS>(); } } // Find main camera gameobject GameObject go = GameObject.FindGameObjectWithTag("MainCamera"); if (go) { mainCamera = go.GetComponent <Camera>(); } // Check main camera component if (!mainCamera) { DaggerfallUnity.LogMessage("DaggerfallSky could not find MainCamera object. Disabling sky.", true); gameObject.SetActive(false); return; } // Save starting clear flags initialClearFlags = mainCamera.clearFlags; // Get my camera myCamera = GetComponent <Camera>(); if (!myCamera) { DaggerfallUnity.LogMessage("DaggerfallSky could not find local camera. Disabling sky.", true); gameObject.SetActive(false); return; } // My camera must not be on the same GameObject as MainCamera if (myCamera == mainCamera) { DaggerfallUnity.LogMessage("DaggerfallSky must not be attached to same GameObject as MainCamera. Disabling sky.", true); gameObject.SetActive(false); return; } // Setup cameras SetupCameras(); }
bool IsGameRunning() { GameObject go = GameObject.FindGameObjectWithTag("Player"); if (go == null) { return(false); } DaggerfallWorkshop.PlayerGPS gPS = go.GetComponent <DaggerfallWorkshop.PlayerGPS>(); if (gPS == null) { return(false); } return(true); }
void Start() { dfUnity = DaggerfallUnity.Instance; // Try to find local player GPS if not set if (LocalPlayerGPS == null) { GameObject player = GameObject.FindGameObjectWithTag("Player"); if (player) { LocalPlayerGPS = player.GetComponent<PlayerGPS>(); } } // Find main camera gameobject GameObject go = GameObject.FindGameObjectWithTag("MainCamera"); if (go) { mainCamera = go.GetComponent<Camera>(); } // Check main camera component if (!mainCamera) { DaggerfallUnity.LogMessage("DaggerfallSky could not find MainCamera object. Disabling sky.", true); gameObject.SetActive(false); return; } // Save starting clear flags initialClearFlags = mainCamera.clearFlags; // Get my camera myCamera = GetComponent<Camera>(); if (!myCamera) { DaggerfallUnity.LogMessage("DaggerfallSky could not find local camera. Disabling sky.", true); gameObject.SetActive(false); return; } // My camera must not be on the same GameObject as MainCamera if (myCamera == mainCamera) { DaggerfallUnity.LogMessage("DaggerfallSky must not be attached to same GameObject as MainCamera. Disabling sky.", true); gameObject.SetActive(false); return; } // Setup cameras SetupCameras(); }
void Start() { dfUnity = DaggerfallUnity.Instance; songPlayer = GetComponent<DaggerfallSongPlayer>(); // Get local player GPS if not set if (LocalPlayerGPS == null) LocalPlayerGPS = GameManager.Instance.PlayerGPS; // Get streaming world if not set if (StreamingWorld == null) StreamingWorld = GameManager.Instance.StreamingWorld; // Get required player components if (LocalPlayerGPS) { playerEnterExit = LocalPlayerGPS.GetComponent<PlayerEnterExit>(); playerWeather = LocalPlayerGPS.GetComponent<PlayerWeather>(); } }
void Awake() { if (!DaggerfallUnity.Settings.Nystul_IncreasedTerrainDistance) return; dfUnity = DaggerfallUnity.Instance; dfUnity.TerrainSampler = new ImprovedTerrainSampler(); //ImprovedTerrainSampler improvedTerrainSampler = DaggerfallUnity.Instance.TerrainSampler as ImprovedTerrainSampler; //if (improvedTerrainSampler == null) //{ // DaggerfallUnity.LogMessage("IncreasedTerrainDistance: TerrainSampler instance is not of type ImprovedTerrainSampler (use ITerrainSampler terrainSampler = new ImprovedTerrainSampler() in DaggerfallUnity.cs)", true); //} if (!streamingWorld) streamingWorld = GameObject.Find("StreamingWorld").GetComponent<StreamingWorld>(); if (!streamingWorld) { DaggerfallUnity.LogMessage("IncreasedTerrainDistance: Missing StreamingWorld reference.", true); if (Application.isEditor) Debug.Break(); else Application.Quit(); } if (!playerGPS) playerGPS = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerGPS>(); if (!playerGPS) { DaggerfallUnity.LogMessage("IncreasedTerrainDistance: Missing PlayerGPS reference.", true); if (Application.isEditor) Debug.Break(); else Application.Quit(); } if (!weatherManager) { //weatherManager = GameObject.Find("WeatherManager").GetComponent<WeatherManager>(); WeatherManager[] weatherManagers = Resources.FindObjectsOfTypeAll<WeatherManager>(); foreach (WeatherManager currentWeatherManager in weatherManagers) { GameObject go = currentWeatherManager.gameObject; string objectPathInHierarchy = GetGameObjectPath(go); if (objectPathInHierarchy == "/Exterior/WeatherManager") { weatherManager = currentWeatherManager; break; } } } if (!weatherManager) { DaggerfallUnity.LogMessage("IncreasedTerrainDistance: Missing WeatherManager reference.", true); if (Application.isEditor) Debug.Break(); else Application.Quit(); } SetupGameObjects(); // create cameras here in OnAwake() so MirrorReflection script of ReflectionsMod can find cameras in its Start() function }
void Start() { dfUnity = DaggerfallUnity.Instance; songPlayer = GetComponent<DaggerfallSongPlayer>(); // Try to find local player GPS if not set if (LocalPlayerGPS == null) { GameObject player = GameObject.FindGameObjectWithTag("Player"); if (player) { LocalPlayerGPS = player.GetComponent<PlayerGPS>(); } } // Get required player components if (LocalPlayerGPS) { playerEnterExit = LocalPlayerGPS.GetComponent<PlayerEnterExit>(); playerWeather = LocalPlayerGPS.GetComponent<PlayerWeather>(); } }