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); }
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; }
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); }
public void AddUnit(UnitPreset unit) { Enemies.Add(unit); }