mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-10-02 11:10:50 +03:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -61,7 +61,7 @@ mods.browser.sortstars = Legjobbra értékeltek
|
||||
export.file = Exportálás fájlba
|
||||
import.file = Importálás fájlból
|
||||
copy.clipboard = Másolás a vágólapra
|
||||
import.clipboard = Importálás a vágólapról
|
||||
import.clipboard = Betöltés a vágólapról
|
||||
workshop.browse = Browse Workshop
|
||||
workshop.share = Megosztás a Steam Műhelyben
|
||||
|
||||
@@ -562,7 +562,7 @@ asset.content.badname = [red]Érvénytelen név! A legtöbb szimbólum nem enged
|
||||
asset.content.import.file = Fájl importálása
|
||||
asset.content.import.clipboard = Importálás a vágólapról
|
||||
asset.exists = Már létezik egy ilyen típusú, azonos útvonalú/nevű összetevő:\n[lightgray]{0}
|
||||
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
|
||||
asset.exists.audio = Egy ilyen nevű hang- vagy zeneösszetevő már be lett töltve:\n[lightgray]{0}
|
||||
asset.broken = Nem található ez az összetevőfájl.\nEzt az adatok helytelen importálása vagy egy hibásan exportált mentés okozhatja.
|
||||
asset.audio.invalid = Nem sikerült betölteni a hangfájlt.\nGyőződj meg arról, hogy érvényes OGG- vagy MP3-fájlt adtál meg.
|
||||
asset.delete.confirm = Biztosan törölni szeretnéd ezt az összetevőt?
|
||||
|
||||
@@ -259,6 +259,7 @@ public class LogicBlock extends Block{
|
||||
public LExecutor executor = new LExecutor();
|
||||
public float accumulator = 0;
|
||||
public Seq<LogicLink> links = new Seq<>();
|
||||
public @Nullable ObjectIntMap<String> linkMap;
|
||||
public boolean checkedDuplicates = false;
|
||||
//dynamic only for privileged processors
|
||||
public int ipt = instructionsPerTick;
|
||||
@@ -363,6 +364,7 @@ public class LogicBlock extends Block{
|
||||
}
|
||||
|
||||
public void updateCode(String str, boolean keep, Cons<LAssembler> assemble){
|
||||
linkMap = null;
|
||||
if(str != null){
|
||||
code = str;
|
||||
|
||||
@@ -606,14 +608,32 @@ public class LogicBlock extends Block{
|
||||
if(position.isobj && position.objval instanceof String varName){
|
||||
LVar ret = executor.optionalVar(varName);
|
||||
if(ret == null){
|
||||
output.setnum(Double.NaN);
|
||||
output.setobj(optionalLink(varName));
|
||||
return;
|
||||
}
|
||||
if(output.constant) return;
|
||||
output.set(ret);
|
||||
}else{
|
||||
int index = position.numi();
|
||||
output.setobj(index >= 0 && index < executor.links.length ? executor.links[index] : null);
|
||||
}
|
||||
}
|
||||
|
||||
private @Nullable Building optionalLink(String name){
|
||||
// Quick check the name can even be a link to avoid building/using the map needlessly
|
||||
char ch = name.charAt(name.length() - 1);
|
||||
if(ch < '0' || ch > '9') return null;
|
||||
|
||||
if(linkMap == null){
|
||||
linkMap = new ObjectIntMap<>();
|
||||
for(int i = 0; i < links.size; i++){
|
||||
linkMap.put(links.get(i).name, i);
|
||||
}
|
||||
}
|
||||
int index = linkMap.get(name, -1);
|
||||
return index >= 0 && index < links.size && links.get(index).valid ? links.get(index).lastBuild : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean writable(LExecutor exec){
|
||||
return readable(exec);
|
||||
|
||||
Reference in New Issue
Block a user