public override void ApplyAction(GameState g, float dt)
{
if(resources.Count < 1) return;
if(g.CurrentFrame % 300 == 0) {
g.AddParticle(new AlertParticle(
building.WorldPosition + Vector3.Up * 0.2f, 0.1f, Color.White,
building.WorldPosition + Vector3.Up * 0.2f, harvestradius * 1.4f, Color.Transparent,
g.TotalGameTime, 2f
));
foreach(var b in resources) {
if(r.NextDouble() > 0.5) {
building.Team.Input.AddEvent(new CapitalEvent(
building.Team.Index,
b.Data.Index == 0 ? 5 : 20
));
building.Team.Input.AddEvent(new DamageEvent(
building.Team.Index,
b.UUID,
10
));
g.AddParticle(new AlertParticle(
b.WorldPosition + Vector3.Up * 0.2f, 2f, Color.White,
b.WorldPosition + Vector3.Up * 3.2f, 1f, Color.Black,
g.TotalGameTime, 2f
));
}
}
}
}