Пример #1
0
    private IEnumerator GenWorldOnSecondThread(System.Random GameRNG)
    {
        Planet world = null;

        GeneralManager.StartLoading();
        Thread thread = new Thread(() => {
            GeneralManager.SetStatus("Initializing World");
            world = new Planet(Database, PlanetSettings, GameRNG);
            GeneralManager.SetStatus("Generating Terrain");
            world.Generate(GeneralManager.SetStatus);
        });

        thread.Start();
        while (thread.IsAlive)
        {
            yield return(null);
        }
        GeneralManager.EndLoading();
        FinishedGenerating(world);
    }