I'm making a game where each Actor is represented by a GameObjectController
. Game Objects that can partake in combat implement ICombatant
. How can I specify that arguments to a combat function must inherit from GameObjectController
and implement ICombatant
? Or does this indicate that my code is structured poorly?
public void ComputeAttackUpdate(ICombatant attacker, AttackType attackType, ICombatant victim)
In the above code, I want attacker
and victim
to inherit from GameObjectController
and implement ICombatant
. Is this syntactically possible?