// ENTITIES
public class ArmourPowerupEntity : Entity, IModelledEntity {
private const float DEFAULT_ARMOUR_SCALING = 1f;
private bool pickedUp = false;
public ArmourPowerupEntity(Vector3 powerupPosition)
: this(powerupPosition, DEFAULT_ARMOUR_SCALING) { }
public ArmourPowerupEntity(Vector3 powerupPosition, float customScaling) {
this.SetModel(ModelDatabase.ArmourModel);
this.SetPosition(powerupPosition);
this.SetScaling(customScaling);
}
public void PickUpArmour() {
pickedUp = true;
}
public bool CameraCanSeeThis(Camera camera) {
return !pickedUp && ComponentExtensions.CameraCanSeeThis(this, camera); // Powerup only visible if not already taken
}
}
Code snippet taken from "Simulating Multiple Inheritance In C#".