Ejemplo n.º 1
0
        private void syncGameState()
        {
            SyncData syncData = calculateGameSyncData();

            if (string.IsNullOrEmpty(syncData.methodName))
            {
                Log.LogError(this, $"O_o\t Can't sync game state, this mini game will not work properly");
            }
            else
            {
                initGame(syncData);
            }
        }
Ejemplo n.º 2
0
        private void initGame(SyncData syncData)
        {
            CancelInvoke();
            activePlayers.Clear();
            finishedPlayers.Clear();
            isGameActive     = false;
            isAntennaVisible = false;
            setBulbState(isOn: false);
            ParticlesGameOver.SetActive(value: false);
            PlatformOneWayIn.SetActive(value: false);
            PlatformOneWayOut.SetActive(value: false);
            setRotationSpeed(0f, 0f, 0f);
            stepSize = Mathf.Abs(MaxDiameter / (float)NumberOfShrinks) * -1f;
            stepTime = SecondsRoundLength / (float)NumberOfShrinks;
            diameter = MaxDiameter;
            Vector3 localPosition = platformFinalPosition + new Vector3(0f, 10f, 0f);

            PlatformObject.transform.localPosition = localPosition;
            setPlatformSize(diameter);
            setPlatformTilt(platformOriginalAngle);
            setPlatformRotation(platformOriginalRotation);
            PlatformTube.transform.localPosition = platformTubeSafetyPosition;
            tiltAngle  = 0f;
            tileChange = MaxTiltAngle * 2f / SecondsTiltCycle;
            PlatformSign.SetActive(value: true);
            textPlatform.text = TextBuoyDefault;
            if (launchpadObj != null)
            {
                UnityEngine.Object.Destroy(launchpadObj);
            }
            animLaunchpad             = null;
            participatingPlayers      = 0;
            didLocalPlayerParticipate = false;
            timeBetweenRounds         = StartOnMinute * 60;
            timeBeforeGameStart       = timeBetweenRounds - 130;
            if (string.IsNullOrEmpty(syncData.methodName))
            {
                syncData.methodName = "initAttractMode";
                syncData.timeAdjust = 0;
            }
            syncAdjustment = syncData.timeAdjust;
            Invoke(syncData.methodName, 0f);
        }
Ejemplo n.º 3
0
        private SyncData calculateGameSyncData()
        {
            SyncData syncData = new SyncData();
            int      num      = secondsUntilStart();

            if (num >= 131)
            {
                syncData.methodName = "initAttractMode";
                syncData.timeAdjust = 0;
            }
            else if (num < 130 && num >= 127)
            {
                animBuoyAndPlatform.SetTrigger("BuoyIdle");
                syncData.methodName = "finishBuoyCoundown";
                syncData.timeAdjust = -130;
            }
            else if (num < 127 && num >= 125)
            {
                animBuoyAndPlatform.SetTrigger("PlatformGameInProgress");
                syncData.methodName = "startLaunchPadAppear";
                syncData.timeAdjust = -130;
            }
            else if (num < 125 && num >= 100)
            {
                animBuoyAndPlatform.SetTrigger("PlatformGameInProgress");
                syncData.methodName = "startLaunchPadAppear";
                syncData.timeAdjust = -130;
            }
            else if (num < 100 && num >= 97)
            {
                if (SyncPlayerVolume.PlayerCount() == 0)
                {
                    syncData.methodName = "initAttractMode";
                    syncData.timeAdjust = timeBeforeGameStart;
                }
                else
                {
                    animBuoyAndPlatform.SetTrigger("PlatformGameInProgress");
                    PlatformSign.SetActive(value: false);
                    syncData.methodName = "startGameWarmup";
                    syncData.timeAdjust = -130;
                }
            }
            else if (num < 97 && num >= 7)
            {
                if (SyncPlayerVolume.PlayerCount() == 0)
                {
                    syncData.methodName = "initAttractMode";
                    syncData.timeAdjust = timeBeforeGameStart;
                }
                else
                {
                    animBuoyAndPlatform.SetTrigger("PlatformGameInProgress");
                    PlatformSign.SetActive(value: false);
                    syncData.methodName = "startGameWarmup";
                    syncData.timeAdjust = -130;
                }
            }
            else if (num < 7 && num >= 2)
            {
                if (SyncPlayerVolume.PlayerCount() == 0)
                {
                    syncData.methodName = "initAttractMode";
                    syncData.timeAdjust = timeBeforeGameStart;
                }
                else
                {
                    animBuoyAndPlatform.SetTrigger("PlatformGameInProgress");
                    PlatformSign.SetActive(value: false);
                    setPlatformSize(MinDiameter);
                    syncData.methodName = "endGame";
                    syncData.timeAdjust = -130;
                }
            }
            else if (num < 2 && num >= 0)
            {
                if (SyncPlayerVolume.PlayerCount() == 0)
                {
                    syncData.methodName = "initAttractMode";
                    syncData.timeAdjust = timeBeforeGameStart;
                }
                else
                {
                    animBuoyAndPlatform.SetTrigger("PlatformGameInProgress");
                    PlatformSign.SetActive(value: false);
                    setPlatformSize(MinDiameter);
                    syncData.methodName = "endGamePlatformStartDisappear";
                    syncData.timeAdjust = -130;
                }
            }
            return(syncData);
        }