Fixed many network-related bugs
This commit is contained in:
@@ -139,14 +139,14 @@ public class EnemyType {
|
||||
}
|
||||
|
||||
public void move(Enemy enemy){
|
||||
float speed = this.speed + 0.04f * enemy.tier;
|
||||
float range = this.range + enemy.tier * 5;
|
||||
|
||||
if(Net.client() && Net.active()){
|
||||
if(Net.client()){
|
||||
enemy.interpolate(); //TODO? better structure for interpolation
|
||||
return;
|
||||
}
|
||||
|
||||
float speed = this.speed + 0.04f * enemy.tier;
|
||||
float range = this.range + enemy.tier * 5;
|
||||
|
||||
Tile core = world.getCore();
|
||||
|
||||
if(enemy.idletime > maxIdleLife){
|
||||
@@ -194,8 +194,12 @@ public class EnemyType {
|
||||
enemy.move(vec.x * Timers.delta(), vec.y * Timers.delta());
|
||||
|
||||
updateTargeting(enemy, nearCore);
|
||||
|
||||
behavior(enemy);
|
||||
}
|
||||
|
||||
public void behavior(Enemy enemy){}
|
||||
|
||||
public void updateTargeting(Enemy enemy, boolean nearCore){
|
||||
if(enemy.target != null && enemy.target instanceof TileEntity && ((TileEntity)enemy.target).dead){
|
||||
enemy.target = null;
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
package io.anuke.mindustry.entities.enemies;
|
||||
|
||||
public class StandardEnemy {
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package io.anuke.mindustry.entities.enemies.types;
|
||||
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import io.anuke.mindustry.entities.Bullet;
|
||||
import io.anuke.mindustry.entities.BulletType;
|
||||
import io.anuke.mindustry.entities.TileEntity;
|
||||
@@ -9,6 +8,8 @@ import io.anuke.mindustry.entities.enemies.Enemy;
|
||||
import io.anuke.mindustry.entities.enemies.EnemyType;
|
||||
import io.anuke.ucore.util.Tmp;
|
||||
|
||||
import static io.anuke.mindustry.Vars.tilesize;
|
||||
|
||||
public class BlastType extends EnemyType {
|
||||
|
||||
public BlastType() {
|
||||
@@ -22,8 +23,7 @@ public class BlastType extends EnemyType {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void move(Enemy enemy){
|
||||
super.move(enemy);
|
||||
public void behavior(Enemy enemy){
|
||||
|
||||
float range = 10f;
|
||||
Vector2 offset = Tmp.v3.setZero();
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package io.anuke.mindustry.entities.enemies.types;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
import io.anuke.mindustry.entities.BulletType;
|
||||
import io.anuke.mindustry.entities.enemies.Enemy;
|
||||
import io.anuke.mindustry.entities.enemies.EnemyType;
|
||||
@@ -10,6 +9,8 @@ import io.anuke.ucore.core.Effects;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
import io.anuke.ucore.util.Angles;
|
||||
|
||||
import static io.anuke.mindustry.Vars.world;
|
||||
|
||||
public class FortressType extends EnemyType {
|
||||
final int maxSpawn = 6;
|
||||
final float spawnTime = 190;
|
||||
@@ -29,7 +30,7 @@ public class FortressType extends EnemyType {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void move(Enemy enemy){
|
||||
public void behavior(Enemy enemy){
|
||||
if(enemy.distanceTo(world.getCore().worldx(),
|
||||
world.getCore().worldy()) <= 90f){
|
||||
|
||||
@@ -47,8 +48,6 @@ public class FortressType extends EnemyType {
|
||||
enemy.spawned ++;
|
||||
}
|
||||
|
||||
}else {
|
||||
super.move(enemy);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,8 +35,7 @@ public class HealerType extends EnemyType {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void move(Enemy enemy){
|
||||
super.move(enemy);
|
||||
public void behavior(Enemy enemy){
|
||||
|
||||
if(enemy.idletime > 60f*3){ //explode after 3 seconds of stillness
|
||||
explode(enemy);
|
||||
|
||||
Reference in New Issue
Block a user