Java tutorial
/* ********************************************************************* * * This file is part of Full Metal Galaxy. * http://www.fullmetalgalaxy.com * * Full Metal Galaxy is free software: you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License * as published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * Full Metal Galaxy is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public * License along with Full Metal Galaxy. * If not, see <http://www.gnu.org/licenses/>. * * Copyright 2010 to 2015 Vincent Legendre * * *********************************************************************/ package com.fullmetalgalaxy.client.ressources.tokens; import java.util.HashMap; import java.util.Map; import com.fullmetalgalaxy.client.AppRoot; import com.fullmetalgalaxy.client.event.ModelUpdateEvent; import com.fullmetalgalaxy.client.game.GameEngine; import com.fullmetalgalaxy.client.ressources.Icons; import com.fullmetalgalaxy.model.EnuColor; import com.fullmetalgalaxy.model.EnuZoom; import com.fullmetalgalaxy.model.Location; import com.fullmetalgalaxy.model.Sector; import com.fullmetalgalaxy.model.TokenType; import com.fullmetalgalaxy.model.persist.EbToken; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.RunAsyncCallback; import com.google.gwt.resources.client.ImageResource; import com.google.gwt.user.client.Window; /** * @author Vincent Legendre * */ public class TokenImages { public static ImageResource getTokenImage(EbToken p_token, int p_zoom) { if (p_token.getLocation() == Location.Graveyard) { switch (p_zoom) { default: case EnuZoom.Medium: return Icons.s_instance.tactic_wreck(); case EnuZoom.Small: return Icons.s_instance.strategy_wreck(); } } return getTokenImage(p_token.getEnuColor(), p_zoom, p_token.getType(), p_token.getPosition().getSector()); } public static ImageResource getTokenImage(EnuColor p_color, int p_zoom, TokenType p_token, Sector p_sector) { if (p_token.canBeColored()) { if (!isBundleLoaded()) { return Icons.s_instance.cancel32(); } switch (p_zoom) { default: case EnuZoom.Medium: return getTokenImageTactic(p_color.getValue(), p_token, p_sector); case EnuZoom.Small: return getTokenImageStrategy(p_color.getValue(), p_token, p_sector); } } else if (p_color.getValue() == EnuColor.None) { // no specific color, it could be an ore or pontoon switch (p_zoom) { default: case EnuZoom.Medium: return getColorlessTokenImageTactic(p_token, p_sector); case EnuZoom.Small: return getColorlessTokenImageStrategy(p_token, p_sector); } } return Icons.s_instance.cancel32(); } private static Map<Integer, TokenImageBundle> s_bundle = new HashMap<Integer, TokenImageBundle>(); private static Map<Integer, TokenFreighterImageBundle> s_bundleFreighter = new HashMap<Integer, TokenFreighterImageBundle>(); private static Map<Integer, TokenExtraImageBundle> s_bundleExtra = new HashMap<Integer, TokenExtraImageBundle>(); public static boolean isBundleLoaded() { synchronized (s_bundle) { return !s_bundle.isEmpty(); } } public static void loadAllBundle() { synchronized (s_bundle) { GWT.runAsync(TokenImages.class, new RunAsyncCallback() { @Override public void onFailure(Throwable caught) { Window.alert("Error while downloading script: " + caught.getLocalizedMessage()); } @Override public void onSuccess() { if (s_bundle.isEmpty()) { s_bundle.put(EnuColor.Purple, (Purple) GWT.create(Purple.class)); s_bundle.put(EnuColor.Blue, (Blue) GWT.create(Blue.class)); s_bundle.put(EnuColor.Cyan, (Cyan) GWT.create(Cyan.class)); s_bundle.put(EnuColor.Green, (Green) GWT.create(Green.class)); s_bundle.put(EnuColor.Grey, (Grey) GWT.create(Grey.class)); s_bundle.put(EnuColor.Olive, (Olive) GWT.create(Olive.class)); s_bundle.put(EnuColor.Orange, (Orange) GWT.create(Orange.class)); s_bundle.put(EnuColor.Red, (Red) GWT.create(Red.class)); s_bundle.put(EnuColor.Yellow, (Yellow) GWT.create(Yellow.class)); s_bundle.put(EnuColor.Brown, (Brown) GWT.create(Brown.class)); s_bundle.put(EnuColor.Camouflage, (Camouflage) GWT.create(Camouflage.class)); s_bundle.put(EnuColor.Lightning, (Lightning) GWT.create(Lightning.class)); s_bundle.put(EnuColor.Pantera, (Pantera) GWT.create(Pantera.class)); s_bundle.put(EnuColor.Pink, (Pink) GWT.create(Pink.class)); s_bundle.put(EnuColor.White, (White) GWT.create(White.class)); s_bundle.put(EnuColor.Zebra, (Zebra) GWT.create(Zebra.class)); s_bundle.put(EnuColor.None, (Colorless) GWT.create(Colorless.class)); } if (s_bundleFreighter.isEmpty()) { s_bundleFreighter.put(EnuColor.Purple, (PurpleFreighter) GWT.create(PurpleFreighter.class)); s_bundleFreighter.put(EnuColor.Blue, (BlueFreighter) GWT.create(BlueFreighter.class)); s_bundleFreighter.put(EnuColor.Cyan, (CyanFreighter) GWT.create(CyanFreighter.class)); s_bundleFreighter.put(EnuColor.Green, (GreenFreighter) GWT.create(GreenFreighter.class)); s_bundleFreighter.put(EnuColor.Grey, (GreyFreighter) GWT.create(GreyFreighter.class)); s_bundleFreighter.put(EnuColor.Olive, (OliveFreighter) GWT.create(OliveFreighter.class)); s_bundleFreighter.put(EnuColor.Orange, (OrangeFreighter) GWT.create(OrangeFreighter.class)); s_bundleFreighter.put(EnuColor.Red, (RedFreighter) GWT.create(RedFreighter.class)); s_bundleFreighter.put(EnuColor.Yellow, (YellowFreighter) GWT.create(YellowFreighter.class)); s_bundleFreighter.put(EnuColor.Brown, (BrownFreighter) GWT.create(BrownFreighter.class)); s_bundleFreighter.put(EnuColor.Camouflage, (CamouflageFreighter) GWT.create(CamouflageFreighter.class)); s_bundleFreighter.put(EnuColor.Lightning, (LightningFreighter) GWT.create(LightningFreighter.class)); s_bundleFreighter.put(EnuColor.Pantera, (PanteraFreighter) GWT.create(PanteraFreighter.class)); s_bundleFreighter.put(EnuColor.Pink, (PinkFreighter) GWT.create(PinkFreighter.class)); s_bundleFreighter.put(EnuColor.White, (WhiteFreighter) GWT.create(WhiteFreighter.class)); s_bundleFreighter.put(EnuColor.Zebra, (ZebraFreighter) GWT.create(ZebraFreighter.class)); s_bundleFreighter.put(EnuColor.None, (ColorlessFreighter) GWT.create(ColorlessFreighter.class)); } if (s_bundleExtra.isEmpty()) { s_bundleExtra.put(EnuColor.Purple, (PurpleExtra) GWT.create(PurpleExtra.class)); s_bundleExtra.put(EnuColor.Blue, (BlueExtra) GWT.create(BlueExtra.class)); s_bundleExtra.put(EnuColor.Cyan, (CyanExtra) GWT.create(CyanExtra.class)); s_bundleExtra.put(EnuColor.Green, (GreenExtra) GWT.create(GreenExtra.class)); s_bundleExtra.put(EnuColor.Grey, (GreyExtra) GWT.create(GreyExtra.class)); s_bundleExtra.put(EnuColor.Olive, (OliveExtra) GWT.create(OliveExtra.class)); s_bundleExtra.put(EnuColor.Orange, (OrangeExtra) GWT.create(OrangeExtra.class)); s_bundleExtra.put(EnuColor.Red, (RedExtra) GWT.create(RedExtra.class)); s_bundleExtra.put(EnuColor.Yellow, (YellowExtra) GWT.create(YellowExtra.class)); s_bundleExtra.put(EnuColor.Brown, (BrownExtra) GWT.create(BrownExtra.class)); s_bundleExtra.put(EnuColor.Camouflage, (CamouflageExtra) GWT.create(CamouflageExtra.class)); s_bundleExtra.put(EnuColor.Lightning, (LightningExtra) GWT.create(LightningExtra.class)); s_bundleExtra.put(EnuColor.Pantera, (PanteraExtra) GWT.create(PanteraExtra.class)); s_bundleExtra.put(EnuColor.Pink, (PinkExtra) GWT.create(PinkExtra.class)); s_bundleExtra.put(EnuColor.White, (WhiteExtra) GWT.create(WhiteExtra.class)); s_bundleExtra.put(EnuColor.Zebra, (ZebraExtra) GWT.create(ZebraExtra.class)); s_bundleExtra.put(EnuColor.None, (ColorlessExtra) GWT.create(ColorlessExtra.class)); } // TODO create special event AppRoot.getEventBus().fireEvent(new ModelUpdateEvent(GameEngine.model())); } }); } } protected static ImageResource getColorlessTokenImageTactic(TokenType p_token, Sector p_sector) { switch (p_token) { case Pontoon: switch (p_sector) { case North: return Icons.s_instance.tactic_pontoon_n(); case NorthEast: return Icons.s_instance.tactic_pontoon_ne(); case NorthWest: return Icons.s_instance.tactic_pontoon_nw(); case South: return Icons.s_instance.tactic_pontoon_s(); case SouthEast: return Icons.s_instance.tactic_pontoon_se(); case SouthWest: return Icons.s_instance.tactic_pontoon_sw(); default: } case Sluice: switch (p_sector) { default: case North: return Icons.s_instance.tactic_sluice_n(); case NorthEast: return Icons.s_instance.tactic_sluice_ne(); case NorthWest: return Icons.s_instance.tactic_sluice_nw(); case South: return Icons.s_instance.tactic_sluice_s(); case SouthEast: return Icons.s_instance.tactic_sluice_se(); case SouthWest: return Icons.s_instance.tactic_sluice_sw(); } case Ore0: return Icons.s_instance.tactic_ore0_01(); case Ore: switch (p_sector) { default: case South: case North: return Icons.s_instance.tactic_ore_01(); case SouthEast: case NorthEast: return Icons.s_instance.tactic_ore_02(); case SouthWest: case NorthWest: return Icons.s_instance.tactic_ore_03(); } case Ore3: switch (p_sector) { default: case South: case North: case SouthWest: return Icons.s_instance.tactic_ore3_01(); case SouthEast: case NorthEast: case NorthWest: return Icons.s_instance.tactic_ore3_02(); } case Ore5: return Icons.s_instance.tactic_ore5_01(); case Ore2Generator: return Icons.s_instance.tactic_ore2generator(); case Ore3Generator: return Icons.s_instance.tactic_ore3generator(); case Warp: return Icons.s_instance.tactic_warp(); default: return getTokenImageTactic(EnuColor.None, p_token, p_sector); } } protected static ImageResource getColorlessTokenImageStrategy(TokenType p_token, Sector p_sector) { switch (p_token) { case Pontoon: switch (p_sector) { default: case North: return Icons.s_instance.strategy_pontoon_n(); case NorthEast: return Icons.s_instance.strategy_pontoon_ne(); case NorthWest: return Icons.s_instance.strategy_pontoon_nw(); case South: return Icons.s_instance.strategy_pontoon_s(); case SouthEast: return Icons.s_instance.strategy_pontoon_se(); case SouthWest: return Icons.s_instance.strategy_pontoon_sw(); } case Sluice: switch (p_sector) { default: case North: return Icons.s_instance.strategy_sluice_n(); case NorthEast: return Icons.s_instance.strategy_sluice_ne(); case NorthWest: return Icons.s_instance.strategy_sluice_nw(); case South: return Icons.s_instance.strategy_sluice_s(); case SouthEast: return Icons.s_instance.strategy_sluice_se(); case SouthWest: return Icons.s_instance.strategy_sluice_sw(); } case Ore0: return Icons.s_instance.strategy_ore0_01(); case Ore: switch (p_sector) { default: case South: case North: return Icons.s_instance.strategy_ore_01(); case SouthEast: case NorthEast: return Icons.s_instance.strategy_ore_02(); case SouthWest: case NorthWest: return Icons.s_instance.strategy_ore_03(); } case Ore3: switch (p_sector) { default: case South: case North: case SouthWest: return Icons.s_instance.strategy_ore3_01(); case SouthEast: case NorthEast: case NorthWest: return Icons.s_instance.strategy_ore3_02(); } case Ore5: return Icons.s_instance.strategy_ore5_01(); case Ore2Generator: return Icons.s_instance.strategy_ore2generator(); case Ore3Generator: return Icons.s_instance.strategy_ore3generator(); case Warp: return Icons.s_instance.strategy_warp(); default: return getTokenImageStrategy(EnuColor.None, p_token, p_sector); } } protected static ImageResource getTokenImageTactic(int p_color, TokenType p_token, Sector p_sector) { switch (p_token) { case Barge: return getTokenImageTacticBarge(s_bundle.get(p_color), p_sector); case Crab: return getTokenImageTacticCrab(s_bundle.get(p_color), p_sector); case Freighter: return getTokenImageTacticFreighter(s_bundleFreighter.get(p_color), p_sector); case Heap: return getTokenImageTacticHeap(s_bundle.get(p_color), p_sector); case Speedboat: return getTokenImageTacticSpeedBoat(s_bundle.get(p_color), p_sector); case Tank: return getTokenImageTacticTank(s_bundle.get(p_color), p_sector); default: case Turret: return getTokenImageTacticTurret(s_bundle.get(p_color), p_sector); case WeatherHen: return getTokenImageTacticWeatherHen(s_bundle.get(p_color), p_sector); case Crayfish: return getTokenImageTacticCrayfish(s_bundleExtra.get(p_color), p_sector); case Hovertank: return getTokenImageTacticHovertank(s_bundleExtra.get(p_color), p_sector); case Tarask: return getTokenImageTacticTarask(s_bundleExtra.get(p_color), p_sector); case Destroyer: return getTokenImageTacticDestroyer(s_bundleExtra.get(p_color), p_sector); case Teleporter: return s_bundleExtra.get(p_color).tactic_teleporter(); } } protected static ImageResource getTokenImageStrategy(int p_color, TokenType p_token, Sector p_sector) { switch (p_token) { case Barge: return getTokenImageStrategyBarge(s_bundle.get(p_color), p_sector); case Crab: return getTokenImageStrategyCrab(s_bundle.get(p_color), p_sector); case Freighter: return getTokenImageStrategyFreighter(s_bundleFreighter.get(p_color), p_sector); case Heap: return getTokenImageStrategyHeap(s_bundle.get(p_color), p_sector); case Speedboat: return getTokenImageStrategySpeedBoat(s_bundle.get(p_color), p_sector); case Tank: return getTokenImageStrategyTank(s_bundle.get(p_color), p_sector); default: case Turret: return getTokenImageStrategyTurret(s_bundle.get(p_color), p_sector); case WeatherHen: return getTokenImageStrategyWeatherHen(s_bundle.get(p_color), p_sector); case Crayfish: return getTokenImageStrategyCrayfish(s_bundleExtra.get(p_color), p_sector); case Hovertank: return getTokenImageStrategyHovertank(s_bundleExtra.get(p_color), p_sector); case Tarask: return getTokenImageStrategyTarask(s_bundleExtra.get(p_color), p_sector); case Destroyer: return getTokenImageStrategyDestroyer(s_bundleExtra.get(p_color), p_sector); case Teleporter: return s_bundleExtra.get(p_color).strategy_teleporter(); } } protected static ImageResource getTokenImageStrategyBarge(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_barge_n(); case NorthEast: return p_bundle.strategy_barge_ne(); case NorthWest: return p_bundle.strategy_barge_nw(); case South: return p_bundle.strategy_barge_s(); case SouthEast: return p_bundle.strategy_barge_se(); case SouthWest: return p_bundle.strategy_barge_sw(); } } protected static ImageResource getTokenImageStrategyCrab(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_crab_n(); case NorthEast: return p_bundle.strategy_crab_ne(); case NorthWest: return p_bundle.strategy_crab_nw(); case South: return p_bundle.strategy_crab_s(); case SouthEast: return p_bundle.strategy_crab_se(); case SouthWest: return p_bundle.strategy_crab_sw(); } } protected static ImageResource getTokenImageStrategyFreighter(TokenFreighterImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_freighter_n(); case NorthEast: return p_bundle.strategy_freighter_ne(); case NorthWest: return p_bundle.strategy_freighter_nw(); case South: return p_bundle.strategy_freighter_s(); case SouthEast: return p_bundle.strategy_freighter_se(); case SouthWest: return p_bundle.strategy_freighter_sw(); } } protected static ImageResource getTokenImageStrategyHeap(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_heap_n(); case NorthEast: return p_bundle.strategy_heap_ne(); case NorthWest: return p_bundle.strategy_heap_nw(); case South: return p_bundle.strategy_heap_s(); case SouthEast: return p_bundle.strategy_heap_se(); case SouthWest: return p_bundle.strategy_heap_sw(); } } protected static ImageResource getTokenImageStrategySpeedBoat(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_speedboat_n(); case NorthEast: return p_bundle.strategy_speedboat_ne(); case NorthWest: return p_bundle.strategy_speedboat_nw(); case South: return p_bundle.strategy_speedboat_s(); case SouthEast: return p_bundle.strategy_speedboat_se(); case SouthWest: return p_bundle.strategy_speedboat_sw(); } } protected static ImageResource getTokenImageStrategyTank(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_tank_n(); case NorthEast: return p_bundle.strategy_tank_ne(); case NorthWest: return p_bundle.strategy_tank_nw(); case South: return p_bundle.strategy_tank_s(); case SouthEast: return p_bundle.strategy_tank_se(); case SouthWest: return p_bundle.strategy_tank_sw(); } } protected static ImageResource getTokenImageStrategyTurret(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_turret_n(); case NorthEast: return p_bundle.strategy_turret_ne(); case NorthWest: return p_bundle.strategy_turret_nw(); case South: return p_bundle.strategy_turret_s(); case SouthEast: return p_bundle.strategy_turret_se(); case SouthWest: return p_bundle.strategy_turret_sw(); } } protected static ImageResource getTokenImageStrategyWeatherHen(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_weatherhen_n(); case NorthEast: return p_bundle.strategy_weatherhen_ne(); case NorthWest: return p_bundle.strategy_weatherhen_nw(); case South: return p_bundle.strategy_weatherhen_s(); case SouthEast: return p_bundle.strategy_weatherhen_se(); case SouthWest: return p_bundle.strategy_weatherhen_sw(); } } protected static ImageResource getTokenImageStrategyCrayfish(TokenExtraImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_crayfish_n(); case NorthEast: return p_bundle.strategy_crayfish_ne(); case NorthWest: return p_bundle.strategy_crayfish_nw(); case South: return p_bundle.strategy_crayfish_s(); case SouthEast: return p_bundle.strategy_crayfish_se(); case SouthWest: return p_bundle.strategy_crayfish_sw(); } } protected static ImageResource getTokenImageStrategyHovertank(TokenExtraImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_hovertank_n(); case NorthEast: return p_bundle.strategy_hovertank_ne(); case NorthWest: return p_bundle.strategy_hovertank_nw(); case South: return p_bundle.strategy_hovertank_s(); case SouthEast: return p_bundle.strategy_hovertank_se(); case SouthWest: return p_bundle.strategy_hovertank_sw(); } } protected static ImageResource getTokenImageStrategyTarask(TokenExtraImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_tarask_n(); case NorthEast: return p_bundle.strategy_tarask_ne(); case NorthWest: return p_bundle.strategy_tarask_nw(); case South: return p_bundle.strategy_tarask_s(); case SouthEast: return p_bundle.strategy_tarask_se(); case SouthWest: return p_bundle.strategy_tarask_sw(); } } protected static ImageResource getTokenImageStrategyDestroyer(TokenExtraImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.strategy_destroyer_n(); case NorthEast: return p_bundle.strategy_destroyer_ne(); case NorthWest: return p_bundle.strategy_destroyer_nw(); case South: return p_bundle.strategy_destroyer_s(); case SouthEast: return p_bundle.strategy_destroyer_se(); case SouthWest: return p_bundle.strategy_destroyer_sw(); } } protected static ImageResource getTokenImageTacticBarge(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_barge_n(); case NorthEast: return p_bundle.tactic_barge_ne(); case NorthWest: return p_bundle.tactic_barge_nw(); case South: return p_bundle.tactic_barge_s(); case SouthEast: return p_bundle.tactic_barge_se(); case SouthWest: return p_bundle.tactic_barge_sw(); } } protected static ImageResource getTokenImageTacticCrab(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_crab_n(); case NorthEast: return p_bundle.tactic_crab_ne(); case NorthWest: return p_bundle.tactic_crab_nw(); case South: return p_bundle.tactic_crab_s(); case SouthEast: return p_bundle.tactic_crab_se(); case SouthWest: return p_bundle.tactic_crab_sw(); } } protected static ImageResource getTokenImageTacticFreighter(TokenFreighterImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_freighter_n(); case NorthEast: return p_bundle.tactic_freighter_ne(); case NorthWest: return p_bundle.tactic_freighter_nw(); case South: return p_bundle.tactic_freighter_s(); case SouthEast: return p_bundle.tactic_freighter_se(); case SouthWest: return p_bundle.tactic_freighter_sw(); } } protected static ImageResource getTokenImageTacticHeap(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_heap_n(); case NorthEast: return p_bundle.tactic_heap_ne(); case NorthWest: return p_bundle.tactic_heap_nw(); case South: return p_bundle.tactic_heap_s(); case SouthEast: return p_bundle.tactic_heap_se(); case SouthWest: return p_bundle.tactic_heap_sw(); } } protected static ImageResource getTokenImageTacticSpeedBoat(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_speedboat_n(); case NorthEast: return p_bundle.tactic_speedboat_ne(); case NorthWest: return p_bundle.tactic_speedboat_nw(); case South: return p_bundle.tactic_speedboat_s(); case SouthEast: return p_bundle.tactic_speedboat_se(); case SouthWest: return p_bundle.tactic_speedboat_sw(); } } protected static ImageResource getTokenImageTacticTank(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_tank_n(); case NorthEast: return p_bundle.tactic_tank_ne(); case NorthWest: return p_bundle.tactic_tank_nw(); case South: return p_bundle.tactic_tank_s(); case SouthEast: return p_bundle.tactic_tank_se(); case SouthWest: return p_bundle.tactic_tank_sw(); } } protected static ImageResource getTokenImageTacticTurret(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_turret_n(); case NorthEast: return p_bundle.tactic_turret_ne(); case NorthWest: return p_bundle.tactic_turret_nw(); case South: return p_bundle.tactic_turret_s(); case SouthEast: return p_bundle.tactic_turret_se(); case SouthWest: return p_bundle.tactic_turret_sw(); } } protected static ImageResource getTokenImageTacticWeatherHen(TokenImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_weatherhen_n(); case NorthEast: return p_bundle.tactic_weatherhen_ne(); case NorthWest: return p_bundle.tactic_weatherhen_nw(); case South: return p_bundle.tactic_weatherhen_s(); case SouthEast: return p_bundle.tactic_weatherhen_se(); case SouthWest: return p_bundle.tactic_weatherhen_sw(); } } protected static ImageResource getTokenImageTacticCrayfish(TokenExtraImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_crayfish_n(); case NorthEast: return p_bundle.tactic_crayfish_ne(); case NorthWest: return p_bundle.tactic_crayfish_nw(); case South: return p_bundle.tactic_crayfish_s(); case SouthEast: return p_bundle.tactic_crayfish_se(); case SouthWest: return p_bundle.tactic_crayfish_sw(); } } protected static ImageResource getTokenImageTacticHovertank(TokenExtraImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_hovertank_n(); case NorthEast: return p_bundle.tactic_hovertank_ne(); case NorthWest: return p_bundle.tactic_hovertank_nw(); case South: return p_bundle.tactic_hovertank_s(); case SouthEast: return p_bundle.tactic_hovertank_se(); case SouthWest: return p_bundle.tactic_hovertank_sw(); } } protected static ImageResource getTokenImageTacticTarask(TokenExtraImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_tarask_n(); case NorthEast: return p_bundle.tactic_tarask_ne(); case NorthWest: return p_bundle.tactic_tarask_nw(); case South: return p_bundle.tactic_tarask_s(); case SouthEast: return p_bundle.tactic_tarask_se(); case SouthWest: return p_bundle.tactic_tarask_sw(); } } protected static ImageResource getTokenImageTacticDestroyer(TokenExtraImageBundle p_bundle, Sector p_sector) { switch (p_sector) { default: case North: return p_bundle.tactic_destroyer_n(); case NorthEast: return p_bundle.tactic_destroyer_ne(); case NorthWest: return p_bundle.tactic_destroyer_nw(); case South: return p_bundle.tactic_destroyer_s(); case SouthEast: return p_bundle.tactic_destroyer_se(); case SouthWest: return p_bundle.tactic_destroyer_sw(); } } }