Bulwark shield mechanics mostly done

This commit is contained in:
Anuken
2022-01-17 13:39:15 -05:00
parent 396c087072
commit 2d19c7ae97
37 changed files with 237 additions and 38 deletions

View File

@@ -11,6 +11,7 @@ import mindustry.annotations.Annotations.*;
import mindustry.content.TechTree.*;
import mindustry.ctype.*;
import mindustry.entities.*;
import mindustry.entities.abilities.*;
import mindustry.entities.bullet.*;
import mindustry.entities.units.*;
import mindustry.game.*;
@@ -187,6 +188,31 @@ public class TypeIO{
return noMounts;
}
public static Ability[] readAbilities(Reads read, Ability[] abilities){
byte len = read.b();
for(int i = 0; i < len; i++){
float data = read.f();
if(abilities.length > i){
abilities[i].data = data;
}
}
return abilities;
}
public static void writeAbilities(Writes write, Ability[] abilities){
write.b(abilities.length);
for(var a : abilities){
write.f(a.data);
}
}
static final Ability[] noAbilities = {};
public static Ability[] readAbilities(Reads read){
read.skip(read.b());
return noAbilities;
}
public static void writeUnit(Writes write, Unit unit){
write.b(unit == null || unit.isNull() ? 0 : unit instanceof BlockUnitc ? 1 : 2);