示例#1
0
    public static void SetOpacityToGameObject(float opacity, GameObject obj)
    {
        CFontRenderer font = obj.GetComponent <CFontRenderer>();

        if (font != null)
        {
            font.mColor.a = opacity;
            if (opacity <= 0.0f)
            {
                font.setEnabled(false);
            }
            else
            {
                font.setEnabled(true);
            }
        }
        CDiffuseRenderer diffuse = obj.GetComponent <CDiffuseRenderer>();

        if (diffuse != null)
        {
            Color clr = diffuse.GetMaterial().GetColor();
            clr.a = opacity;
            diffuse.GetMaterial().SetColor(clr);

            if (opacity <= 0.0f)
            {
                diffuse.setEnabled(false);
            }
            else
            {
                diffuse.setEnabled(true);
            }
        }
    }
示例#2
0
    public void OnStart()
    {
        mSound = gameObject.RequireComponent <CSound>();

        // scale should be 0.221f, 0124f
        menuPointer = GameObject.GetGameObjectByName(Common.prefix + menuPointerName);
        menuPointer.transform.SetParent(null);

        Common.SetOpacityToGameObject(0.0f, menuPointer);
        menuPointerInitPos = new Vector3(-2.75f, 1.23f, -0.05f);
        menuPointer.transform.SetPosition(menuPointerInitPos);

        screenImageMesh = gameObject.RequireComponent <CDiffuseRenderer>();
        screenImageMesh.GetMaterial().SetColor(new Color(1.0f, 1.0f, 1.0f, 0.0f));

        optionsPos   = new Vector3(0.0f, -90.0f, 0.0f); // Position to look at options menu
        pauseOptions = Common.GetPauseOptionsScreen().RequireComponent <CDiffuseRenderer>();
        Common.GetPauseOptionsScreen().transform.SetPosition(optionsPos);
        pauseOptions.setEnabled(false);
        GameObject pausePointerObj = Common.GetChildByName(pauseOptions.gameObject, "menuPointer");

        pauseMenuPointer = pausePointerObj.RequireComponent <CDiffuseRenderer>();
        pauseMenuPointer.setEnabled(false);
        Common.GetMenuFullscreenX().setEnabled(false); // Init all options stuff to invisible
        Common.GetMenuMuteX().setEnabled(false);
        Common.GetMenuVolumeFont().setEnabled(false);

        fadeScreen = GameObject.GetGameObjectByName(Common.prefix + fadeScreenName);
        Common.SetOpacityToGameObject(fadeOpacity, fadeScreen); // Start with full black

        optionsFadeScreen = GameObject.GetGameObjectByName(Common.prefix + optionsFadeScreenName);
        Common.SetOpacityToGameObject(fadeOpacity, optionsFadeScreen);

        mLoadingFirstTime  = true;
        mPrevMainMenuState = -1;
        mMainMenuState     = -1;

        mPointerPosition = new List <Vector2>();
        // 0.227, 0.115
        mPointerPosition.Add(new Vector2(-0.0753f, 0.028f));
        mPointerPosition.Add(new Vector2(-0.0753f, 0.0233f));
        mPointerPosition.Add(new Vector2(-0.0753f, 0.0186f));
        mPointerPosition.Add(new Vector2(-0.0753f, 0.0139f));
        mPointerPosition.Add(new Vector2(-0.0753f, -0.0051f)); // wrong

        mPointerPosForMainMenuConfirmation = new List <Vector2>();
        mPointerPosForMainMenuConfirmation.Add(new Vector2(-0.0693f, 0.0043f));
        mPointerPosForMainMenuConfirmation.Add(new Vector2(-0.0693f, -0.0004f));

        mPointerPosForQuitConfirmation = new List <Vector2>();
        mPointerPosForQuitConfirmation.Add(new Vector2(-0.0693f, -0.0145f));
        mPointerPosForQuitConfirmation.Add(new Vector2(-0.0693f, -0.0193f));

        mCurrPointerPos = mPointerPosition[0];

        // When going to How To Play / Options, change camera to Ortho, at (0,0,0), with 0 rotation
        // Bring up the ortho image
    }
