示例#1
0
    public DoomMenu(WadFile inwad)
    {
        wad                     = inwad;
        textGen                 = new DoomText(wad);
        gameObject              = new GameObject("Menu");
        menuCanvas              = gameObject.AddComponent <Canvas>();
        menuCanvas.renderMode   = RenderMode.ScreenSpaceOverlay;
        menuCanvas.pixelPerfect = true;

        CanvasScaler menuCanvasScaler = gameObject.AddComponent <CanvasScaler>();

        menuCanvasScaler.uiScaleMode         = CanvasScaler.ScaleMode.ScaleWithScreenSize;
        menuCanvasScaler.referenceResolution = new Vector2(320, 200);

        gameObject.AddComponent <GraphicRaycaster>();

        menuMaterial = new Material(Shader.Find("Doom/Unlit Texture"));
        menuMaterial.SetTexture("_Palette", new Palette(wad.GetLump("PLAYPAL")).GetLookupTexture());
        menuMaterial.SetTexture("_Colormap", new Colormap(wad.GetLump("COLORMAP")).GetLookupTexture());

        mainMenu = new GameObject("Main Menu");
        mainMenu.transform.parent        = gameObject.transform;
        mainMenu.transform.localPosition = new Vector3(-160f, 100f, 1f);

        BuildMenu(mainMenu);
        BuildCursor(mainMenu);

        mainMenu.SetActive(false);

        InitSounds();
    }
示例#2
0
 static void SetupMaterials()
 {
     if (doomText == null)
     {
         doomText = new DoomText(wad);
     }
     if (messageMaterial == null)
     {
         messageMaterial = new Material(Shader.Find("Doom/Unlit Texture"));
         messageMaterial.SetTexture("_Palette", new Palette(wad.GetLump("PLAYPAL")).GetLookupTexture());
         messageMaterial.SetTexture("_Colormap", new Colormap(wad.GetLump("COLORMAP")).GetLookupTexture());
     }
 }