Пример #1
0
 void EnsureFogDataCreated()
 {
     if (Fog == null)
     {
         Fog = new FogData();
     }
 }
Пример #2
0
    public void RemoveFogAndMarkers()
    {
        foreach (Transform child in transform)
        {
            FogData fg = child.GetComponent <FogData>();
            if (fg != null)
            {
                Destroy(child.gameObject);
            }
        }

        var objs = FindObjectsOfType <SpawnMarker>();

        foreach (var ob in objs)
        {
            if (ob.name.Contains("SPAWNMARKER"))
            {
                Destroy(ob.gameObject);
            }
            if (ob.name == "STARTMARKER")
            {
                ob.gameObject.SetActive(false);
            }
        }
    }
Пример #3
0
 private static void ToggleFog()
 {
     // Commented out code from previous fog set up. "Toggle Render Features".
     //var renderPipeline = AssetDatabase.LoadAssetAtPath<ForwardRendererData>("Assets/Settings/Renderer Data/Main Renderer.asset");
     //foreach (var feature in renderPipeline.rendererFeatures)
     //{
     //    feature.SetActive(!feature.isActive);
     //}
     FogData.SetNULLFog();
 }
Пример #4
0
 //
 //	Environment	//
 //
 #region Environment
 public static void SetFog(FogData fogData)
 {
     RenderSettings.fog              = fogData.fogEnabled;
     RenderSettings.fogColor         = fogData.fogColor;
     RenderSettings.fogMode          = fogData.fogMode;
     RenderSettings.fogDensity       = fogData.fogDensity;
     RenderSettings.fogStartDistance = fogData.linearFogStart;
     RenderSettings.fogEndDistance   = fogData.linearFogEnd;
     RenderSettings.ambientLight     = fogData.ambientColor;
 }
Пример #5
0
 public void RemoveFog(string chName)
 {
     foreach (Transform child in transform)
     {
         FogData fg = child.GetComponent <FogData>();
         if (fg != null && fg.chapterName == chName)
         {
             GameObject.Destroy(child.gameObject);
         }
     }
 }
Пример #6
0
    public void RestoreGame(bool fromTemp = false)
    {
        Debug.Log("Restoring...");
        GameState gameState;

        if (fromTemp)
        {
            gameState = GameState.LoadStateTemp(scenario);
        }
        else
        {
            gameState = GameState.LoadState(Bootstrap.gameStarter.saveStateIndex);
        }

        if (gameState == null)
        {
            ShowError("Could not restore - gamestate is null");
            return;
        }

        //restore data
        RemoveFogAndMarkers();
        gameState.campaignState?.SetState();
        gameState.partyState.SetState();
        endTurnButton.SetState(scenario, gameState.partyState);
        triggerManager.SetState(gameState.triggerState);
        objectiveManager.SetState(gameState.objectiveState);
        chapterManager.SetState(gameState.chapterState);
        FindObjectOfType <CamControl>().SetState(gameState.camState);
        tileManager.SetState(gameState.tileState);
        interactionManager.SetState(gameState.interactionState);
        FindObjectOfType <MonsterManager>().SetState(gameState.monsterState);

        foreach (FogState fs in gameState.partyState.fogList)
        {
            GameObject fog = Instantiate(tileManager.fogPrefab, transform);
            FogData    fg  = fog.GetComponent <FogData>();
            fg.chapterName         = fs.chapterName;
            fog.transform.position = fs.globalPosition;
        }

        uiControl.interactable = true;
        Debug.Log("Restored Game");
    }
Пример #7
0
    public List <FogState> GetFogState()
    {
        List <FogState> flist = new List <FogState>();

        foreach (Transform child in transform)
        {
            FogData fg = child.GetComponent <FogData>();
            if (fg != null)
            {
                FogState fs = new FogState()
                {
                    globalPosition = fg.transform.position,
                    chapterName    = fg.chapterName
                };
                flist.Add(fs);
            }
        }
        return(flist);
    }
Пример #8
0
            /// <summary>
            /// Main fog update function that should be called in the level. Corrects the level fog data values, generates and then applies the fog table.
            /// </summary>
            public void UpdateFogData(FogData LevelFogData)
            {
                float fogstart;               // [esp+0h] [ebp-8h]
                float fogend;                 // [esp+4h] [ebp-4h]

                fogstart = LevelFogData.FogStart;
                fogend   = LevelFogData.FogEnd;

                if (LevelFogData.FogStart > 0.0)
                {
                    fogstart = -LevelFogData.FogStart;
                }
                if (LevelFogData.FogEnd > 0.0)
                {
                    fogend = -LevelFogData.FogEnd;
                }
                njGenerateFogTable3(fogstart, fogend);
                njSetFogTable(FogTable);
            }
Пример #9
0
    public void BuildScenario()
    {
        ChapterManager   cm     = FindObjectOfType <ChapterManager>();
        List <TileGroup> TGList = new List <TileGroup>();

        //build ALL chapter tilegroups
        foreach (Chapter c in cm.chapterList)
        {
            //build the tiles in the tg
            TileGroup tg = c.tileGroup = CreateGroupFromChapter(c);
            if (tg == null)
            {
                Debug.Log("WARNING::BuildScenario::Chapter has no tiles: " + c.dataName);
                return;
            }

            TGList.Add(tg);
        }

        //all non-dynamic tiles excluding start
        foreach (TileGroup tg in TGList.Where(x => !x.GetChapter().isDynamic&& x.GetChapter().dataName != "Start"))
        {
            //try attaching tg to oldest tg already on board
            foreach (TileGroup tilegroup in TGList.Where(x => !x.GetChapter().isDynamic&& x.GUID != tg.GUID))                 //every non-dynamic
            {
                bool success = tg.AttachTo(tilegroup);
                if (success)
                {
                    Debug.Log("***ATTACHING " + tg.GetChapter().dataName + " to " + tilegroup.GetChapter().dataName);
                    GameObject fog = Instantiate(fogPrefab, transform);
                    FogData    fg  = fog.GetComponent <FogData>();
                    fg.chapterName         = tg.GetChapter().dataName;
                    fog.transform.position = tg.groupCenter.Y(.5f);
                    break;
                }
            }
        }
    }
Пример #10
0
        public static WeatherData[] GenerateWeather(DateTime?equivalentDateTime, WeatherData weather = null)
        {
            if (equivalentDateTime.HasValue)
            {
                DateTime dateTime = equivalentDateTime.Value;
                int      monthIdx = dateTime.Month - 1;
                if (weather == null)
                {
                    weather = new WeatherData();
                }

                List <WeatherData> weatherDatas = WeatherData.GenerateTemperature(dateTime, weather);

                weatherDatas = FogData.GenerateFog(dateTime, weatherDatas);

                weatherDatas = WindData.GenerateWind(dateTime, weatherDatas);

                weatherDatas = PrecipitationData.GeneratePrecipitation(dateTime, weatherDatas);

                return(weatherDatas.ToArray());
            }

            return(null);
        }
Пример #11
0
 public static void SetStageFogData(FogData data)
 {
     fogSettings.UpdateFogData(data);
 }