예제 #1
0
    void Awake()
    {
        StartCoroutine(OnGameStateChange(GameState));
        StartCoroutine(OnStartupDoneEvent());
        StartCoroutine(OnCocktailModes(selectedCocktailModes.Count));
        StartCoroutine(OnSequenceChangement(ModeSequenceType));
        StartCoroutine(OnEnvironementChromaChangement(environementChroma));

        SetupRewiredPlayers();

        ReInput.ControllerConnectedEvent    += (ControllerStatusChangedEventArgs obj) => UpdateGamepadList();
        ReInput.ControllerDisconnectedEvent += (ControllerStatusChangedEventArgs obj) => UpdateGamepadList();

        //OnPlaying += UpdateGamepadList;
        OnMenu += UpdateGamepadList;

        LoadModeManager.Instance.OnLevelUnloaded += UpdateGamepadList;

        OnPlaying     += () => SetMouseVisibility();
        OnRestartMode += () => SetMouseVisibility();
        OnPlaying     += UpdatePlayedModes;
        OnMenu        += () => Startup = StartupType.Wave;
        OnEndMode     += () => Startup = StartupType.Delayed;
        OnEnvironementChromaChange += SetPlayerMouseCursor;

        MenuManager.Instance.OnStartModeClick += UpdateGamepadList;
        MenuManager.Instance.OnStartModeClick += CreateAIs;

        SetPlayerMouseCursor();

        mainCamera         = GameObject.FindGameObjectWithTag("MainCamera");
        screenShakeCamera  = mainCamera.GetComponent <ScreenShakeCamera>();
        zoomCamera         = mainCamera.GetComponent <ZoomCamera>();
        dynamicCamera      = mainCamera.GetComponent <DynamicCamera>();
        menuCameraMovement = mainCamera.GetComponent <MenuCameraMovement>();
        slowMotionCamera   = mainCamera.GetComponent <SlowMotionCamera>();

        fixedDeltaTime   = Time.fixedDeltaTime;
        fixedDeltaFactor = 1 / fixedDeltaTime;

        GraphicsQualityManager.Instance.OnFixedDeltaTimeChange += (x) =>
        {
            fixedDeltaTime   = x;
            fixedDeltaFactor = 1 / fixedDeltaTime;
        };

        LoadEnvironementChroma();
    }
예제 #2
0
    // Use this for initialization
    void Awake()
    {
        modesEnum = new List <WhichMode>();

        foreach (WhichMode e in Enum.GetValues(typeof(WhichMode)))
        {
            if (e == WhichMode.Tutorial || e == WhichMode.None || e == WhichMode.Default)
            {
                continue;
            }
            else
            {
                modesEnum.Add(e);
            }
        }

        mainCamera     = GameObject.FindGameObjectWithTag("MainCamera").transform;
        cameraMovement = mainCamera.GetComponent <MenuCameraMovement>();

        StartCoroutine(FirstLoadedScene(GlobalVariables.Instance.firstSceneToLoad));
    }
예제 #3
0
    void Start()
    {
        DOTween.Init();
        DOTween.defaultTimeScaleIndependent = true;

        ReInput.ControllerConnectedEvent    += (ControllerStatusChangedEventArgs obj) => GamepadsChange();
        ReInput.ControllerDisconnectedEvent += (ControllerStatusChangedEventArgs obj) => GamepadsChange();

        OnStartModeClick += ShowStaticModesLogos;
        GlobalVariables.Instance.OnRestartMode += ShowStaticModesLogos;

        GlobalVariables.Instance.OnGamepadDisconnected += GamepadDisconnected;
        GlobalVariables.Instance.OnMenu        += HideStaticModesLogos;
        GlobalVariables.Instance.OnStartMode   += ModeLogo;
        GlobalVariables.Instance.OnRestartMode += ModeLogo;
        GlobalVariables.Instance.OnPlayerDeath += OnPlayerDeath;
        GlobalVariables.Instance.OnPlaying     += () => eventSyst.SetSelectedGameObject(null);
        GlobalVariables.Instance.OnEndMode     += () =>
        {
            HidePassFightButton();
            StopCoroutine(PassFight());
        };

        GlobalVariables.Instance.OnMenu += () =>
        {
            playText.text = "PLAY";

            escBackButton.SetActive(true);

            HidePassFightButton();

            if (resumeButtons.anchoredPosition.x != resumeButtonsPositions.x)
            {
                resumeButtons.DOAnchorPosX(resumeButtonsPositions.x, animationDuration).SetEase(easeMenu);
            }
        };

        GlobalVariables.Instance.OnEndMode += () =>
        {
            playText.text = "PLAY";

            escBackButton.SetActive(true);

            if (resumeButtons.anchoredPosition.x != resumeButtonsPositions.x)
            {
                resumeButtons.DOAnchorPosX(resumeButtonsPositions.x, animationDuration).SetEase(easeMenu);
            }
        };

        GlobalVariables.Instance.OnPause += () =>
        {
            playText.text = "NEW";

            escBackButton.SetActive(false);

            if (resumeButtons.anchoredPosition.x != resumeButtonsPositions.y)
            {
                resumeButtons.DOAnchorPosX(resumeButtonsPositions.y, animationDuration).SetEase(easeMenu);
            }
        };


        resumeButtons.DOAnchorPosX(resumeButtonsPositions.x, 0).SetEase(easeMenu);

        mainMenu.SetActive(true);
        mainMenuScript = mainMenu.GetComponent <MenuComponent>();

        eventSyst      = GameObject.FindGameObjectWithTag("EventSystem").GetComponent <EventSystem>();
        mainCamera     = GameObject.FindGameObjectWithTag("MainCamera");
        cameraMovement = mainCamera.GetComponent <MenuCameraMovement>();

        backButtonsScript   = backButtons.transform.GetComponentsInChildren <BackButtonsFeedback>();
        resumeButtonsScript = resumeButtons.transform.GetComponentsInChildren <ResumeButtonsFeedback>();

        modesLogoScale = modesLogosCanvas.localScale.x;
        modesLogosCanvas.localScale = Vector3.zero;
        modesLogosCanvas.gameObject.SetActive(false);

        foreach (Transform t in staticModesLogosParent)
        {
            foreach (Transform c in t)
            {
                c.gameObject.SetActive(false);
            }
        }

        foreach (var m in Resources.FindObjectsOfTypeAll <MenuComponent> ())
        {
            m.SetupMenu();
        }

        for (int i = 0; i < elementsToEnable.Count; i++)
        {
            if (elementsToEnable[i] != null)
            {
                elementsToEnable[i].SetActive(true);
            }
        }

        StartCoroutine(WaitStartScreen());
    }