Esempio n. 1
0
        /// <summary>
        /// Gets called whenever a sponge is fully charged to change the wet-state.
        /// </summary>
        /// <param name="rechargeSponge"></param>
        public override void OnEvent(RechargeSponge rechargeSponge)
        {
            //Get the player-state.
            var playerState = rechargeSponge.Player.GetState <IPlayer>();

            //Get the sponge and change the wet-state to true.
            playerState.Weapons[ConvertWeaponNameToId("Sponge")].IsWet = true;
            rechargeSponge.Player.gameObject.GetComponent <Player>().hud.RefreshWeaponDisplay();
        }
Esempio n. 2
0
        private void OnTriggerStay(Collider other)
        {
            if (_filled)
            {
                wetProgressSlider.value = 100;
                wetProgressText.text    = "100%";
                _error = true;
            }

            if (!_hasDrySpongeInHand)
            {
                _error = true;
            }

            if (_error)
            {
                return;
            }

            _currentProgress += deltaTime * 140 / 5;

            wetProgressSlider.value = (int)_currentProgress;

            wetProgressText.text = (int)_currentProgress + "%";

            if (_currentProgress >= 100)
            {
                RechargeSponge rechargeSponge = RechargeSponge.Create(GlobalTargets.OnlyServer, ReliabilityModes.ReliableOrdered);
                rechargeSponge.Player = _player;
                rechargeSponge.Send();

                _filled = true;

                var playerSoundForOthers = PlaySoundForEveryone.Create(GlobalTargets.Everyone, ReliabilityModes.Unreliable);
                playerSoundForOthers.Position  = transform.position;
                playerSoundForOthers.SoundName = "Tap-Water";
                playerSoundForOthers.State     = false;
                playerSoundForOthers.Send();
            }
            else
            {
                var playerSoundForOthers = PlaySoundForEveryone.Create(GlobalTargets.Everyone, ReliabilityModes.Unreliable);
                playerSoundForOthers.Position  = transform.position;
                playerSoundForOthers.SoundName = "Tap-Water";
                playerSoundForOthers.State     = true;
                playerSoundForOthers.Send();
            }
        }