feat: trajectoire electron et photons avec activation et test sur le positiveur
This commit is contained in:
parent
e61428a708
commit
2a4c7239d4
|
@ -162,6 +162,15 @@ public class TouchMaptiles extends Actor implements GestureListener,InputProcess
|
|||
(int) y).setTile(null);
|
||||
}
|
||||
}
|
||||
|
||||
public void tempclear(int[] layers) {
|
||||
for (int layer: layers)
|
||||
for (int x = 0; x < level.Grid.sizeX; x++)
|
||||
for (int y = 0; y < level.Grid.sizeY; y++) {
|
||||
((TiledMapTileLayer) map.getLayers().get(layer)).getCell((int) x,
|
||||
(int) y).setTile(null);
|
||||
}
|
||||
}
|
||||
|
||||
//Calques :
|
||||
// 0 Grille ou Fibres
|
||||
|
@ -177,12 +186,20 @@ public class TouchMaptiles extends Actor implements GestureListener,InputProcess
|
|||
for (int y = 0; y < level.Grid.sizeY; y++) {
|
||||
if (worlds.getState()==State.simulating) {
|
||||
if (level.Grid.GetXY(x,y).Fiber)
|
||||
if (level.Grid.GetXY(x,y).Fiber_state==0)
|
||||
if (level.Grid.GetXY(x,y).Fiber_state%1000==0)
|
||||
((TiledMapTileLayer) map.getLayers().get(0)).getCell((int) x,(int) y).setTile(AssetLoader.tileSet.getTile(61));
|
||||
else {
|
||||
((TiledMapTileLayer) map.getLayers().get(0)).getCell((int) x,(int) y).setTile(AssetLoader.tileSet.getTile(89
|
||||
+level.Grid.GetXY(x,y).Fiber_state));
|
||||
((TiledMapTileLayer) map.getLayers().get(0)).getCell((int) x,(int) y).setTile(AssetLoader.tileSet.getTile(100-level.Grid.GetXY(x,y).Fiber_state%1000));
|
||||
}
|
||||
if (level.Grid.GetXY(x,y).Transmuter!=null) {
|
||||
int active=Math.floorDiv(level.Grid.GetXY(x,y).Transmuter.getActivationLevel()*10, level.Grid.GetXY(x,y).Transmuter.getMaxActivationLevel());
|
||||
((TiledMapTileLayer) map.getLayers().get(5)).getCell((int) x,(int) y).setTile(AssetLoader.tileSet.getTile(300+active));
|
||||
}
|
||||
if (level.Grid.GetXY(x,y).Copper)
|
||||
if (level.Grid.GetXY(x,y).Fiber_state>=1000)
|
||||
((TiledMapTileLayer) map.getLayers().get(6)).getCell((int) x,(int) y).setTile(AssetLoader.tileSet.getTile(level.Grid.GetXY(x,y).Fiber_state/1000));
|
||||
else
|
||||
((TiledMapTileLayer) map.getLayers().get(6)).getCell((int) x,(int) y).setTile(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -191,32 +191,32 @@ public class AssetLoader {
|
|||
|
||||
Gdx.app.debug("wirechem-AssetLoader", "Ajout des transmuters");
|
||||
allTransmuter = new Array<Transmuter>();
|
||||
allTransmuter.add(new Positiver(null));
|
||||
allTransmuter.add(new Positiver_I(null));
|
||||
allTransmuter.add(new Positiver_II(null));
|
||||
allTransmuter.add(new Positiver_III(null));
|
||||
allTransmuter.add(new Negativer(null));
|
||||
allTransmuter.add(new Negativer_I(null));
|
||||
allTransmuter.add(new Negativer_II(null));
|
||||
allTransmuter.add(new Negativer_III(null));
|
||||
allTransmuter.add(new Inverter_I(null));
|
||||
allTransmuter.add(new Inverter_II(null));
|
||||
allTransmuter.add(new Neutraliser_I(null));
|
||||
allTransmuter.add(new Neutraliser_II(null));
|
||||
allTransmuter.add(new Oneway(null));
|
||||
allTransmuter.add(new distributor(null));
|
||||
allTransmuter.add(new Insufler100(null));
|
||||
allTransmuter.add(new Insufler33(null));
|
||||
allTransmuter.add(new Insufler50(null));
|
||||
allTransmuter.add(new FilterPositive(null));
|
||||
allTransmuter.add(new FilterNegative(null));
|
||||
allTransmuter.add(new FilterBig(null));
|
||||
allTransmuter.add(new FilterActivable(null));
|
||||
allTransmuter.add(new Filter1(null));
|
||||
allTransmuter.add(new Filter2(null));
|
||||
allTransmuter.add(new Filter4(null));
|
||||
allTransmuter.add(new Filter4Activable(null));
|
||||
allTransmuter.add(new Filter8Activable(null));
|
||||
allTransmuter.add(new Positiver());
|
||||
allTransmuter.add(new Positiver_I());
|
||||
allTransmuter.add(new Positiver_II());
|
||||
allTransmuter.add(new Positiver_III());
|
||||
allTransmuter.add(new Negativer());
|
||||
allTransmuter.add(new Negativer_I());
|
||||
allTransmuter.add(new Negativer_II());
|
||||
allTransmuter.add(new Negativer_III());
|
||||
allTransmuter.add(new Inverter_I());
|
||||
allTransmuter.add(new Inverter_II());
|
||||
allTransmuter.add(new Neutraliser_I());
|
||||
allTransmuter.add(new Neutraliser_II());
|
||||
allTransmuter.add(new Oneway());
|
||||
allTransmuter.add(new distributor());
|
||||
allTransmuter.add(new Insufler100());
|
||||
allTransmuter.add(new Insufler33());
|
||||
allTransmuter.add(new Insufler50());
|
||||
allTransmuter.add(new FilterPositive());
|
||||
allTransmuter.add(new FilterNegative());
|
||||
allTransmuter.add(new FilterBig());
|
||||
allTransmuter.add(new FilterActivable());
|
||||
allTransmuter.add(new Filter1());
|
||||
allTransmuter.add(new Filter2());
|
||||
allTransmuter.add(new Filter4());
|
||||
allTransmuter.add(new Filter4Activable());
|
||||
allTransmuter.add(new Filter8Activable());
|
||||
for (Transmuter transmuter : allTransmuter) {
|
||||
Values<Integer> allTiles = transmuter.getTilesid().iterator();
|
||||
while (allTiles.hasNext()) {
|
||||
|
|
|
@ -40,8 +40,8 @@ public class Filter1 extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Filter1(Level level) {
|
||||
super(level);
|
||||
public Filter1() {
|
||||
super();
|
||||
this.id="=1";
|
||||
this.Name = AssetLoader.language.get("[filter1-name]");
|
||||
this.Desc = AssetLoader.language.get("[filter1-desc]");
|
||||
|
@ -51,8 +51,8 @@ public class Filter1 extends Transmuter {
|
|||
this.Research = 0;
|
||||
this.Upgrade = null;
|
||||
this.Unlock = new Array<Transmuter>();
|
||||
this.Unlock.add(new Filter2(level));
|
||||
this.Unlock.add(new Filter4(level));
|
||||
this.Unlock.add(new Filter2());
|
||||
this.Unlock.add(new Filter4());
|
||||
this.showed = true;
|
||||
this.CanUpgradeTemp = true;
|
||||
this.CanUpgradeCycle = false;
|
||||
|
@ -113,10 +113,10 @@ public class Filter1 extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -181,7 +181,7 @@ public class Filter1 extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -40,8 +40,8 @@ public class Filter2 extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Filter2(Level level) {
|
||||
super(level);
|
||||
public Filter2() {
|
||||
super();
|
||||
this.id="=2";
|
||||
this.Name = AssetLoader.language.get("[filter2-name]");
|
||||
this.Desc = AssetLoader.language.get("[filter2-desc]");
|
||||
|
@ -51,7 +51,7 @@ public class Filter2 extends Transmuter {
|
|||
this.Research = 150;
|
||||
this.Upgrade = null;
|
||||
this.Unlock = new Array<Transmuter>();
|
||||
this.Unlock.add(new Filter4(level));
|
||||
this.Unlock.add(new Filter4());
|
||||
this.showed = false;
|
||||
this.CanUpgradeTemp = true;
|
||||
this.CanUpgradeCycle = false;
|
||||
|
@ -112,10 +112,10 @@ public class Filter2 extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -180,7 +180,7 @@ public class Filter2 extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -40,8 +40,8 @@ public class Filter4 extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Filter4(Level level) {
|
||||
super(level);
|
||||
public Filter4() {
|
||||
super();
|
||||
this.id="=4";
|
||||
this.Name = AssetLoader.language.get("[filter4-name]");
|
||||
this.Desc = AssetLoader.language.get("[filter4-desc]");
|
||||
|
@ -111,10 +111,10 @@ public class Filter4 extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -179,7 +179,7 @@ public class Filter4 extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -40,8 +40,8 @@ public class Filter4Activable extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Filter4Activable(Level level) {
|
||||
super(level);
|
||||
public Filter4Activable() {
|
||||
super();
|
||||
this.id="=4a";
|
||||
this.Name = AssetLoader.language.get("[filter4activable-name]");
|
||||
this.Desc = AssetLoader.language.get("[filter4activable-desc]");
|
||||
|
@ -51,7 +51,7 @@ public class Filter4Activable extends Transmuter {
|
|||
this.Research = 0;
|
||||
this.Upgrade = null;
|
||||
this.Unlock = new Array<Transmuter>();
|
||||
this.Unlock.add(new Filter8Activable(level));
|
||||
this.Unlock.add(new Filter8Activable());
|
||||
this.showed = true;
|
||||
this.CanUpgradeTemp = true;
|
||||
this.CanUpgradeCycle = true;
|
||||
|
@ -112,10 +112,10 @@ public class Filter4Activable extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -180,7 +180,7 @@ public class Filter4Activable extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -40,8 +40,8 @@ public class Filter8Activable extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Filter8Activable(Level level) {
|
||||
super(level);
|
||||
public Filter8Activable() {
|
||||
super();
|
||||
this.id="=8a";
|
||||
this.Name = AssetLoader.language.get("[filter8activable-name]");
|
||||
this.Desc = AssetLoader.language.get("[filter8activable-desc]");
|
||||
|
@ -111,10 +111,10 @@ public class Filter8Activable extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -179,7 +179,7 @@ public class Filter8Activable extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -40,8 +40,8 @@ public class FilterActivable extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public FilterActivable(Level level) {
|
||||
super(level);
|
||||
public FilterActivable() {
|
||||
super();
|
||||
this.id="=!";
|
||||
this.Name = AssetLoader.language.get("[filteractivable-name]");
|
||||
this.Desc = AssetLoader.language.get("[filteractivable-desc]");
|
||||
|
@ -111,10 +111,10 @@ public class FilterActivable extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -179,7 +179,7 @@ public class FilterActivable extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -40,8 +40,8 @@ public class FilterBig extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public FilterBig(Level level) {
|
||||
super(level);
|
||||
public FilterBig() {
|
||||
super();
|
||||
this.id="=E";
|
||||
this.Name = AssetLoader.language.get("[filterbig-name]");
|
||||
this.Desc = AssetLoader.language.get("[filterbig-desc]");
|
||||
|
@ -111,10 +111,10 @@ public class FilterBig extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -179,7 +179,7 @@ public class FilterBig extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -40,8 +40,8 @@ public class FilterNegative extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public FilterNegative(Level level) {
|
||||
super(level);
|
||||
public FilterNegative() {
|
||||
super();
|
||||
this.id="=-";
|
||||
this.Name = AssetLoader.language.get("[filternegative-name]");
|
||||
this.Desc = AssetLoader.language.get("[filternegative-desc]");
|
||||
|
@ -111,10 +111,10 @@ public class FilterNegative extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -179,7 +179,7 @@ public class FilterNegative extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class FilterPositive extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public FilterPositive(Level level) {
|
||||
super(level);
|
||||
public FilterPositive() {
|
||||
super();
|
||||
this.id="=+";
|
||||
this.Name = AssetLoader.language.get("[filterpositive-name]");
|
||||
this.Desc = AssetLoader.language.get("[filterpositive-desc]");
|
||||
|
@ -110,10 +110,10 @@ public class FilterPositive extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -178,7 +178,7 @@ public class FilterPositive extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -12,7 +12,9 @@ import com.badlogic.gdx.utils.ObjectMap.Entries;
|
|||
import com.badlogic.gdx.utils.ObjectMap.Entry;
|
||||
|
||||
import fr.evolving.assets.AssetLoader;
|
||||
import fr.evolving.automata.Particle.Charge;
|
||||
import fr.evolving.automata.Particle.Orientation;
|
||||
import fr.evolving.automata.Particle.Size;
|
||||
import fr.evolving.automata.Particle.Type;
|
||||
import fr.evolving.automata.Transmuter.CaseType;
|
||||
|
||||
|
@ -47,6 +49,9 @@ public class Grid implements Serializable,Cloneable {
|
|||
|
||||
//Réalise un cycle de simulation dans la grille
|
||||
public void Cycle() {
|
||||
for(Transmuter transmuter:transmuters) {
|
||||
transmuter.ProcessCycle();
|
||||
}
|
||||
for(Particle particle: particles) {
|
||||
Gdx.app.debug("wirechem-Grid", "Grid Cycle -> Particle "+particle.getType()+"/"+particle.getSize()+ " coords:"+particle.getCoordx()+","+particle.getCoordy()+"/"+particle.getOrientation()+" charge:"+particle.getCharge());
|
||||
if (particle.getType()==Type.Photon) {
|
||||
|
@ -60,17 +65,28 @@ public class Grid implements Serializable,Cloneable {
|
|||
Vector2 position=transmuterscoords.get(i);
|
||||
if (GetXY(position.x+all.key.x,position.y+all.key.y).Fiber && position.x+all.key.x==particle.getCoordx() && position.y+all.key.y==particle.getCoordy())
|
||||
if (thecase==CaseType.Fibre||thecase==CaseType.Tout||thecase==CaseType.Fibre_seul) {
|
||||
Gdx.app.debug("wirechem-Grid", "Grid Cycle -> Activation Photon life:"+particle.getLife()+" coords:"+particle.getCoordx()+","+particle.getCoordy()+" Transmuter:"+transmuters.get(i).getName()+" activation:"+transmuters.get(i).getActivationLevel());
|
||||
particle.subLife(transmuters.get(i).getMaxActivationLevel()-transmuters.get(i).getActivationLevel());
|
||||
transmuters.get(i).Activate();
|
||||
Gdx.app.debug("wirechem-Grid", "Grid Cycle -> Activation Photon life:"+particle.getLife()+" coords:"+particle.getCoordx()+","+particle.getCoordy()+" Transmuter:"+transmuters.get(i).getName()+" activation:"+transmuters.get(i).getActivationLevel());
|
||||
int needed=transmuters.get(i).getMaxActivationLevel()-transmuters.get(i).getActivationLevel();
|
||||
Gdx.app.debug("wirechem-Grid", "Grid Cycle -> Activation ? Photon life:"+particle.getLife()+" coords:"+particle.getCoordx()+","+particle.getCoordy()+" Transmuter:"+transmuters.get(i).getName()+" activation:"+transmuters.get(i).getActivationLevel()+" necessaire:"+needed);
|
||||
if (needed<=particle.getLife()) {
|
||||
particle.subLife(needed);
|
||||
transmuters.get(i).Activate();
|
||||
Gdx.app.debug("wirechem-Grid", "Grid Cycle -> Activation OUI Photon life:"+particle.getLife()+" coords:"+particle.getCoordx()+","+particle.getCoordy()+" Transmuter:"+transmuters.get(i).getName()+" activation:"+transmuters.get(i).getActivationLevel());
|
||||
}
|
||||
else
|
||||
Gdx.app.debug("wirechem-Grid", "Grid Cycle -> Activation NON Photon life:"+particle.getLife()+" coords:"+particle.getCoordx()+","+particle.getCoordy()+" Transmuter:"+transmuters.get(i).getName()+" activation:"+transmuters.get(i).getActivationLevel());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!particle.isAlive()) {
|
||||
Gdx.app.debug("wirechem-Particle", "coords:"+particle.getCoordx()+","+particle.getCoordy()+" killed & removed");
|
||||
particles.removeValue(particle, true);
|
||||
}
|
||||
}
|
||||
else if (particle.getType()==Type.Electron) {
|
||||
particle.Next();
|
||||
Transmuter trans=GetXY(particle.getCoordx(),particle.getCoordy()).Transmuter;
|
||||
if (trans!=null && trans.getActivation())
|
||||
trans.Run(particle);
|
||||
}
|
||||
if (!particle.isAlive()) {
|
||||
Gdx.app.debug("wirechem-Particle", "coords:"+particle.getCoordx()+","+particle.getCoordy()+" killed & removed");
|
||||
particles.removeValue(particle, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -79,18 +95,25 @@ public class Grid implements Serializable,Cloneable {
|
|||
public void tiling_particle() {
|
||||
for (int x = 0; x < this.sizeX; x++)
|
||||
for (int y = 0; y < this.sizeY; y++)
|
||||
if (GetXY(x, y).Fiber)
|
||||
GetXY(x, y).Fiber_state = 0;
|
||||
GetXY(x, y).Fiber_state = 0;
|
||||
for(Particle particle: particles) {
|
||||
if (particle.getType()==Type.Photon) {
|
||||
GetXY(particle.getCoordx(), particle.getCoordy()).Fiber_state=1+Math.floorDiv(Particle.PHOTONLIFE-particle.getLife(),Math.floorDiv(Particle.PHOTONLIFE,10));
|
||||
Gdx.app.debug("wirechem-Grid", "Grid Tiling -> Photon state :"+GetXY(particle.getCoordx(), particle.getCoordy()).Fiber_state+":"+particle.getCoordx()+","+particle.getCoordy());
|
||||
}
|
||||
else if (particle.getType()==Type.Electron) {
|
||||
int value=16;
|
||||
if (particle.getCharge()==Charge.Positif) value+=1;
|
||||
if (particle.getCharge()==Charge.Neutre) value+=2;
|
||||
if (particle.getSize()==Size.Petit) value+=3;
|
||||
GetXY(particle.getCoordx(), particle.getCoordy()).Fiber_state+=1000*value;
|
||||
Gdx.app.debug("wirechem-Grid", "Grid Tiling -> Electron state :"+GetXY(particle.getCoordx(), particle.getCoordy()).Fiber_state+":"+particle.getCoordx()+","+particle.getCoordy());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Initialise la simulation pour permettre ensuite de faire des cycles
|
||||
public void Initialize() {
|
||||
public void Initialize(Level level) {
|
||||
particles.clear();
|
||||
this.tiling_particle();
|
||||
particles.add(new Particle(this));
|
||||
|
@ -100,6 +123,8 @@ public class Grid implements Serializable,Cloneable {
|
|||
particles.get(0).setOrientation(Orientation.E);
|
||||
particles.add(new Particle(this));
|
||||
particles.get(1).setType(Type.Electron);
|
||||
particles.get(1).setSize(Size.Gros);
|
||||
particles.get(1).setCharge(Charge.Negatif);
|
||||
particles.get(1).setCoordx(7);
|
||||
particles.get(1).setCoordy(13);
|
||||
particles.get(1).setOrientation(Orientation.O);
|
||||
|
@ -108,10 +133,13 @@ public class Grid implements Serializable,Cloneable {
|
|||
for (int x = 0; x < this.sizeX; x++)
|
||||
for (int y = 0; y < this.sizeY; y++)
|
||||
if (GetXY(x, y).Transmuter!=null) {
|
||||
GetXY(x, y).Transmuter.Unactivate();
|
||||
transmuters.add(GetXY(x, y).Transmuter);
|
||||
transmuterscoords.add(new Vector2(x,y));
|
||||
}
|
||||
for(Transmuter transmuter:transmuters) {
|
||||
transmuter.Unactivate();
|
||||
}
|
||||
if (transmuters.size>0) transmuters.first().AttachLevel(level);
|
||||
}
|
||||
|
||||
//Genère des tiles qui correspondent aux transmuteurs sur la grille
|
||||
|
|
|
@ -40,8 +40,8 @@ public class Insufler100 extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Insufler100(Level level) {
|
||||
super(level);
|
||||
public Insufler100() {
|
||||
super();
|
||||
this.id=">100";
|
||||
this.Name = AssetLoader.language.get("[insufler100-name]");
|
||||
this.Desc = AssetLoader.language.get("[insufler100-desc]");
|
||||
|
@ -123,10 +123,10 @@ public class Insufler100 extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -191,7 +191,7 @@ public class Insufler100 extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Insufler33 extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Insufler33(Level level) {
|
||||
super(level);
|
||||
public Insufler33() {
|
||||
super();
|
||||
this.id=">33";
|
||||
this.Name = AssetLoader.language.get("[insufler33-name]");
|
||||
this.Desc = AssetLoader.language.get("[insufler33-desc]");
|
||||
|
@ -50,8 +50,8 @@ public class Insufler33 extends Transmuter {
|
|||
this.Research = 0;
|
||||
this.Upgrade = null;
|
||||
this.Unlock = new Array<Transmuter>();
|
||||
this.Unlock.add(new Insufler100(null));
|
||||
this.Unlock.add(new Insufler50(null));
|
||||
this.Unlock.add(new Insufler100());
|
||||
this.Unlock.add(new Insufler50());
|
||||
this.showed = true;
|
||||
this.CanUpgradeTemp = true;
|
||||
this.CanUpgradeCycle = false;
|
||||
|
@ -124,10 +124,10 @@ public class Insufler33 extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -192,7 +192,7 @@ public class Insufler33 extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Insufler50 extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Insufler50(Level level) {
|
||||
super(level);
|
||||
public Insufler50() {
|
||||
super();
|
||||
this.id=">50";
|
||||
this.Name = AssetLoader.language.get("[insufler50-name]");
|
||||
this.Desc = AssetLoader.language.get("[insufler50-desc]");
|
||||
|
@ -50,7 +50,7 @@ public class Insufler50 extends Transmuter {
|
|||
this.Research = 120;
|
||||
this.Upgrade = null;
|
||||
this.Unlock = new Array<Transmuter>();
|
||||
this.Unlock.add(new Insufler100(null));
|
||||
this.Unlock.add(new Insufler100());
|
||||
this.showed = false;
|
||||
this.CanUpgradeTemp = true;
|
||||
this.CanUpgradeCycle = false;
|
||||
|
@ -123,10 +123,10 @@ public class Insufler50 extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -191,7 +191,7 @@ public class Insufler50 extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Inverter_I extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Inverter_I(Level level) {
|
||||
super(level);
|
||||
public Inverter_I() {
|
||||
super();
|
||||
this.id="+-";
|
||||
this.Name = AssetLoader.language.get("[inverteri-name]");
|
||||
this.Desc = AssetLoader.language.get("[inverteri-desc]");
|
||||
|
@ -48,7 +48,7 @@ public class Inverter_I extends Transmuter {
|
|||
this.Price = 25;
|
||||
this.Technology = 1;
|
||||
this.Research = 0;
|
||||
this.Upgrade = new Inverter_II(level);
|
||||
this.Upgrade = new Inverter_II();
|
||||
this.Unlock = null;
|
||||
this.showed = true;
|
||||
this.CanUpgradeTemp = true;
|
||||
|
@ -106,10 +106,10 @@ public class Inverter_I extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -174,7 +174,7 @@ public class Inverter_I extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Inverter_II extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Inverter_II(Level level) {
|
||||
super(level);
|
||||
public Inverter_II() {
|
||||
super();
|
||||
this.id="+-+-";
|
||||
this.Name = AssetLoader.language.get("[inverterii-name]");
|
||||
this.Desc = AssetLoader.language.get("[inverterii-desc]");
|
||||
|
@ -105,10 +105,10 @@ public class Inverter_II extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -173,7 +173,7 @@ public class Inverter_II extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Negativer extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Negativer(Level level) {
|
||||
super(level);
|
||||
public Negativer() {
|
||||
super();
|
||||
this.id="-/";
|
||||
this.Name = AssetLoader.language.get("[negativer-name]");
|
||||
this.Desc = AssetLoader.language.get("[negativer-desc]");
|
||||
|
@ -106,10 +106,10 @@ public class Negativer extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -174,7 +174,7 @@ public class Negativer extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Negativer_I extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Negativer_I(Level level) {
|
||||
super(level);
|
||||
public Negativer_I() {
|
||||
super();
|
||||
this.id="-";
|
||||
this.Name = AssetLoader.language.get("[negativeri-name]");
|
||||
this.Desc = AssetLoader.language.get("[negativeri-desc]");
|
||||
|
@ -48,7 +48,7 @@ public class Negativer_I extends Transmuter {
|
|||
this.Price = 50;
|
||||
this.Technology = 4;
|
||||
this.Research = 0;
|
||||
this.Upgrade = new Negativer_II(level);
|
||||
this.Upgrade = new Negativer_II();
|
||||
this.Unlock = null;
|
||||
this.showed = true;
|
||||
this.CanUpgradeTemp = true;
|
||||
|
@ -108,10 +108,10 @@ public class Negativer_I extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -176,7 +176,7 @@ public class Negativer_I extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Negativer_II extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Negativer_II(Level level) {
|
||||
super(level);
|
||||
public Negativer_II() {
|
||||
super();
|
||||
this.id="--";
|
||||
this.Name = AssetLoader.language.get("[negativerii-name]");
|
||||
this.Desc = AssetLoader.language.get("[negativerii-desc]");
|
||||
|
@ -48,7 +48,7 @@ public class Negativer_II extends Transmuter {
|
|||
this.Price = 100;
|
||||
this.Technology = 4;
|
||||
this.Research = 40;
|
||||
this.Upgrade = new Negativer_III(level);
|
||||
this.Upgrade = new Negativer_III();
|
||||
this.Unlock = null;
|
||||
this.showed = false;
|
||||
this.CanUpgradeTemp = true;
|
||||
|
@ -108,10 +108,10 @@ public class Negativer_II extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -176,7 +176,7 @@ public class Negativer_II extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Negativer_III extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Negativer_III(Level level) {
|
||||
super(level);
|
||||
public Negativer_III() {
|
||||
super();
|
||||
this.id="---";
|
||||
this.Name = AssetLoader.language.get("[negativeriii-name]");
|
||||
this.Desc = AssetLoader.language.get("[negativeriii-desc]");
|
||||
|
@ -106,10 +106,10 @@ public class Negativer_III extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -174,7 +174,7 @@ public class Negativer_III extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Neutraliser_I extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Neutraliser_I(Level level) {
|
||||
super(level);
|
||||
public Neutraliser_I() {
|
||||
super();
|
||||
this.id="0";
|
||||
this.Name = AssetLoader.language.get("[neutraliseri-name]");
|
||||
this.Desc = AssetLoader.language.get("[neutraliseri-desc]");
|
||||
|
@ -48,7 +48,7 @@ public class Neutraliser_I extends Transmuter {
|
|||
this.Price = 20;
|
||||
this.Technology = 4;
|
||||
this.Research = 0;
|
||||
this.Upgrade = new Neutraliser_II(level);;
|
||||
this.Upgrade = new Neutraliser_II();;
|
||||
this.Unlock = null;
|
||||
this.showed = true;
|
||||
this.CanUpgradeTemp = true;
|
||||
|
@ -106,10 +106,10 @@ public class Neutraliser_I extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -174,7 +174,7 @@ public class Neutraliser_I extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Neutraliser_II extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Neutraliser_II(Level level) {
|
||||
super(level);
|
||||
public Neutraliser_II() {
|
||||
super();
|
||||
this.id="00";
|
||||
this.Name = AssetLoader.language.get("[neutraliserii-name]");
|
||||
this.Desc = AssetLoader.language.get("[neutraliserii-desc]");
|
||||
|
@ -106,10 +106,10 @@ public class Neutraliser_II extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -174,7 +174,7 @@ public class Neutraliser_II extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Oneway extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Oneway(Level level) {
|
||||
super(level);
|
||||
public Oneway() {
|
||||
super();
|
||||
this.id=">";
|
||||
this.Name = AssetLoader.language.get("[oneway-name]");
|
||||
this.Desc = AssetLoader.language.get("[oneway-desc]");
|
||||
|
@ -50,7 +50,7 @@ public class Oneway extends Transmuter {
|
|||
this.Research = 0;
|
||||
this.Upgrade = null;
|
||||
this.Unlock = new Array<Transmuter>();
|
||||
this.Unlock.add(new distributor(level));
|
||||
this.Unlock.add(new distributor());
|
||||
this.showed = true;
|
||||
this.CanUpgradeTemp = true;
|
||||
this.CanUpgradeCycle = false;
|
||||
|
@ -107,10 +107,10 @@ public class Oneway extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -175,7 +175,7 @@ public class Oneway extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -2,13 +2,14 @@ package fr.evolving.automata;
|
|||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.badlogic.gdx.utils.Array;
|
||||
|
||||
public class Particle {
|
||||
public enum Type {
|
||||
Electron, Photon, Proton, Neutron
|
||||
}
|
||||
public enum Orientation {
|
||||
N, S, E, O, NE, SE, NO, SO
|
||||
N, S, E, O, NE, SE, NO, SO, Fixed, Kill
|
||||
};
|
||||
public enum Size {
|
||||
Gros, Petit
|
||||
|
@ -17,7 +18,7 @@ public class Particle {
|
|||
Positif, Negatif, Neutre
|
||||
};
|
||||
|
||||
public final static int PHOTONLIFE=200;
|
||||
public final static int PHOTONLIFE=250;
|
||||
|
||||
private Orientation oldorientation;
|
||||
private Orientation orientation;
|
||||
|
@ -32,6 +33,7 @@ public class Particle {
|
|||
static private Grid grid;
|
||||
|
||||
public Particle(Grid grid) {
|
||||
this.life=PHOTONLIFE;
|
||||
this.Alive=true;
|
||||
this.type=Type.Electron;
|
||||
this.orientation=Orientation.E;
|
||||
|
@ -141,87 +143,95 @@ public class Particle {
|
|||
this.charge=Charge.Negatif;
|
||||
}
|
||||
|
||||
private Vector2 testorientation(Orientation orientation) {
|
||||
private Vector2 TestOrientation(Orientation orientation, Type type) {
|
||||
int movex=0,movey=0;
|
||||
if (orientation==Orientation.Kill || orientation==Orientation.Fixed) return new Vector2(movex,movey);
|
||||
if (orientation.toString().contains("N")) movey=+1;
|
||||
if (orientation.toString().contains("S")) movey=-1;
|
||||
if (orientation.toString().contains("E")) movex=+1;
|
||||
if (orientation.toString().contains("O")) movex=-1;
|
||||
if (this.grid.GetXY(this.coordX+movex, this.coordY+movey)!=null && this.grid.GetXY(this.coordX+movex, this.coordY+movey).Fiber)
|
||||
return new Vector2(movex,movey);
|
||||
if (this.grid.GetXY(this.coordX+movex, this.coordY+movey)!=null) {
|
||||
if (type==Type.Photon && !this.grid.GetXY(this.coordX+movex, this.coordY+movey).Fiber)
|
||||
return null;
|
||||
if (type==Type.Electron && (!this.grid.GetXY(this.coordX+movex, this.coordY+movey).Copper))
|
||||
return null;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
return new Vector2(movex,movey);
|
||||
}
|
||||
|
||||
private Orientation[] getOrientations(Orientation orientation, Type type) {
|
||||
if (type==Type.Photon) {
|
||||
switch (orientation) {
|
||||
case E:
|
||||
return new Orientation[]{Orientation.E,Orientation.NE,Orientation.SE, Orientation.Kill};
|
||||
case NE:
|
||||
return new Orientation[]{Orientation.NE,Orientation.N,Orientation.E, Orientation.Kill};
|
||||
case N:
|
||||
return new Orientation[]{Orientation.N,Orientation.NE,Orientation.NO, Orientation.Kill};
|
||||
case NO:
|
||||
return new Orientation[]{Orientation.NO,Orientation.N,Orientation.O, Orientation.Kill};
|
||||
case O:
|
||||
return new Orientation[]{Orientation.O,Orientation.NO,Orientation.SO, Orientation.Kill};
|
||||
case SO:
|
||||
return new Orientation[]{Orientation.SO,Orientation.S,Orientation.O, Orientation.Kill};
|
||||
case S:
|
||||
return new Orientation[]{Orientation.S,Orientation.SE,Orientation.SO, Orientation.Kill};
|
||||
case SE:
|
||||
default:
|
||||
return new Orientation[]{Orientation.SE,Orientation.E,Orientation.S, Orientation.Kill};
|
||||
}
|
||||
}
|
||||
else if (type==Type.Electron) {
|
||||
switch (orientation) {
|
||||
case E:
|
||||
return new Orientation[]{Orientation.E,Orientation.N,Orientation.S,Orientation.O,Orientation.Fixed};
|
||||
case N:
|
||||
return new Orientation[]{Orientation.N,Orientation.O,Orientation.E,Orientation.S,Orientation.Fixed};
|
||||
case S:
|
||||
return new Orientation[]{Orientation.S,Orientation.E,Orientation.O,Orientation.N,Orientation.Fixed};
|
||||
case O:
|
||||
return new Orientation[]{Orientation.O,Orientation.N,Orientation.S,Orientation.E,Orientation.Fixed};
|
||||
case Fixed:
|
||||
default:
|
||||
return new Orientation[]{Orientation.N,Orientation.S,Orientation.E,Orientation.O,Orientation.Fixed};
|
||||
}
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
private Orientation[] get_orientations(Orientation orientation) {
|
||||
if (orientation==Orientation.E)
|
||||
return new Orientation[]{Orientation.E,Orientation.NE,Orientation.SE};
|
||||
if (orientation==Orientation.NE)
|
||||
return new Orientation[]{Orientation.NE,Orientation.N,Orientation.E};
|
||||
if (orientation==Orientation.N)
|
||||
return new Orientation[]{Orientation.N,Orientation.NE,Orientation.NO};
|
||||
if (orientation==Orientation.NO)
|
||||
return new Orientation[]{Orientation.NO,Orientation.N,Orientation.O};
|
||||
if (orientation==Orientation.O)
|
||||
return new Orientation[]{Orientation.O,Orientation.NO,Orientation.SO};
|
||||
if (orientation==Orientation.SO)
|
||||
return new Orientation[]{Orientation.SO,Orientation.S,Orientation.O};
|
||||
if (orientation==Orientation.S)
|
||||
return new Orientation[]{Orientation.S,Orientation.SE,Orientation.SO};
|
||||
if (orientation==Orientation.SE)
|
||||
return new Orientation[]{Orientation.SE,Orientation.E,Orientation.S};
|
||||
return new Orientation[]{Orientation.SE,Orientation.E,Orientation.S};
|
||||
}
|
||||
|
||||
public void Next() {
|
||||
this.life++;
|
||||
if (this.life>0) this.life--;
|
||||
if (type==Type.Photon && life==0) this.kill();
|
||||
Vector2 move=null;
|
||||
Orientation neworientation=this.orientation;
|
||||
if (type==Type.Photon) {
|
||||
if (life>=PHOTONLIFE) this.kill();
|
||||
Orientation[] orientations=get_orientations(this.orientation);
|
||||
Vector2 soluce0=testorientation(orientations[0]);
|
||||
Vector2 soluce1=testorientation(orientations[1]);
|
||||
Vector2 soluce2=testorientation(orientations[2]);
|
||||
if (soluce0!=null) {
|
||||
neworientation=orientations[0];
|
||||
move=soluce0;
|
||||
}
|
||||
else if (soluce1!=null && soluce2!=null) {
|
||||
if (orientations[1]==oldorientation) {
|
||||
neworientation=orientations[1];
|
||||
move=soluce1;
|
||||
Orientation[] orientations=getOrientations(this.orientation, type);
|
||||
Array<Orientation> orientations_good=new Array<Orientation>();
|
||||
for(Orientation orientationtest:orientations)
|
||||
if (TestOrientation(orientationtest,type)!=null)
|
||||
orientations_good.add(orientationtest);
|
||||
if (orientations_good.contains(orientation, true))
|
||||
orientation=orientation;
|
||||
else if (orientations_good.contains(oldorientation, true))
|
||||
orientation=oldorientation;
|
||||
else {
|
||||
for(Orientation orientationtest2:orientations_good) {
|
||||
if (orientationtest2==Orientation.Kill) {
|
||||
Gdx.app.debug("wirechem-Particle", "coords:"+this.coordX+","+this.coordY+" killed no place to go");
|
||||
this.kill();
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
neworientation=orientations[2];
|
||||
move=soluce2;
|
||||
else {
|
||||
orientation=orientationtest2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (soluce1!=null) {
|
||||
neworientation=orientations[1];
|
||||
move=soluce1;
|
||||
}
|
||||
else if (soluce2!=null) {
|
||||
neworientation=orientations[2];
|
||||
move=soluce2;
|
||||
}
|
||||
if (move==null)
|
||||
{
|
||||
Gdx.app.debug("wirechem-Particle", "coords:"+this.coordX+","+this.coordY+" killed no place to go");
|
||||
this.kill();
|
||||
}
|
||||
else
|
||||
{
|
||||
Gdx.app.debug("wirechem-Particle", "coords:"+this.coordX+","+this.coordY+" move to "+orientation+":"+move.x+","+move.y+" life:"+this.life);
|
||||
if (orientation!=neworientation)
|
||||
oldorientation=orientation;
|
||||
orientation=neworientation;
|
||||
this.coordX+=move.x;
|
||||
this.coordY+=move.y;
|
||||
}
|
||||
move=TestOrientation(orientation,type);
|
||||
Gdx.app.debug("wirechem-Particle", "coords:"+this.coordX+","+this.coordY+" move to "+orientation+":"+move.x+","+move.y+" life:"+this.life);
|
||||
this.coordX+=move.x;
|
||||
this.coordY+=move.y;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -39,8 +39,8 @@ public class Positiver extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Positiver(Level level) {
|
||||
super(level);
|
||||
public Positiver() {
|
||||
super();
|
||||
this.id="+/";
|
||||
this.Name = AssetLoader.language.get("[positiver-name]");
|
||||
this.Desc = AssetLoader.language.get("[positiver-desc]");
|
||||
|
@ -106,10 +106,10 @@ public class Positiver extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -174,7 +174,7 @@ public class Positiver extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Positiver_I extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Positiver_I(Level level) {
|
||||
super(level);
|
||||
public Positiver_I() {
|
||||
super();
|
||||
this.id="+";
|
||||
this.Name = AssetLoader.language.get("[positiveri-name]");
|
||||
this.Desc = AssetLoader.language.get("[positiveri-desc]");
|
||||
|
@ -48,7 +48,7 @@ public class Positiver_I extends Transmuter {
|
|||
this.Price = 50;
|
||||
this.Technology = 2;
|
||||
this.Research = 0;
|
||||
this.Upgrade = new Positiver_II(level);
|
||||
this.Upgrade = new Positiver_II();
|
||||
this.Unlock = null;
|
||||
this.showed = true;
|
||||
this.CanUpgradeTemp = true;
|
||||
|
@ -108,13 +108,14 @@ public class Positiver_I extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
particle.ChargePositive();
|
||||
}
|
||||
|
||||
public void Unactivate() {
|
||||
|
@ -176,7 +177,7 @@ public class Positiver_I extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,8 +39,8 @@ public class Positiver_II extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Positiver_II(Level level) {
|
||||
super(level);
|
||||
public Positiver_II() {
|
||||
super();
|
||||
this.id="++";
|
||||
this.Name = AssetLoader.language.get("[positiverii-name]");
|
||||
this.Desc = AssetLoader.language.get("[positiverii-desc]");
|
||||
|
@ -48,7 +48,7 @@ public class Positiver_II extends Transmuter {
|
|||
this.Price = 100;
|
||||
this.Technology = 2;
|
||||
this.Research = 40;
|
||||
this.Upgrade = new Positiver_III(level);
|
||||
this.Upgrade = new Positiver_III();
|
||||
this.Unlock = null;
|
||||
this.showed = false;
|
||||
this.CanUpgradeTemp = true;
|
||||
|
@ -108,10 +108,10 @@ public class Positiver_II extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -176,7 +176,7 @@ public class Positiver_II extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -38,8 +38,8 @@ public class Positiver_III extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public Positiver_III(Level level) {
|
||||
super(level);
|
||||
public Positiver_III() {
|
||||
super();
|
||||
this.id="+++";
|
||||
this.Name = AssetLoader.language.get("[positiveriii-name]");
|
||||
this.Desc = AssetLoader.language.get("[positiveriii-desc]");
|
||||
|
@ -105,10 +105,10 @@ public class Positiver_III extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -173,7 +173,7 @@ public class Positiver_III extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -39,10 +39,13 @@ public abstract class Transmuter implements Cloneable, Serializable {
|
|||
public enum Angular {
|
||||
A00, A90, A180, A270
|
||||
};
|
||||
|
||||
protected transient Level level;
|
||||
protected Angular Rotation;
|
||||
|
||||
final static public int ACTIVATION_LIFE=50;
|
||||
|
||||
protected static transient Level level;
|
||||
|
||||
protected Cell cell;
|
||||
protected Angular Rotation;
|
||||
protected boolean temp_showed;
|
||||
protected float temp_UpgradedNrj;
|
||||
protected float temp_UpgradedRayon;
|
||||
|
@ -57,8 +60,19 @@ public abstract class Transmuter implements Cloneable, Serializable {
|
|||
this.temp_UpgradedNrj=temp_UpgradedNrj;
|
||||
}
|
||||
|
||||
public Transmuter(Level level) {
|
||||
this.level = level;
|
||||
public void AttachLevel(Level level) {
|
||||
Transmuter.level=level;
|
||||
}
|
||||
|
||||
public void SetCell(Cell cell) {
|
||||
this.cell=cell;
|
||||
}
|
||||
|
||||
public Cell getCell() {
|
||||
return this.cell;
|
||||
}
|
||||
|
||||
public Transmuter() {
|
||||
this.Rotation = Angular.A00;
|
||||
}
|
||||
|
||||
|
@ -87,7 +101,7 @@ public abstract class Transmuter implements Cloneable, Serializable {
|
|||
public void ProcessCycle() {
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
}
|
||||
|
||||
public void Activate() {
|
||||
|
@ -174,6 +188,13 @@ public abstract class Transmuter implements Cloneable, Serializable {
|
|||
this.SetShowed(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifie que le transmuteur est bien ameliorable
|
||||
*
|
||||
* @param value Point de recherche donnee pour verifier l'amélioration
|
||||
* @return True si l'amelioration est possible
|
||||
* @see Transmuter
|
||||
*/
|
||||
public boolean isUpgradable(int value) {
|
||||
Transmuter transmuter=this.getUpgrade();
|
||||
return transmuter!= null && !transmuter.isShowed() && (transmuter.getResearch()<=value || value==-1);
|
||||
|
|
|
@ -39,8 +39,8 @@ public class distributor extends Transmuter {
|
|||
private static OrderedMap<Vector2, CaseType> Tilestype;
|
||||
private static OrderedMap<Vector2, Integer> Tilesid;
|
||||
|
||||
public distributor(Level level) {
|
||||
super(level);
|
||||
public distributor() {
|
||||
super();
|
||||
this.id="<>";
|
||||
this.Name = AssetLoader.language.get("[distributer-name]");
|
||||
this.Desc = AssetLoader.language.get("[distributer-desc]");
|
||||
|
@ -114,10 +114,10 @@ public class distributor extends Transmuter {
|
|||
this.level.Rayon += TurnRayon * UpgradedRayon;
|
||||
this.level.Nrj += TurnNrj * UpgradedNrj;
|
||||
if (this.Activable)
|
||||
this.ActivationLevel -= 1;
|
||||
if (this.ActivationLevel>0) this.ActivationLevel -= 1;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
public void Run(Particle particle) {
|
||||
this.level.Temp += UsedTemp * UpgradedTemp;
|
||||
this.level.Rayon += UsedRayon * UpgradedRayon;
|
||||
this.level.Nrj += UsedNrj * UpgradedNrj;
|
||||
|
@ -182,7 +182,7 @@ public class distributor extends Transmuter {
|
|||
}
|
||||
|
||||
public int getMaxActivationLevel() {
|
||||
return (int) (10 * this.UpgradedCycle);
|
||||
return (int) (Transmuter.ACTIVATION_LIFE * this.UpgradedCycle);
|
||||
}
|
||||
|
||||
public int getActivationLevel() {
|
||||
|
|
|
@ -862,18 +862,19 @@ public class GameScreen implements Screen {
|
|||
if (worlds.getState()==State.stop) {
|
||||
worlds.simulate();
|
||||
Gdx.app.log("wirechem-GameScreen", "***** Mode run.");
|
||||
worlds.getLevelData().Grid.Initialize();
|
||||
worlds.getLevelData().Grid.Initialize(worlds.getLevelData());
|
||||
worlds.getLevelData().Grid.tiling_particle();
|
||||
RunTimer.start();
|
||||
}
|
||||
RunTimer.start();
|
||||
}
|
||||
|
||||
public void stop_mode() {
|
||||
Gdx.app.log("wirechem-GameScreen", "***** Mode stop.");
|
||||
worlds.stop();
|
||||
worlds.getLevelData().Grid.Initialize();
|
||||
worlds.getLevelData().Grid.Initialize(worlds.getLevelData());
|
||||
worlds.getLevelData().Grid.tiling_particle();
|
||||
RunTimer.stop();
|
||||
map.tempclear(new int[]{3,4,5});
|
||||
}
|
||||
|
||||
public void pause_mode() {
|
||||
|
|
Loading…
Reference in New Issue