Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken
2018-01-02 20:45:56 -05:00
2 changed files with 24 additions and 5 deletions

View File

@@ -1,9 +1,12 @@
package io.anuke.mindustry;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.Build;
import android.telephony.TelephonyManager;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
@@ -22,9 +25,18 @@ import java.util.Date;
public class AndroidLauncher extends AndroidApplication{
boolean doubleScaleTablets = true;
int WRITE_REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (this.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
this.requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_REQUEST_CODE);
}
}
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.useImmersiveMode = true;

View File

@@ -18,7 +18,7 @@ public class Crafter extends Block{
protected Item[] requirements;
protected Item result;
int capacity = 20;
int capacity = 20;
public Crafter(String name) {
super(name);
@@ -37,7 +37,7 @@ public class Crafter extends Block{
@Override
public void update(Tile tile){
if(tile.entity.timer.get(timerDump, 15) && tile.entity.hasItem(result)){
if(tile.entity.timer.get(timerDump, 5) && tile.entity.hasItem(result)){
tryDump(tile, -1, result);
}
@@ -46,7 +46,12 @@ public class Crafter extends Block{
return;
}
}
// crafter full - it has to be emptied before it can craft again.
if(tile.entity.getItem(result) >= capacity){
return;
}
for(Item item : requirements){
tile.entity.removeItem(item, 1);
}
@@ -67,8 +72,10 @@ public class Crafter extends Block{
@Override
public void drawSelect(Tile tile){
float fract = (float)tile.entity.totalItems()/((requirements.length-1) *capacity);
// each req item has its input buffer + 1 buffer for output.
int totalCapacity = (requirements.length + 1) * capacity;
float fract = ((float)tile.entity.totalItems())/totalCapacity;
Vars.renderer.drawBar(Color.GREEN, tile.worldx(), tile.worldy() + 6, fract);
}
}