internal void Execute(FXListExecutionContext context) { foreach (var nugget in Nuggets) { nugget.Execute(context); } }
internal override void Execute(FXListExecutionContext context) { var gameData = context.GameContext.AssetLoadContext.AssetStore.GameData.Current; var intensity = Math.Min(GetShakeIntensity(gameData), gameData.MaxShakeIntensity); // TODO: What is MaxShakeRange - is it the maximum distance a unit can be // offscreen while still causing the camera to shake? // TODO: Implement this. }
internal override void Execute(FXListExecutionContext context) { var worldMatrix = OrientToObject ? Matrix4x4.CreateFromQuaternion(context.Rotation) : Matrix4x4.Identity; var position = context.Position; if (CreateAtGroundHeight) { position.Z = context.GameContext.Terrain.HeightMap.GetHeight(position.X, position.Y); } worldMatrix.Translation = position; context.GameContext.ParticleSystems.Create( Template.Value, worldMatrix); }
internal override void Execute(FXListExecutionContext context) { // TODO: Add dynamic point light with specified colour and radius to scene, // set to expire after IncreaseTime + DecreaseTime. }
internal override void Execute(FXListExecutionContext context) { context.GameContext.AudioSystem.PlayAudioEvent(Value?.Value); }
internal virtual void Execute(FXListExecutionContext context) { } // TODO: This should be abstract.