public BSPMap LoadMap(string vpkLoc, string mapLoc, bool combineMeshesWithSameTextures = true, float faceLoadPercent = 1, float modelLoadPercent = 1, bool flatTextures = false, int maxTextureSize = 2048)
    {
        BSPMap.vpkLoc = vpkLoc;
        BSPMap map = new BSPMap(mapLoc);

        BSPMap.combineMeshesWithSameTexture = combineMeshesWithSameTextures;
        BSPMap.FaceLoadPercent        = faceLoadPercent;
        BSPMap.ModelLoadPercent       = modelLoadPercent;
        SourceTexture.averageTextures = flatTextures;
        SourceTexture.maxTextureSize  = maxTextureSize;

        map.ParseFile(System.Threading.CancellationToken.None);
        map.MakeGameObject(null, (go) => { go.transform.SetParent(transform, false); go.SetActive(true); });

        return(map);
    }
    public BSPMap LoadMap(string vpkLoc, string mapLoc, bool combineMeshesWithSameTextures = true, float faceLoadPercent = 1, float modelLoadPercent = 1, bool flatTextures = false, int maxTextureSize = 2048)
    {
        BSPMap.vpkLoc = vpkLoc;
        BSPMap map = new BSPMap(mapLoc);

        BSPMap.combineMeshesWithSameTexture = combineMeshesWithSameTextures;
        BSPMap.FaceLoadPercent        = faceLoadPercent;
        BSPMap.ModelLoadPercent       = modelLoadPercent;
        SourceTexture.averageTextures = flatTextures;
        SourceTexture.maxTextureSize  = maxTextureSize;

        loadingTask = UnityHelpers.TaskManagerController.RunActionAsync("Parsing Map", (cancelToken) => { map.ParseFile(cancelToken, null, () =>
            {
                if (!loadingTask.cancelled)
                {
                    UnityHelpers.TaskManagerController.RunAction(() => { map.MakeGameObject(null, (go) => { go.SetActive(true); }); });
                }
            }); });

        return(map);
    }
Beispiel #3
0
    private void MakeGameObject(Action onCompleted = null)
    {
        combine = ramCombine;
        TaskManagerController.RunAction(() =>
        {
            //status = "Building Map";
            SteamController.LogToConsole("Building " + map.mapName);
            map.MakeGameObject(null, (go) =>
            {
                if (combine)
                {
                    MapLoaderController.mapLoaderInScene.combiner.searchOptions.parent = go;
                    MapLoaderController.mapLoaderInScene.combiner.CombineAll();
                }
                else
                {
                    go.SetActive(true);
                }

                onCompleted?.Invoke();
            });
            SteamController.LogToConsole("Finished building " + map.mapName);
        });
    }