示例#3
0
    // The trigger point when screen is black, and state is changed
    void TriggerOnStartForMainMenu()
    {
        fadeState         = 2; // Fade transparent
        mLoadingFirstTime = false;
        Common.SetOpacityToGameObject(0.0f, menuPointer);

        Common.GetMenuFullscreenX().setEnabled(false);
        Common.GetMenuMuteX().setEnabled(false);
        Common.GetMenuVolumeFont().setEnabled(false);

        switch (mMainMenuState)
        {
        case (int)PAUSE_STATE.MAIN:
            if (mPrevMainMenuState == (int)PAUSE_STATE.OPTIONS)
            {
                Common.isOptions = false;
                Common.GetStealthPlayerCamera().RequireComponent <CCamera>().mActiveProj = CCamera.CamProj.PERSP;
                Common.GetStealthPlayerCamera().transform.Rotate(mCamSavedDir);     // Set back to saved dir

                pauseOptions.setEnabled(false);
                pauseMenuPointer.setEnabled(false);
            }

            // Set pointer back to where it was clicked into
            menuPointerIndex   = (mPrevMainMenuState == -1) ? 0 : mPrevMainMenuState;
            mPrevMainMenuState = 0;

            screenImageMesh.GetMaterial().SetTexture("pauseMenu_new.png");
            Common.SetOpacityToGameObject(1.0f, menuPointer);

            SetPointerPos(mPointerPosition[menuPointerIndex]);
            break;

        case (int)PAUSE_STATE.RESUME:
            // Unpause the game, make the screens disappear
            Common.isPaused = false;
            break;

        case (int)PAUSE_STATE.HOWTOPLAY:
            if (mPrevMainMenuState != mMainMenuState)     // from main menu
            {
                mHowToPlayState = 0;
            }
            else     // from page 1
            {
                mHowToPlayState = (mHowToPlayState == 0) ? 1 : 0;
            }

            string pngFile = (mHowToPlayState == 0) ? "howtoplay_Stealth.png" : "howtoplay_Surveillance.png";
            screenImageMesh.GetMaterial().SetTexture(pngFile);
            break;

        case (int)PAUSE_STATE.OPTIONS:
            // Fly camera to 0,0,0, to look at options menu
            Common.isOptions = true;     // This prevents first person camera from updating
            mCamSavedDir     = Common.GetStealthPlayerCamera().transform.GetRotation();
            Common.GetStealthPlayerCamera().transform.Rotate(Vector3.Zero);
            Vector3 camPos = optionsPos;
            camPos.Z -= 1.0f;
            Common.GetStealthPlayerCamera().transform.SetPosition(camPos);
            Common.GetStealthPlayerCamera().RequireComponent <CCamera>().mActiveProj = CCamera.CamProj.ORTHO;

            pauseOptions.setEnabled(true);
            pauseMenuPointer.setEnabled(true);

            mOptionsPointerIndex = 0;
            MainMenuScript.PositionOptionsPointer(pauseMenuPointer.gameObject, mOptionsPointerIndex, optionsPos);

            Common.GetMenuFullscreenX().setEnabled(Engine.getInstance().GetGameWnd().IsFullScreen());
            Common.GetMenuMuteX().setEnabled(AudioManager.getInstance().GetMuteSound());
            Common.GetMenuVolumeFont().setEnabled(true);
            MainMenuScript.SetVolumeText();

            screenImageMesh.GetMaterial().SetTexture("Menu_options.png");
            break;

        case (int)PAUSE_STATE.MAIN_MENU:
            if (mToMainMenuState == 0)
            {
                Common.SetOpacityToGameObject(1.0f, menuPointer);
                screenImageMesh.GetMaterial().SetTexture("pauseMenu_MainMenu_new.png");

                // Position the pointer
                mIsConfirmationYes = false;
                PositionMenuPointerMainMenuForConfirmation(); // default at no
            }
            else                                              // Faded to black after YES confirmation, then load main menu level
            {
                Common.Reset();
                Map.LoadOnlyMap("Assets/Levels/mainMenu1.mocha");
            }
            break;

        case (int)PAUSE_STATE.QUIT:
            Common.SetOpacityToGameObject(1.0f, menuPointer);
            screenImageMesh.GetMaterial().SetTexture("pauseMenu_Quit_new.png");

            // Position the pointer
            mIsConfirmationYes = false;
            PositionMenuPointerQuitForConfirmation();     // default at no
            break;
        }
    }