このコードをより良くするための推奨事項を探しています。この方法で先に進むと、避けられると思われる大量のコードになりますが、これを行う方法は今のところ私を超えています。これは非常に急速に制御不能になります。
public enum PhysicMaterialType
{
SoundFailure = 0,
AsteroidBall,
BalloonRubber
}
public void PlaySoundBasedOnCollision ( PhysicMaterialType phyMatA, PhysicMaterialType phyMatB )
{
switch ( phyMatA )
{
case PhysicMaterialType.AsteroidBall:
{
CheckAsteroidBallCollision ( phyMatB );
break;
}
case PhysicMaterialType.BalloonRubber:
{
CheckBalloonRubberCollision ( phyMatB );
break;
}
}
}
void CheckAsteroidBallCollision ( PhysicMaterial phyMatB )
{
switch ( phyMatB )
{
case PhysicMaterialType.AsteroidBall:
{
//Play AsteroidAsteroidBallSound
break;
}
case PhysicMaterialType.BalloonRubber:
{
break;
}
}
}