protected void Initialize()
    {
        if (!Initialized.HasValue)
        {
            var obj = ServiceProvider.Instance.ResourceLoader.LoadGameObject("SnowstoneLevelObject");

            levelCont       = obj.GetComponent <SnowstoneLevelController>();
            scoreDispScript = obj.GetComponent <ScoreDispScript>();

            ServiceProvider.Instance.EnvironmentManager.TimeOfDay = 7f;
            ServiceProvider.Instance.EnvironmentManager.UpdateWeather(WeatherPreset.ScatteredClouds, 0, true);

            Initialized = true;
        }
    }
    protected void Initialize()
    {
        if (!Initialized.HasValue)
        {
            var obj = ServiceProvider.Instance.ResourceLoader.LoadGameObject("HellkeskaLevelObject");

            levelCont       = obj.GetComponent <HellkeskaLevelController>();
            scoreDispScript = obj.GetComponent <ScoreDispScript>();

            ServiceProvider.Instance.EnvironmentManager.TimeOfDay = 13f;
            ServiceProvider.Instance.EnvironmentManager.UpdateWeather(WeatherPreset.Clear, 0, true);

            ServiceProvider.Instance.GameWorld.ShowStatusMessage("Fly straight ahead and intercept the targets at medium altitude.");

            Initialized = true;
        }
    }
    protected void Initialize()
    {
        if (!Initialized.HasValue)
        {
            var obj = ServiceProvider.Instance.ResourceLoader.LoadGameObject("InterceptLevelObject");

            bomberScript    = obj.GetComponentInChildren <BomberScript>();
            levelCont       = obj.GetComponent <InterceptLevelController>();
            scoreDispScript = obj.GetComponent <ScoreDispScript>();

            ServiceProvider.Instance.EnvironmentManager.TimeOfDay = 11f;
            ServiceProvider.Instance.EnvironmentManager.UpdateWeather(WeatherPreset.BrokenClouds, 0, true);

            ServiceProvider.Instance.GameWorld.ShowStatusMessage("Fly straight ahead and intercept the targets at 2000 m (6600 ft) ASL.");

            Initialized = true;
        }
    }