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(); } }
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); } } }
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); } } }
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); } } }
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(); } } }