예제 #1
0
 public WorkerInfo(NbtCompound tag)
 {
     this.firstName   = tag.getString("firstName");
     this.lastName    = tag.getString("lastName");
     this.gender      = (EnumGender)tag.getInt("gender");
     this.skinTone    = tag.getInt("skinTone");
     this.hairStyle   = tag.getInt("hairStyle");
     this.personality = Main.instance.personalityRegistry.getElement(tag.getInt(
                                                                         "personality",
                                                                         Main.instance.personalityRegistry.defaultPersonalityId));
     this.payShift = tag.getInt("payShift");
 }
예제 #2
0
        /// <summary>
        /// Reads the object from NBT and sets it's state.
        /// </summary>
        public virtual void readFromNbt(NbtCompound tag)
        {
            // Don't read id from NBT.

            this.transform.position    = tag.getVector3("position");
            this.transform.eulerAngles = tag.getVector3("eulerRotation");
            this.transform.localScale  = tag.getVector3("localScale", Vector3.one);
            this.immutable             = tag.getBool("isImmutable");
            this.guid = new Guid(tag.getString("guid"));
        }
예제 #3
0
        public UnitStats(NbtCompound tag, EntityBaseStats baseStats) : this()
        {
            this.baseStats = baseStats;

            NbtCompound tag1 = tag.getCompound("stats");

            this.firstName      = tag1.getString("firstName");
            this.lastName       = tag1.getString("lastName");
            this.gender         = tag1.getByte("gender") == 1 ? EnumGender.MALE : EnumGender.FEMALE;
            this.characteristic = Characteristic.ALL[tag1.getInt("characteristicID")];

            this.distanceWalked.readFromNbt(tag1);
            this.timeAlive.readFromNbt(tag1);
            this.unitsKilled.readFromNbt(tag1);
            this.buildingsDestroyed.readFromNbt(tag1);
            this.damageDelt.readFromNbt(tag1);
            this.damageTaken.readFromNbt(tag1);
            this.resourcesCollected.readFromNbt(tag1);
            this.buildingsBuilt.readFromNbt(tag1);
            this.repairsDone.readFromNbt(tag1);
        }
예제 #4
0
    public UnitStats(NbtCompound tag, UnitData unitData) : this()
    {
        this.unitData = unitData;

        NbtCompound tag1 = tag.getCompound("stats");

        this.firstName = tag1.getString("firstName");
        this.lastName  = tag1.getString("lastName");
        this.gender    = tag1.getByte("gender") == 1 ? EnumGender.MALE : EnumGender.FEMALE;

        this.distanceWalked.readFromNbt(tag1);
        this.timeAlive.readFromNbt(tag1);
        this.unitsKilled.readFromNbt(tag1);
        this.buildingsDestroyed.readFromNbt(tag1);
        this.damageDelt.readFromNbt(tag1);
        this.damageTaken.readFromNbt(tag1);
        this.resourcesCollected.readFromNbt(tag1);
        this.buildingsBuilt.readFromNbt(tag1);
        this.repairsDone.readFromNbt(tag1);

        this.hunger = tag1.getFloat("hunger", 1f);
        this.sleep  = tag1.getFloat("sleep", 1f);
    }
예제 #5
0
 public void readFromNbt(NbtCompound nbt)
 {
     this.message = nbt.getString("message");
 }
예제 #6
0
 /// <summary>
 /// Creates a new map data from NBT.
 /// </summary>
 public MapData(NbtCompound tag)
 {
     this.saveName = tag.getString("mapName");
     this.seed     = tag.getInt("seed");
 }