Beispiel #1
0
        protected virtual void UpdateHandler(PlayerUpdateEvent evt)
        {
            if (toggle && isActive && manaDrainAmount != 0)
            {
                DrainMana(evt);
            }

            if (castDelayCounter > 0)
            {
                castDelayCounter -= evt.ElapsedSeconds;
            }
        }
 void OnPlayerSettingsUpdated(PlayerUpdateEvent update)
 {
     if (update.PlayerComponent.PlayerRequestState == PlayerComponent.RequestState.BuildObject && update.PlayerComponent.PlannedBlueprint != null)
     {
         UpdatePosition(Input.mousePosition);
         UpdateMesh(update.PlayerComponent.PlannedBlueprint);
     }
     else
     {
         this.filter.mesh = null;
         RenderNothing();
     }
 }
Beispiel #3
0
        protected virtual void PlayerUpdateHandler(PlayerUpdateEvent evt)
        {
            if (evt.UpdateEffects && evt.Player.GameObject.CurrentSpeed == 0f)
            {
                questionTimer -= evt.ElapsedSeconds;

                if (questionTimer <= 0f)
                {
                    questionTimer = 0.4f;
                    Effects.QuestionMarkEffect.Display(evt.Player.GameObject);
                }
            }
        }
Beispiel #4
0
        protected virtual void PlayerUpdateHandler(PlayerUpdateEvent evt)
        {
            if (evt.UpdateEffects)
            {
                smokeTimer -= evt.ElapsedSeconds;

                if (smokeTimer <= 0f)
                {
                    smokeTimer = evt.Player.GameObject.CurrentSpeed > 0f ? 0.05f : 0.15f;
                    Effects.BlackSmokeEffect.Display(evt.Player.GameObject);
                }
            }
        }
Beispiel #5
0
 protected virtual void PlayerUpdateHandler(PlayerUpdateEvent evt)
 {
     if (evt.UpdateEffects)
     {
         _sparkleTimer -= evt.ElapsedSeconds;
         if (_sparkleTimer <= 0)
         {
             _sparkleTimer = 0.2f;
             var pos = evt.Player.GameObject.Position;
             Effects.ChestSparkleEffect.Display(pos);
             Effects.ChestSparkleEffect.Display(pos);
         }
     }
 }
Beispiel #6
0
        protected virtual void DrainMana(PlayerUpdateEvent evt)
        {
            manaDrainCounter += evt.ElapsedSeconds;
            if (manaDrainCounter >= manaDrainTime)
            {
                manaDrainCounter = 0;

                var mana = evt.Player.GetStatObject(ManaStat.Id);
                mana.CurrentValue -= manaDrainAmount;

                if (mana.CurrentValue <= 0)
                {
                    Deactivate();
                }
            }
        }