Merge remote-tracking branch 'origin/master'
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -26,6 +26,7 @@ logs/
|
|||||||
/core/assets/version.properties
|
/core/assets/version.properties
|
||||||
/core/assets/locales
|
/core/assets/locales
|
||||||
/ios/src/io/anuke/mindustry/gen/
|
/ios/src/io/anuke/mindustry/gen/
|
||||||
|
/core/src/io/anuke/mindustry/gen/
|
||||||
*.gif
|
*.gif
|
||||||
|
|
||||||
version.properties
|
version.properties
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ project(":ios") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
build.dependsOn(copyGen)
|
//build.dependsOn(copyGen)
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile project(":core")
|
compile project(":core")
|
||||||
@@ -131,6 +131,7 @@ project(":ios") {
|
|||||||
compile "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
|
compile "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
|
||||||
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
|
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
|
||||||
compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios"
|
compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios"
|
||||||
|
compileOnly project(":annotations")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module>
|
|
||||||
<source path="io/anuke/mindustry"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.Tile"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.Content"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.type.ItemStack"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.maps.Maps"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.Map"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.SpawnGroup"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.core.GameState"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.io.SaveFileVersion"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.ucore.entities.impl.EffectEntity"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.effect"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.bullet.Bullet"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.Team"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.maps.missions.Mission"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.type.Item"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.meta.BlockBar"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.maps.generation.WorldGenerator"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.StatusController"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.maps.Sector"/>
|
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.utils.Predicate"/>
|
|
||||||
</module>
|
|
||||||
@@ -247,7 +247,7 @@ public class BlockIndexer{
|
|||||||
for(int x = quadrantX * structQuadrantSize; x < world.width() && x < (quadrantX + 1) * structQuadrantSize; x++){
|
for(int x = quadrantX * structQuadrantSize; x < world.width() && x < (quadrantX + 1) * structQuadrantSize; x++){
|
||||||
for(int y = quadrantY * structQuadrantSize; y < world.height() && y < (quadrantY + 1) * structQuadrantSize; y++){
|
for(int y = quadrantY * structQuadrantSize; y < world.height() && y < (quadrantY + 1) * structQuadrantSize; y++){
|
||||||
Tile result = world.tile(x, y);
|
Tile result = world.tile(x, y);
|
||||||
if(result.block().drops == null || !scanOres.contains(result.block().drops.item)) continue;
|
if( result == null || result.block().drops == null || !scanOres.contains(result.block().drops.item)) continue;
|
||||||
|
|
||||||
itemSet.add(result.block().drops.item);
|
itemSet.add(result.block().drops.item);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,8 @@ public class SectorPresets{
|
|||||||
Missions.blockRecipe(ProductionBlocks.waterExtractor),
|
Missions.blockRecipe(ProductionBlocks.waterExtractor),
|
||||||
new ContentMission(Items.biomatter),
|
new ContentMission(Items.biomatter),
|
||||||
Missions.blockRecipe(CraftingBlocks.biomatterCompressor),
|
Missions.blockRecipe(CraftingBlocks.biomatterCompressor),
|
||||||
new ContentMission(Liquids.oil)
|
new ContentMission(Liquids.oil),
|
||||||
|
new BattleMission()
|
||||||
),
|
),
|
||||||
Array.with(Items.copper, Items.lead, Items.coal, Items.titanium)));
|
Array.with(Items.copper, Items.lead, Items.coal, Items.titanium)));
|
||||||
}
|
}
|
||||||
@@ -69,6 +70,8 @@ public class SectorPresets{
|
|||||||
return presets.get(x, y);
|
return presets.get(x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GridMap<SectorPreset> getPresets() { return presets; }
|
||||||
|
|
||||||
private void add(SectorPreset preset){
|
private void add(SectorPreset preset){
|
||||||
presets.put(preset.x, preset.y, preset);
|
presets.put(preset.x, preset.y, preset);
|
||||||
orePresets.put(preset.x, preset.y, preset.ores);
|
orePresets.put(preset.x, preset.y, preset.ores);
|
||||||
|
|||||||
@@ -34,6 +34,8 @@
|
|||||||
<true/>
|
<true/>
|
||||||
<key>UIRequiresFullScreen</key>
|
<key>UIRequiresFullScreen</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<key>LSSupportsOpeningDocumentsInPlace</key>
|
||||||
|
<true/>
|
||||||
<key>NSPhotoLibraryAddUsageDescription</key>
|
<key>NSPhotoLibraryAddUsageDescription</key>
|
||||||
<string>Mindustry</string>
|
<string>Mindustry</string>
|
||||||
<key>UIDeviceFamily</key>
|
<key>UIDeviceFamily</key>
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ app.version=4.0
|
|||||||
app.id=io.anuke.mindustry
|
app.id=io.anuke.mindustry
|
||||||
app.mainclass=io.anuke.mindustry.IOSLauncher
|
app.mainclass=io.anuke.mindustry.IOSLauncher
|
||||||
app.executable=IOSLauncher
|
app.executable=IOSLauncher
|
||||||
app.build=23
|
app.build=25
|
||||||
app.name=Mindustry
|
app.name=Mindustry
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
<forceLinkClasses>
|
<forceLinkClasses>
|
||||||
|
<pattern>net.jpountz.lz4.**</pattern>
|
||||||
<pattern>io.anuke.ucore.scene.**</pattern>
|
<pattern>io.anuke.ucore.scene.**</pattern>
|
||||||
<pattern>io.anuke.mindustry.gen.Call</pattern>
|
<pattern>io.anuke.mindustry.gen.Call</pattern>
|
||||||
<pattern>io.anuke.mindustry.net.**</pattern>
|
<pattern>io.anuke.mindustry.net.**</pattern>
|
||||||
|
|||||||
54
tests/src/test/java/SectorTests.java
Normal file
54
tests/src/test/java/SectorTests.java
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
import com.badlogic.gdx.utils.Array;
|
||||||
|
import io.anuke.mindustry.Vars;
|
||||||
|
import io.anuke.mindustry.core.ContentLoader;
|
||||||
|
import io.anuke.mindustry.maps.SectorPresets;
|
||||||
|
import io.anuke.mindustry.maps.generation.Generation;
|
||||||
|
import io.anuke.mindustry.maps.missions.Mission;
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
/** This class is responsible for testing predefined sectors. */
|
||||||
|
public class SectorTests{
|
||||||
|
|
||||||
|
private SectorPresets presets;
|
||||||
|
private Generation fakeGen;
|
||||||
|
|
||||||
|
@BeforeAll
|
||||||
|
static void initializeDependencies(){
|
||||||
|
Vars.content = new ContentLoader();
|
||||||
|
Vars.content.load();
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void initTest(){
|
||||||
|
this.presets = new SectorPresets();
|
||||||
|
|
||||||
|
// Fake away the Generation dependency
|
||||||
|
this.fakeGen = new Generation(null, null, 250, 250, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Returns true if at least one mission provides a spawn point. */
|
||||||
|
private boolean spawnPointIsDefined(Array<Mission> missions){
|
||||||
|
for(Mission mission : missions){
|
||||||
|
if(mission.getSpawnPoints(this.fakeGen).size > 0){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// No spawn point provided
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes sure that every predefined sector has a position for the player core defined.
|
||||||
|
* This is achieved by adding at least one mission which defines a spawn point.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void test_sectorHasACore(){
|
||||||
|
for(SectorPresets.SectorPreset preset : this.presets.getPresets().values()){
|
||||||
|
assertTrue(spawnPointIsDefined(preset.missions), "Sector at (" + preset.x + "|" + preset.y + ") contains no missions which define a spawn point. Add a battle or wave mission.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user