ここに示すように、プレイヤーにアイテムを装備させる必要があります。
IEquiptable
インターフェースです。
このメソッドは私のplayer
クラスにあります。
public void equip(IEquiptable equipable)
{
switch (equipable.GetType())
{
case equipable is Weapons:
this.weapon = equipable;
break;
case equipable is Shield:
this.shield = equipable
break;
//etc etc..
}
}
スイッチ式は bool、char、string、integral、enum、または対応する null 許容型でなければならないというエラーが表示されます。
player
武器/盾などの各クラスにequitメソッドを配置し、クラスをパラメーターとして渡すことで処理できました。しかし、プレイヤーがアイテムを装備するのではなく、プレイヤーがアイテムを装備する必要があるため、これは少し非論理的だと思います。