protected override object ReadObject <T>(ES3Reader reader) { var instance = new UnitSave(); ReadObject <T>(reader, instance); return(instance); }
public void SetData(UnitSave unitSave) { health = unitSave.CurrentHealth; transform.position = unitSave.UnitPosition; transform.rotation = unitSave.UnitRotation; GetComponent <ObjectID>().SetID(unitSave.UnitID); }
public void SpawnNewRangedUnit(Vector3 optionalPosition = default, UnitSave optionalSave = default) { GameObject newUnit; if (optionalPosition == null) { newUnit = Instantiate(rangedUnit); } else { newUnit = Instantiate(rangedUnit, optionalPosition, Quaternion.identity); } newUnit.transform.SetParent(citizenParent); if (optionalSave != null) { newUnit.GetComponent <FriendlyTroops>().SetData(optionalSave); return; } UnitSave newSave = new UnitSave(); newSave.CurrentHealth = 100; newSave.IsMelee = false; newSave.UnitPosition = newUnit.transform.position; newSave.UnitID = GetRandomID(); newSave.UnitRotation = newUnit.transform.rotation; newUnit.GetComponent <FriendlyTroops>().SetData(newSave); currentSave.AllUnits.Add(newSave); SaveTheGame(currentSave); }