Esempio n. 1
0
    public static UnitPreset ReadUnitPreset(string name)
    {
        StreamReader sr   = new StreamReader($"{System.Environment.CurrentDirectory}/{Game.pathToDatabase}/Units/{name}.json");
        string       data = sr.ReadToEnd();

        sr.Close();
        UnitPreset preset = JsonConvert.DeserializeObject <UnitPreset>(data);

        for (int i = 0; i < preset.equipmentSlots.Count; i++)
        {
            preset.equipmentSlots[i].type = Type.GetType(preset.equipmentSlots[i].module);
        }

        for (int i = 0; i < preset.equipment.Count; i++)
        {
            var item = ReadStorablePreset(preset.equipment[i].id);
            preset.equipment[i] = item as Module;
        }

        for (int i = 0; i < preset.inventory.Count; i++)
        {
            var item = ReadStorablePreset(preset.inventory[i].id);
            preset.inventory[i] = item;
        }

        return(preset);
    }
Esempio n. 2
0
 public CreachureStats(UnitPreset preset)
 {
     MaxHealth = Random.Range(preset.MinHeath, preset.MaxHeath + 1);
     Health    = MaxHealth;
     Damage    = Random.Range(preset.MinDamage, preset.MaxDamage + 1);
     Speed     = Random.Range(preset.MinSpeed, preset.MaxSpeed + 1);
     icon      = preset.Icon;
 }
Esempio n. 3
0
 public void Start()
 {
     storage.EquipmentChanged += OnEquipmentChanged;
     if (loadEquipment)
     {
         UnitPreset preset = Functions.ReadUnitPreset(this.preset);
         equipmentSlots.AddRange(preset.equipmentSlots);
         storage.inventory.AddRange(preset.inventory, true);
         storage.equipment.AddRange(preset.equipment, true);
     }
     GetComponent <PlayerController>()?.OnUnitInitialized();
     OnEquipmentChanged(this);
 }
Esempio n. 4
0
 public void AddUnit(UnitPreset unit)
 {
     Enemies.Add(unit);
 }