void ProcessFlag(MyEntity entity, MyFlagsEnum flag, bool param) { switch (flag) { case MyFlagsEnum.ENABLE: entity.Enabled = true; break; case MyFlagsEnum.DISABLE: entity.Enabled = false; break; case MyFlagsEnum.HIDE: entity.Activate(false, param); break; case MyFlagsEnum.UNHIDE: entity.Activate(true, param); break; case MyFlagsEnum.PARK_SHIP: { var ship = entity as MySmallShip; if (ship != null) { ship.SetParked(param); } } break; case MyFlagsEnum.CLOSE: MyScriptWrapper.CloseEntity(entity); break; case MyFlagsEnum.PARTICLE: MyScriptWrapper.SetParticleEffect(entity, param); break; case MyFlagsEnum.NUCLEAR_EXPLOSION: MyScriptWrapper.MakeNuclearExplosion(entity); break; case MyFlagsEnum.INDESTRUCTIBLE: entity.IsDestructible = false; break; case MyFlagsEnum.DESTRUCTIBLE: entity.IsDestructible = true; break; case MyFlagsEnum.PREPARE_MOVE: MyScriptWrapper.PrepareMotherShipForMove(entity); break; case MyFlagsEnum.RETURN_FROM_MOVE: MyScriptWrapper.ReturnMotherShipFromMove(entity); break; default: Debug.Fail("Unknown flag"); break; } }