Example #1
0
        protected override object ReadObject <T>(ES3Reader reader)
        {
            var instance = new UnitSave();

            ReadObject <T>(reader, instance);
            return(instance);
        }
Example #2
0
 public void SetData(UnitSave unitSave)
 {
     health             = unitSave.CurrentHealth;
     transform.position = unitSave.UnitPosition;
     transform.rotation = unitSave.UnitRotation;
     GetComponent <ObjectID>().SetID(unitSave.UnitID);
 }
Example #3
0
    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);
    }