DEADSOFTWARE

Add item in player's hand
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / misc / Assets.java
1 package ru.deadsoftware.cavecraft.misc;
3 import com.badlogic.gdx.Gdx;
4 import com.badlogic.gdx.graphics.Texture;
5 import com.badlogic.gdx.graphics.g2d.BitmapFont;
6 import com.badlogic.gdx.graphics.g2d.GlyphLayout;
7 import com.badlogic.gdx.graphics.g2d.Sprite;
8 import com.badlogic.gdx.graphics.g2d.TextureRegion;
9 import ru.deadsoftware.cavecraft.CaveGame;
11 public class Assets {
13 public static final int BLOCK_TEXTURES = 66;
14 public static final int ITEM_TEXTURES = 5;
16 private static GlyphLayout layout;
18 public static BitmapFont minecraftFont;
20 public static Sprite gameLogo;
22 public static Texture menuButtonTexture;
23 public static TextureRegion[] menuButton = new TextureRegion[3];
25 public static Texture playerTexture;
26 public static Sprite[][] playerSprite = new Sprite[2][4];
28 public static Texture pigTexture;
29 public static Sprite[][] pigSprite = new Sprite[2][2];
31 public static Sprite shade;
33 public static Texture terrain;
34 public static Sprite[] blockTextures = new Sprite[BLOCK_TEXTURES];
36 public static Texture items;
37 public static Sprite[] itemTextures = new Sprite[ITEM_TEXTURES];
39 public static Texture gui;
40 public static TextureRegion invBar;
41 public static TextureRegion invBarCur;
42 public static TextureRegion guiCur;
44 public static Texture creativeTexture;
45 public static TextureRegion creativeInv;
46 public static TextureRegion creativeScroll;
48 public static Texture touchGui;
49 public static TextureRegion[] touchArrows = new TextureRegion[4];
50 public static TextureRegion touchLMB, touchRMB;
51 public static TextureRegion touchToggleMode;
52 public static TextureRegion touchSpace;
54 private static void loadPlayer() {
55 playerTexture = new Texture(Gdx.files.internal("mobs/char.png"));
56 //LOOK TO LEFT
57 //head
58 playerSprite[0][0] = new Sprite(new TextureRegion(playerTexture, 0,0,12,12));
59 playerSprite[0][0].flip(false,true);
60 //body
61 playerSprite[0][1] = new Sprite(new TextureRegion(playerTexture, 0,13,12,12));
62 playerSprite[0][1].flip(false,true);
63 //hand
64 playerSprite[0][2] = new Sprite(new TextureRegion(playerTexture, 25,5,20,20));
65 playerSprite[0][2].flip(false,true);
66 //leg
67 playerSprite[0][3] = new Sprite(new TextureRegion(playerTexture, 25,27,20,20));
68 playerSprite[0][3].flip(false,true);
69 //LOOK TO RIGHT
70 //head
71 playerSprite[1][0] = new Sprite(new TextureRegion(playerTexture, 13,0,12,12));
72 playerSprite[1][0].flip(false,true);
73 //body
74 playerSprite[1][1] = new Sprite(new TextureRegion(playerTexture, 13,13,12,12));
75 playerSprite[1][1].flip(false,true);
76 //hand
77 playerSprite[1][2] = new Sprite(new TextureRegion(playerTexture, 37,5,20,20));
78 playerSprite[1][2].flip(false,true);
79 //leg
80 playerSprite[1][3] = new Sprite(new TextureRegion(playerTexture, 37,27,20,20));
81 playerSprite[1][3].flip(false,true);
82 }
84 private static void loadPig() {
85 pigTexture = new Texture(Gdx.files.internal("mobs/pig.png"));
86 pigSprite[0][0] = new Sprite(new TextureRegion(pigTexture, 0, 0, 25, 12));
87 pigSprite[0][0].flip(false,true);
88 pigSprite[1][0] = new Sprite(new TextureRegion(pigTexture, 0, 12, 25, 12));
89 pigSprite[1][0].flip(false,true);
90 pigSprite[0][1] = new Sprite(new TextureRegion(pigTexture, 4, 26, 12, 12));
91 pigSprite[0][1].flip(false,true);
92 pigSprite[1][1] = new Sprite(new TextureRegion(pigTexture, 16, 26, 12, 12));
93 pigSprite[1][1].flip(false,true);
94 }
96 public static void load() {
97 minecraftFont = new BitmapFont(Gdx.files.internal("font.fnt"), true);
98 minecraftFont.getData().setScale(.375f);
100 layout = new GlyphLayout();
102 gameLogo = new Sprite(new Texture(Gdx.files.internal("gamelogo.png")));
103 gameLogo.flip(false, true);
105 menuButtonTexture = new Texture(Gdx.files.internal("buttons.png"));
106 for (int i=0; i<3; i++) {
107 menuButton[i] = new TextureRegion(menuButtonTexture, 0, 20*i, 200, 20);
108 menuButton[i].flip(false, true);
111 loadPlayer();
112 loadPig();
114 shade = new Sprite(new Texture(Gdx.files.internal("shade.png")));
116 gui = new Texture(Gdx.files.internal("gui.png"));
117 guiCur = new TextureRegion(gui,0,0,16,16);
118 invBar = new TextureRegion(gui,0,16,182,22);
119 invBarCur = new TextureRegion(gui,0,38,24,24);
121 creativeTexture = new Texture(Gdx.files.internal("allitems.png"));
122 creativeInv = new TextureRegion(creativeTexture, 0, 0, 176, 136);
123 creativeInv.flip(false,true);
124 creativeScroll = new TextureRegion(creativeTexture, 3, 137, 12, 15);
125 creativeScroll.flip(false, true);
127 if (CaveGame.TOUCH) {
128 touchGui = new Texture(Gdx.files.internal("touch_gui.png"));
129 for (int i = 0; i < 4; i++) {
130 touchArrows[i] = new TextureRegion(touchGui, i * 26, 0, 26, 26);
131 touchArrows[i].flip(false, true);
133 touchLMB = new TextureRegion(touchGui, 0, 26, 26, 26);
134 touchLMB.flip(false, true);
135 touchRMB = new TextureRegion(touchGui, 52, 26, 26, 26);
136 touchRMB.flip(false, true);
137 touchToggleMode = new TextureRegion(touchGui, 26, 26, 26, 26);
138 touchToggleMode.flip(false, true);
139 touchSpace = new TextureRegion(touchGui, 0, 52, 104, 26);
140 touchSpace.flip(false, true);
143 terrain = new Texture(Gdx.files.internal("terrain.png"));
144 for (int i=0; i<BLOCK_TEXTURES; i++) {
145 blockTextures[i] = new Sprite(terrain,
146 (i%16)*16, (i/16)*16, 16,16);
147 blockTextures[i].flip(false,true);
148 blockTextures[i].setSize(8,8);
150 terrain = null;
152 items = new Texture(Gdx.files.internal("items.png"));
153 for (int i=0; i<ITEM_TEXTURES; i++) {
154 itemTextures[i] = new Sprite(items,
155 (i%16)*16, (i/16)*16, 16, 16);
156 itemTextures[i].flip(false, true);
157 //itemTextures[i].setSize(8,8);
159 items = null;
162 public static int getStringWidth(String s){
163 layout.setText(minecraftFont,s);
164 return (int)layout.width;
167 public static int getStringHeight(String s){
168 layout.setText(minecraftFont,s);
169 return (int)layout.height;