Skip to content

Commit 29b76fb

Browse files
author
Julien Poulton
committed
Merge branch '5246-sdk-spritesheetloader-should-be-spritesheetsplitter' into 'master'
[FIX][SDK] Renamed SpriteSheetLoader to SpriteSheetSplitter See merge request codingame/game-engine!154
2 parents 33fe2d1 + 6c0f9f1 commit 29b76fb

File tree

5 files changed

+29
-28
lines changed

5 files changed

+29
-28
lines changed

engine/modules/entities/src/main/java/com/codingame/gameengine/module/entities/GraphicEntityModule.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class GraphicEntityModule implements Module {
3232

3333
static int ENTITY_COUNT = 0;
3434

35-
private List<SpriteSheetLoader> newSpriteSheets;
35+
private List<SpriteSheetSplitter> newSpriteSheetSplitters;
3636
private List<Entity<?>> newEntities;
3737
private List<Entity<?>> entities;
3838
private Map<String, WorldState> worldStates;
@@ -42,15 +42,15 @@ public class GraphicEntityModule implements Module {
4242

4343
private GameManager<AbstractPlayer> gameManager;
4444
@Inject private Serializer gameSerializer;
45-
@Inject private Provider<SpriteSheetLoader> spriteSheetProvider;
45+
@Inject private Provider<SpriteSheetSplitter> spriteSheetProvider;
4646

4747
@Inject
4848
GraphicEntityModule(GameManager<AbstractPlayer> gameManager) {
4949
this.gameManager = gameManager;
5050
world = new World();
5151
entities = new ArrayList<>();
5252
newEntities = new ArrayList<>();
53-
newSpriteSheets = new ArrayList<>();
53+
newSpriteSheetSplitters = new ArrayList<>();
5454
lockWorld = false;
5555
worldStates = new HashMap<>();
5656
currentWorldState = new WorldState("0");
@@ -89,16 +89,16 @@ public World getWorld() {
8989
return world;
9090
}
9191

92-
void loadSpriteSheet(SpriteSheetLoader spritesheet) {
93-
newSpriteSheets.add(spritesheet);
92+
void loadSpriteSheetSplitter(SpriteSheetSplitter spritesheetsplitter) {
93+
newSpriteSheetSplitters.add(spritesheetsplitter);
9494
}
9595

9696
/**
97-
* Create a spritesheet loader.
97+
* Create a spritesheet splitter.
9898
*
99-
* @return a SpriteSheetLoader
99+
* @return a SpriteSheetSplitter
100100
*/
101-
public SpriteSheetLoader createSpriteSheetLoader() {
101+
public SpriteSheetSplitter createSpriteSheetSplitter() {
102102
return spriteSheetProvider.get();
103103
}
104104

@@ -177,8 +177,8 @@ private void sendFrameData() {
177177

178178
autocommit();
179179

180-
Optional<String> load = gameSerializer.serializeLoadSpriteSheets(newSpriteSheets);
181-
newSpriteSheets.clear();
180+
Optional<String> load = gameSerializer.serializeLoadSpriteSheets(newSpriteSheetSplitters);
181+
newSpriteSheetSplitters.clear();
182182

183183
Optional<String> create = gameSerializer.serializeCreateEntities(newEntities);
184184
newEntities.clear();

engine/modules/entities/src/main/java/com/codingame/gameengine/module/entities/Serializer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,15 +206,15 @@ public Optional<String> serializeCreateEntities(List<Entity<?>> entities) {
206206
}
207207
}
208208

209-
private String serializeLoadSpriteSheet(SpriteSheetLoader spriteSheet) {
209+
private String serializeLoadSpriteSheet(SpriteSheetSplitter spriteSheet) {
210210
return join(
211211
spriteSheet.getName(), spriteSheet.getSourceImage(),
212212
spriteSheet.getWidth(), spriteSheet.getHeight(), spriteSheet.getOrigRow(), spriteSheet.getOrigCol(), spriteSheet.getImageCount(),
213213
spriteSheet.getImagesPerRow()
214214
);
215215
}
216216

217-
public Optional<String> serializeLoadSpriteSheets(List<SpriteSheetLoader> spriteSheets) {
217+
public Optional<String> serializeLoadSpriteSheets(List<SpriteSheetSplitter> spriteSheets) {
218218
if (spriteSheets.isEmpty()) {
219219
return Optional.empty();
220220
} else {
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import com.google.inject.Inject;
66

7-
public class SpriteSheetLoader {
7+
public class SpriteSheetSplitter {
88
private String name;
99
private String sourceImage;
1010
private Integer width;
@@ -17,7 +17,7 @@ public class SpriteSheetLoader {
1717
private final GraphicEntityModule graphicEntityModule;
1818

1919
@Inject
20-
public SpriteSheetLoader(GraphicEntityModule graphicEntityModule) {
20+
public SpriteSheetSplitter(GraphicEntityModule graphicEntityModule) {
2121
this.graphicEntityModule = graphicEntityModule;
2222
}
2323

@@ -53,51 +53,51 @@ public int getImagesPerRow() {
5353
return imagesPerRow;
5454
}
5555

56-
public SpriteSheetLoader setName(String name) {
56+
public SpriteSheetSplitter setName(String name) {
5757
this.name = name;
5858
return this;
5959
}
6060

61-
public SpriteSheetLoader setSourceImage(String sourceImage) {
61+
public SpriteSheetSplitter setSourceImage(String sourceImage) {
6262
this.sourceImage = sourceImage;
6363
return this;
6464
}
6565

66-
public SpriteSheetLoader setWidth(int width) {
66+
public SpriteSheetSplitter setWidth(int width) {
6767
this.width = width;
6868
return this;
6969
}
7070

71-
public SpriteSheetLoader setHeight(int height) {
71+
public SpriteSheetSplitter setHeight(int height) {
7272
this.height = height;
7373
return this;
7474
}
7575

76-
public SpriteSheetLoader setOrigRow(int origRow) {
76+
public SpriteSheetSplitter setOrigRow(int origRow) {
7777
this.origRow = origRow;
7878
return this;
7979
}
8080

81-
public SpriteSheetLoader setOrigCol(int origCol) {
81+
public SpriteSheetSplitter setOrigCol(int origCol) {
8282
this.origCol = origCol;
8383
return this;
8484
}
8585

86-
public SpriteSheetLoader setImageCount(int imageCount) {
86+
public SpriteSheetSplitter setImageCount(int imageCount) {
8787
this.imageCount = imageCount;
8888
return this;
8989
}
9090

91-
public SpriteSheetLoader setImagesPerRow(int imagesPerRow) {
91+
public SpriteSheetSplitter setImagesPerRow(int imagesPerRow) {
9292
this.imagesPerRow = imagesPerRow;
9393
return this;
9494
}
9595

9696
/**
97-
* Load a spritesheet (all fields are required except imagesPerRow). Returns an array of image names that can be used in Sprite or SpriteAnimation.
97+
* Splits up a spritesheet (all fields are required except imagesPerRow). Returns an array of image names that can be used in Sprite or SpriteAnimation.
9898
* @return an array of image names.
9999
*/
100-
public String[] load() {
100+
public String[] split() {
101101
if (name == null) {
102102
throw new IllegalStateException("invalid name");
103103
}
@@ -120,7 +120,7 @@ public String[] load() {
120120
throw new IllegalStateException("invalid origCol");
121121
}
122122

123-
graphicEntityModule.loadSpriteSheet(this);
123+
graphicEntityModule.loadSpriteSheetSplitter(this);
124124
if (imageCount > 1) {
125125
return IntStream.range(0, imageCount).mapToObj(i -> name + i).toArray(String[]::new);
126126
} else {

playground/graphics/graphics-4-spritesheets.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The Graphic Entity Module can cut and handle spritesheets. There are two ways of doing that.
44

5-
## Using the SpriteSheetLoader
5+
## Using the SpriteSheetSplitter
66

77
This is the easiest way to create a set of sprites from a spritesheet. This solution is good for prototyping but it is performance costly.
88

@@ -16,7 +16,7 @@ For this example, we will use this spritesheet (taken from our [free to use asse
1616
- We want to use all the images starting from the top left corner, so the `OrigRow` and `OrigCol` must be set to 0
1717

1818
```java
19-
String[] seaweedSprites = graphicEntityModule.createSpriteSheetLoader()
19+
String[] seaweedSprites = graphicEntityModule.createSpriteSheetSplitter()
2020
.setSourceImage("spritesheet.png")
2121
.setImageCount(12)
2222
.setWidth(128)

playground/misc/misc-3-release-notes.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@ The CodinGame SDK is regularly updated and improved. This document lets you know
1212

1313
### Bug fixes
1414

15+
- 💥 _Breaking change_ Renamed SpriteSheetLoader to SpriteSheetSplitter.
1516
- Subfolders of the assets folder work on Windows now.
1617
- Frame zero now has a duration of zero.
17-
- The [SpriteSheetLoader](playground/graphics/graphics-spritesheet#Using the SpriteSheetLoader) doesn't reload the sprite sheet if it's already in the TextureCache.
18+
- The [SpriteSheetSplitter](playground/graphics/graphics-spritesheet#Using the SpriteSheetSplitter) doesn't reload the sprite sheet if it's already in the TextureCache.
1819
- The local player now uses the parameters stored in the LocalStorage.
1920
- Removed the max turn warning, since it's replaced by a limit of alloted time.
2021
- Better process cleanup.

0 commit comments

Comments
 (0)