public static MyEffect CreateHaloForBuilding(Game game, CBuilding building, BuildingHaloStyle style, BuildingHaloColor color) { IHaloController haloController; MyHalo halo; switch (style) { case BuildingHaloStyle.Style01: BuildingHaloController_Style01 haloController1; haloController1 = new BuildingHaloController_Style01(); haloController1.Scale = s; haloController1.MaxHeight = building.Radius; haloController = haloController1; break; case BuildingHaloStyle.Style02: default: BuildingHaloController_Style02 haloController2; haloController2 = new BuildingHaloController_Style02(); haloController2.Scale = s; haloController = haloController2; break; } switch (color) { case BuildingHaloColor.Blue: default: halo = new HaloBlue(game, haloController); halo.Initialize(); halo.Radius = building.Radius; halo.Position = building.Position; break; case BuildingHaloColor.Green: halo = new HaloGreen(game, haloController); halo.Initialize(); halo.Radius = building.Radius; halo.Position = building.Position; break; case BuildingHaloColor.Yellow: halo = new HaloYellow(game, haloController); halo.Initialize(); halo.Radius = building.Radius; halo.Position = building.Position; break; case BuildingHaloColor.White: halo = new HaloWhite(game, haloController); halo.Initialize(); halo.Radius = building.Radius; halo.Position = building.Position; break; case BuildingHaloColor.Violet: halo = new HaloViolet(game, haloController); halo.Initialize(); halo.Radius = building.Radius; halo.Position = building.Position; break; } return halo; }
public static MyEffect CreateHaloForCharacter(Game game, CCharacterObject character, CharacterHaloStyle style, CharacterHaloColor color) { IHaloController haloController; MyHalo halo; switch (style) { case CharacterHaloStyle.Style01: CharacterHaloController_Style01 haloController1; haloController1 = new CharacterHaloController_Style01(); haloController1.Scale = s; haloController1.MaxHeight = character.Radius * 2; haloController = haloController1; break; case CharacterHaloStyle.Style02: default: CharacterHaloController_Style02 haloController2; haloController2 = new CharacterHaloController_Style02(); haloController2.Scale = s; haloController = haloController2; break; } Vector3 pos; switch (color) { case CharacterHaloColor.Blue: default: halo = new HaloBlue(game, haloController); halo.Initialize(); halo.Radius = character.Radius * 2; pos = character.Position; pos.Y -= character.Radius; halo.Position = pos; break; case CharacterHaloColor.Green: halo = new HaloGreen(game, haloController); halo.Initialize(); halo.Radius = character.Radius * 2; pos = character.Position; pos.Y -= character.Radius; halo.Position = pos; break; case CharacterHaloColor.Yellow: halo = new HaloYellow(game, haloController); halo.Initialize(); halo.Radius = character.Radius * 2; pos = character.Position; pos.Y -= character.Radius; halo.Position = pos; break; case CharacterHaloColor.White: halo = new HaloWhite(game, haloController); halo.Initialize(); halo.Radius = character.Radius * 2; pos = character.Position; pos.Y -= character.Radius; halo.Position = pos; break; case CharacterHaloColor.Violet: halo = new HaloViolet(game, haloController); halo.Initialize(); halo.Radius = character.Radius * 2; pos = character.Position; pos.Y -= character.Radius; halo.Position = pos; break; } return halo; }