Skip to content
Snippets Groups Projects
HideUI.cs 14 KiB
Newer Older
  • Learn to ignore specific revisions
  • MaZiFAU's avatar
    MaZiFAU committed
    using System.Collections;
    using UnityEngine;
    
    MaZiFAU's avatar
    MaZiFAU committed
    using static CommunicationEvents;
    
    using static updateMouseCursor;
    
    //using static CamControl_1;
    
    
    public class HideUI : MonoBehaviour
    {
    
    
        //public KeyCode Key = KeyCode.F1;
    
    Marco Zimmer's avatar
    Marco Zimmer committed
        //public KeyCode ScreenshotKey = KeyCode.F12;
    
            modreset,
            modsave,
            modload;
    
        public string cancel_keyBind;
        public string MathM_keyBind;
    
        public float waitingBetweenInputs = 0.2f;
        private double numinputtrigger = 0;
    
    
    
        public UnityStandardAssets.Characters.FirstPerson.FirstPersonController CamControl_StdAsset;
        public Characters.FirstPerson.FirstPersonController1 CamControl_ScriptChar;
    
    
        public bool LockOnly = true;
        public MeshRenderer CursorRenderer;
    
        //for Debug:
        //public MeshRenderer CursorRenderer_FirstP; 
        //public MeshRenderer CursorRenderer_FirstP_oldInpOrig;
        //public int whichCursor;
    
    
        private ControlMapping input_ControlMapping;
    
        private PlayerInput playerInput;
        //Store the controls
        private InputAction action_MathM;
        private InputAction action_ToolM;
        private InputAction action_Cancel_PM;
        private InputAction action_modifier;
        private InputAction action_load;
        private InputAction action_save;
        private InputAction action_reset;
        private InputAction action_undo;
        private InputAction action_redo;
    
    
        //private int action_ToolM_int = 0;
    
        private int action_Cancel_PM_int = 0;
        private int action_modifier_int = 0;
        private int action_load_int = 0;
        private int action_save_int = 0;
        private int action_reset_int = 0;
        private int action_undo_int = 0;
        private int action_redo_int = 0;
    
    
    
    
    
        private void Awake()
        {
            //New InputSystem
            input_ControlMapping = new ControlMapping();
    
    Stefan Richter's avatar
    Stefan Richter committed
            input_ControlMapping.Actionmap1.Cancel_or_PauseMenu.Enable();
    
            input_ControlMapping.Actionmap1.ToolMode.Enable();
            input_ControlMapping.Actionmap1.MathMode.Enable();
            input_ControlMapping.Actionmap1.Modifier.Enable();
            input_ControlMapping.Actionmap1.Load.Enable();
            input_ControlMapping.Actionmap1.Save.Enable();
            input_ControlMapping.Actionmap1.Reset.Enable();
            input_ControlMapping.Actionmap1.Undo.Enable();
            input_ControlMapping.Actionmap1.Redo.Enable();
    
    
            playerInput = GetComponent<PlayerInput>();
            action_MathM = playerInput.actions["MathMode"];
            action_ToolM = playerInput.actions["ToolMode"];
    
    Stefan Richter's avatar
    Stefan Richter committed
            action_Cancel_PM = playerInput.actions["Cancel_or_PauseMenu"];
    
            action_modifier = playerInput.actions["Modifier"];
            action_load = playerInput.actions["Load"];
            action_save = playerInput.actions["Save"];
            action_reset = playerInput.actions["Reset"];
            action_undo = playerInput.actions["Undo"];
            action_redo = playerInput.actions["Redo"];
    
        private void OnEnable()
        {
    
    Stefan Richter's avatar
    Stefan Richter committed
            input_ControlMapping.Actionmap1.Cancel_or_PauseMenu.Enable();
    
            input_ControlMapping.Actionmap1.ToolMode.Enable();
            input_ControlMapping.Actionmap1.MathMode.Enable();
            input_ControlMapping.Actionmap1.Modifier.Enable();
            input_ControlMapping.Actionmap1.Load.Enable();
            input_ControlMapping.Actionmap1.Save.Enable();
            input_ControlMapping.Actionmap1.Reset.Enable();
            input_ControlMapping.Actionmap1.Undo.Enable();
            input_ControlMapping.Actionmap1.Redo.Enable();
    
    Stefan Richter's avatar
    Stefan Richter committed
            input_ControlMapping.Actionmap1.Cancel_or_PauseMenu.Disable();
    
            input_ControlMapping.Actionmap1.ToolMode.Disable();
            input_ControlMapping.Actionmap1.MathMode.Disable();
            input_ControlMapping.Actionmap1.Modifier.Enable();
            input_ControlMapping.Actionmap1.Load.Disable();
            input_ControlMapping.Actionmap1.Save.Disable();
            input_ControlMapping.Actionmap1.Reset.Disable();
            input_ControlMapping.Actionmap1.Undo.Disable();
            input_ControlMapping.Actionmap1.Redo.Disable();
    
            if (UIconfig.FrameITUIversion == 1) // 1= FrameITUI; 2= FrameITUI_mobil
            {
                Start2();
    
                //Cursor.lockState = CursorLockMode.Confined;
    
            }
            else
            {
                if (UICanvas == null)
                {
                    UICanvas = GetComponentInChildren<Canvas>();
                }
                UICanvas.enabled = false;
            }
    
        }
        void Start2()
        {
    
    
    Richard Marcus's avatar
    Richard Marcus committed
                    UICanvas = GetComponentInChildren<Canvas>();
    
                }
                bool camActive;
                camActive = !UICanvas.enabled;
                //camActive = false;
                SetCamControl123(camActive);
                SetCursorRenderer123(camActive);
    
        }
        void Start3()
        {
            print("Start3");
            /*
            UIconfig.CanvasOnOff_Array[14] = 1;
            UIconfig.CanvasOnOff_Array[20] = 0;
            //setUI_Vis_walk(0);
            //UIconfig.CanvasOnOff_Array[20] = 0;
            */
            Update();
            /*
            //CheckUI_Vis_walk();
            UIconfig.CanvasOnOff_Array[14] = 0;
            UIconfig.CanvasOnOff_Array[20] = 1;
            UIconfig.CanvasOnOff_Array[10] = 1;
    
            UIconfig.CanvasOnOff_Array[3] = 1;
            */
            SetCamControl123(false);
    
    
        }
    
        // Update is called once per frame
        void Update()
        {
    
    
            if (UIconfig.FrameITUIversion == 1)
            {
    
        void Update3()
        {
            //CheckUI_Vis_walk();
            CheckIf();
    
    
            CheckUI_Vis();
    
        }
    
        IEnumerator slowInput()
        {
    
            yield return new WaitForSecondsRealtime(waitingBetweenInputs);
    
            numinputtrigger = 0;
    
            //action_ToolM_int = 0;
    
            action_Cancel_PM_int = 0;
            action_modifier_int = 0;
            action_load_int = 0;
            action_save_int = 0;
            action_reset_int = 0;
            action_undo_int = 0;
            action_redo_int = 0;
    
            yield return null;
    
        }
        void CheckIf()
        {
    
            if (UIconfig.InputManagerVersion == 1)
    
                if (Input.GetButtonDown(cancel_keyBind))
    
    
                    UIconfig.CanvasOnOff_Array[02] = 1;
                    //UIconfig.CanvasOnOff_Array[10] = 0;
    
                if (Input.GetButtonDown(MathM_keyBind))
    
                    if (LockOnly)
                    {
                        CamControl_StdAsset.enabled = !CamControl_StdAsset.enabled;
                        SetCursorRenderer123(CamControl_StdAsset.enabled);
                        SetCamControl123(CamControl_StdAsset.enabled);
    
                        if (!UICanvas.enabled)
                        {
                            updateMouseCursor.setMouse();
    
                            CommunicationEvents.CursorVisLastUsedIngame = true;
    
                        }
                        else
                        {
                            updateMouseCursor.setMouse_Off();
    
                            CommunicationEvents.CursorVisLastUsedIngame = false;
    
                        SetCamControl123(UICanvas.enabled);
    
                        SetCursorRenderer123(UICanvas.enabled);
    
                        UICanvas.enabled = !UICanvas.enabled;
                    }
    
    
    
            if (UIconfig.InputManagerVersion == 2 && numinputtrigger == 0)
    
    Stefan Richter's avatar
    Stefan Richter committed
                if (action_Cancel_PM.ReadValue<float>() != 0 || action_Cancel_PM_int != 0)//input_ControlMapping.Actionmap1.Cancel_or_PauseMenu.ReadValue<float>() != 0)
    
                    StartCoroutine(slowInput());
    
                    UIconfig.CanvasOnOff_Array[02] = 1;
                    //UIconfig.CanvasOnOff_Array[10] = 0;
                    return;
                }
    
    
                if (action_MathM.ReadValue<float>() != 0 || action_MathM_int != 0)//(input_ControlMapping.Actionmap1.MathMode.ReadValue<float>() != 0)
    
                    numinputtrigger++;
    
                    StartCoroutine(slowInput());
    
    
                    if (LockOnly)
                    {
                        CamControl_StdAsset.enabled = !CamControl_StdAsset.enabled;
                        SetCursorRenderer123(CamControl_StdAsset.enabled);
                        SetCamControl123(CamControl_StdAsset.enabled);
    
                    }
                    else
                    {
    
                        if (!UICanvas.enabled)
                        {
                            updateMouseCursor.setMouse();
                        }
                        else
                        {
                            updateMouseCursor.setMouse_Off();
                        }
    
                        SetCamControl123(UICanvas.enabled);
    
                        SetCursorRenderer123(UICanvas.enabled);
    
                        UICanvas.enabled = !UICanvas.enabled;
                    }
    
    
            setMouse_ingame();
    
        void Update2()
        {
    
            if (UIconfig.InputManagerVersion == 1)
            {
                if (Input.GetButton(modifier))
                {
                    if (Input.GetButtonDown(modundo))
                        StageStatic.stage.factState.undo();
    
                    else if (Input.GetButtonDown(modredo))
                        StageStatic.stage.factState.redo();
    
                    else if (Input.GetButtonDown(modreset))
                        StageStatic.stage.factState.softreset();
    
                    else if (Input.GetButtonDown(modsave))
                        StageStatic.stage.push_record();
    
                    else if (Input.GetButtonDown(modload))
                    {
                        StageStatic.stage.factState.hardreset();
                        StageStatic.LoadInitStage(StageStatic.stage.name, !StageStatic.stage.use_install_folder);
                    }
                }
            }
            if (UIconfig.InputManagerVersion == 2)
            {
    
                if (action_modifier.ReadValue<float>() != 0 || action_modifier_int != 0)//input_ControlMapping.Actionmap1.Modifier.ReadValue<float>() != 0)
    
                    if (numinputtrigger == 0 && (action_undo.ReadValue<float>() != 0 || action_undo_int != 0))//input_ControlMapping.Actionmap1.Undo.ReadValue<float>() != 0 )
    
                    {
                        StageStatic.stage.factState.undo();
                        numinputtrigger++;
    
                        StartCoroutine(slowInput());
                    }
    
                    else if (numinputtrigger == 0 && (action_redo.ReadValue<float>() != 0 || action_redo_int != 0))//input_ControlMapping.Actionmap1.Redo.ReadValue<float>() != 0 )
    
                    {
                        StageStatic.stage.factState.redo();
                        numinputtrigger++;
    
                        StartCoroutine(slowInput());
                    }
    
                    else if (numinputtrigger == 0 && (action_reset.ReadValue<float>() != 0 || action_reset_int != 0))//input_ControlMapping.Actionmap1.Reset.ReadValue<float>() != 0 )
    
                    {
                        StageStatic.stage.factState.softreset();
                        numinputtrigger++;
    
                        StartCoroutine(slowInput());
                    }
    
                    else if (numinputtrigger < 0 && (action_save.ReadValue<float>() != 0 || action_save_int != 0))//input_ControlMapping.Actionmap1.Save.ReadValue<float>() != 0 ) 
    
                    {
                        StageStatic.stage.push_record();
                        numinputtrigger = numinputtrigger + 10;
    
                        StartCoroutine(slowInput());
                    }
    
                    else if (numinputtrigger == 0 && (action_load.ReadValue<float>() != 0 || action_load_int != 0))//input_ControlMapping.Actionmap1.Load.ReadValue<float>() != 0 )
    
                    {
                        StageStatic.stage.factState.hardreset();
                        StageStatic.LoadInitStage(StageStatic.stage.name, !StageStatic.stage.use_install_folder);
                        numinputtrigger++;
    
                        StartCoroutine(slowInput());
                    }
                }
    
            //Todo before capturing: Make directories "UFrameIT-Screenshots/Unity_ScreenCapture" in project folder
    
            else if (Input.GetKeyDown(ScreenshotKey)) {
                ScreenCapture.CaptureScreenshot("UFrameIT-Screenshots\\Unity_ScreenCapture\\Capture.png");
            }
            */
    
    
        private void SetCursorRenderer123(bool opt)
        {
            CursorRenderer.enabled = opt;
    
            //multiple Cursor result in conflicts
            /*
            switch (whichCursor)
            //switch (UIconfig.GameplayMode)
            {
                case 0:
                    CursorRenderer_FirstP_oldInpOrig.enabled = opt;
                    break;
    
                case 5:
                    CursorRenderer_FirstP.enabled = opt;
                    break;
                case 6:
                    CursorRenderer_FirstP_oldInpOrig.enabled = opt;
                    break;
                default:
                    CursorRenderer_FirstP.enabled = opt;
                    break;
                    
            }
            */
        }
        private void SetCamControl123(bool opt)
        {
            CamControl_StdAsset.enabled = opt;
            CamControl_ScriptChar.enabled = opt;
        }
    
    Stefan Richter's avatar
    Stefan Richter committed
        public void SetCancelOrPauseMenu()
    
        {
            action_Cancel_PM_int = 1;
        }
        public void SetMathM()
        {
            action_MathM_int = 1;
        }
    
        //public void SetToolM()
        //{
        //    action_ToolM_int = 1;
        //}
    
        public void SetModifier()
        {
            action_modifier_int = 1;
        }
        public void SetMLoad()
        {
            action_load_int = 1;
        }
        public void SetMSave()
        {
            action_save_int = 1;
        }
        public void SetMReset()
        {
            action_reset_int = 1;
        }
        public void SetMUndo()
        {
            action_undo_int = 1;
        }
        public void SetMRedo()
        {
            action_redo_int = 1;
        }