package de.nisble.droidsweeper.gui.grid; import de.nisble.droidsweeper.R; import de.nisble.droidsweeper.game.jni.FieldStatus; import android.content.Context; import android.content.res.Resources; import android.graphics.drawable.Drawable; /** Class that holds images for the {@link FieldView}. * @author Moritz Nisblé moritz.nisble@gmx.de */ public class FieldDrawables { // private static final String CLASSNAME = // FieldDrawables.class.getSimpleName(); private static final Drawable[] mImages = new Drawable[13]; /** Load standard {@link FieldView} theme. * @param context Application context. */ public static void loadGrayback(Context context) { Resources res = context.getResources(); mImages[0] = res.getDrawable(R.drawable.empty_grayback_round_1); mImages[1] = res.getDrawable(R.drawable.n1_grayback_round_1); mImages[2] = res.getDrawable(R.drawable.n2_grayback_round_1); mImages[3] = res.getDrawable(R.drawable.n3_grayback_round_1); mImages[4] = res.getDrawable(R.drawable.n4_grayback_round_1); mImages[5] = res.getDrawable(R.drawable.n5_grayback_round_1); mImages[6] = res.getDrawable(R.drawable.n6_grayback_round_1); mImages[7] = res.getDrawable(R.drawable.n7_grayback_round_1); mImages[8] = res.getDrawable(R.drawable.n8_grayback_round_1); mImages[9] = res.getDrawable(R.drawable.unpushed_grayback_round_1); mImages[10] = res.getDrawable(R.drawable.bang_grayback_round_1); mImages[11] = res.getDrawable(R.drawable.query_grayback_round_1); mImages[12] = res.getDrawable(R.drawable.pushedbomb_grayback_round_1); } /** Get an image corresponding to a specific {@link FieldStatus}. * If {@link FieldStatus#UNHIDDEN} is passed, the adjacentBombs argument * specifies the number shown on the revealed field. * @param status The field status. * @param adjacentBombs The count of adjacent bombs. * @return A Drawable. */ public static Drawable getDrawable(FieldStatus status, int adjacentBombs) { switch (status) { case HIDDEN: return mImages[9]; case UNHIDDEN: return mImages[adjacentBombs]; case MARKED: return mImages[10]; case QUERIED: return mImages[11]; case BOMB: return mImages[12]; default: return mImages[9]; } } }