public override void AttackCommand(Entity target) { if (!motor.Reachable(target.position)) { return; } if (target.team == entity.team) { foreach (var collector in target.GetComponents <ResourceCollectionPoint>()) { if (collector.resourceId == resourceId) { this.collector = collector; motor.Stop(); is_idle = false; moving_to_collector = true; } } } foreach (var resource in target.GetComponents <ResourceSource>()) { if (resource.resourceId == resourceId && !resource.occupied) { this.resource = resource; motor.Stop(); is_idle = false; moving_to_collector = false; } } }