added warrior classes
This commit is contained in:
parent
020dbc4be6
commit
436e8b10d0
@ -27,12 +27,28 @@ namespace Data
|
|||||||
private ItemsData _itemsData;
|
private ItemsData _itemsData;
|
||||||
[SerializeField] private string aiDataPath = "AIData";
|
[SerializeField] private string aiDataPath = "AIData";
|
||||||
private AIData _aiData;
|
private AIData _aiData;
|
||||||
|
[SerializeField] private string wariorsDataPath = "WariorsData";
|
||||||
|
private WariorsData _wariorsData;
|
||||||
|
|
||||||
[SerializeField] private string chosenWeaponDataPath = "ChosenWeapon.json";
|
[SerializeField] private string chosenWeaponDataPath = "ChosenWeapon.json";
|
||||||
|
|
||||||
private string pathToLevel => "Data/" + levelName + "/";
|
private string pathToLevel => "Data/" + levelName + "/";
|
||||||
|
|
||||||
public Weapon ChosenWeapon => WeaponsData.WeaponsList[int.Parse(File.ReadAllText(Application.persistentDataPath + "/" + chosenWeaponDataPath))];
|
public Weapon ChosenWeapon => WeaponsData.WeaponsList[int.Parse(File.ReadAllText(Application.persistentDataPath + "/" + chosenWeaponDataPath))];
|
||||||
|
|
||||||
|
public WariorsData WariorsData
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_wariorsData == null)
|
||||||
|
{
|
||||||
|
_wariorsData = Load<WariorsData>(pathToLevel + wariorsDataPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
return _wariorsData;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public AIData AIData
|
public AIData AIData
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
30
Assets/Scripts/Data/WariorsData.cs
Normal file
30
Assets/Scripts/Data/WariorsData.cs
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using UnityEngine;
|
||||||
|
using Weapons;
|
||||||
|
|
||||||
|
namespace Data
|
||||||
|
{
|
||||||
|
[CreateAssetMenu(fileName = "WariorsData", menuName = "Data/Wariors data")]
|
||||||
|
public class WariorsData : ScriptableObject
|
||||||
|
{
|
||||||
|
[SerializeField] private List<WariorInfo> _wariors;
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public struct WariorInfo
|
||||||
|
{
|
||||||
|
[SerializeField] private GameObject prefab;
|
||||||
|
[SerializeField] private WariorType Type;
|
||||||
|
[SerializeField, ShowIf("hasWeapon")] private Weapon _weapon;
|
||||||
|
private bool hasWeapon => Type != WariorType.Defence;
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum WariorType
|
||||||
|
{
|
||||||
|
Attack,
|
||||||
|
Defence,
|
||||||
|
Both
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Data/WariorsData.cs.meta
Normal file
3
Assets/Scripts/Data/WariorsData.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8c901c6adaad405f8e9c000e0bf91391
|
||||||
|
timeCreated: 1645705044
|
@ -104,7 +104,8 @@ namespace Editor
|
|||||||
Bonus,
|
Bonus,
|
||||||
Building,
|
Building,
|
||||||
CaptureAbility,
|
CaptureAbility,
|
||||||
SpecialWeapon
|
SpecialWeapon,
|
||||||
|
SwitchingPlaces
|
||||||
}
|
}
|
||||||
[Serializable]
|
[Serializable]
|
||||||
internal class NewItem
|
internal class NewItem
|
||||||
@ -121,6 +122,7 @@ namespace Editor
|
|||||||
ItemType.Building => CreateInstance<Building>(),
|
ItemType.Building => CreateInstance<Building>(),
|
||||||
ItemType.CaptureAbility => CreateInstance<CaptureAbility>(),
|
ItemType.CaptureAbility => CreateInstance<CaptureAbility>(),
|
||||||
ItemType.SpecialWeapon => CreateInstance<SpecialWeapon>(),
|
ItemType.SpecialWeapon => CreateInstance<SpecialWeapon>(),
|
||||||
|
ItemType.SwitchingPlaces => CreateInstance<SwitchingPlaces>(),
|
||||||
_ => throw new ArgumentOutOfRangeException(nameof(Type), Type, null)
|
_ => throw new ArgumentOutOfRangeException(nameof(Type), Type, null)
|
||||||
};
|
};
|
||||||
AssetDatabase.CreateAsset(item,$"Assets/Resources/Data/Items/{ItemName}.asset");
|
AssetDatabase.CreateAsset(item,$"Assets/Resources/Data/Items/{ItemName}.asset");
|
||||||
@ -143,7 +145,8 @@ namespace Editor
|
|||||||
CreateInstance<MusicData>(),
|
CreateInstance<MusicData>(),
|
||||||
CreateInstance<UIData>(),
|
CreateInstance<UIData>(),
|
||||||
CreateInstance<UnitData>(),
|
CreateInstance<UnitData>(),
|
||||||
CreateInstance<WeaponsData>()
|
CreateInstance<WeaponsData>(),
|
||||||
|
CreateInstance<WariorsData>()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
3
Assets/Scripts/Units/Wariors.meta
Normal file
3
Assets/Scripts/Units/Wariors.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c39a83adab894ac79b260b9ab757356a
|
||||||
|
timeCreated: 1645704769
|
16
Assets/Scripts/Units/Wariors/Warior.cs
Normal file
16
Assets/Scripts/Units/Wariors/Warior.cs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
using HexFiled;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Units.Wariors
|
||||||
|
{
|
||||||
|
public class Warior
|
||||||
|
{
|
||||||
|
private GameObject _instance;
|
||||||
|
|
||||||
|
|
||||||
|
public GameObject Spawn(HexCell cell)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Units/Wariors/Warior.cs.meta
Normal file
3
Assets/Scripts/Units/Wariors/Warior.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 16ac3c8b97b647a983f0e87a2b0a56c9
|
||||||
|
timeCreated: 1645704779
|
Loading…
x
Reference in New Issue
Block a user