added warrior classes
This commit is contained in:
parent
020dbc4be6
commit
436e8b10d0
@ -27,12 +27,28 @@ namespace Data
|
||||
private ItemsData _itemsData;
|
||||
[SerializeField] private string aiDataPath = "AIData";
|
||||
private AIData _aiData;
|
||||
[SerializeField] private string wariorsDataPath = "WariorsData";
|
||||
private WariorsData _wariorsData;
|
||||
|
||||
[SerializeField] private string chosenWeaponDataPath = "ChosenWeapon.json";
|
||||
|
||||
private string pathToLevel => "Data/" + levelName + "/";
|
||||
|
||||
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
|
||||
{
|
||||
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,
|
||||
Building,
|
||||
CaptureAbility,
|
||||
SpecialWeapon
|
||||
SpecialWeapon,
|
||||
SwitchingPlaces
|
||||
}
|
||||
[Serializable]
|
||||
internal class NewItem
|
||||
@ -121,6 +122,7 @@ namespace Editor
|
||||
ItemType.Building => CreateInstance<Building>(),
|
||||
ItemType.CaptureAbility => CreateInstance<CaptureAbility>(),
|
||||
ItemType.SpecialWeapon => CreateInstance<SpecialWeapon>(),
|
||||
ItemType.SwitchingPlaces => CreateInstance<SwitchingPlaces>(),
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(Type), Type, null)
|
||||
};
|
||||
AssetDatabase.CreateAsset(item,$"Assets/Resources/Data/Items/{ItemName}.asset");
|
||||
@ -143,7 +145,8 @@ namespace Editor
|
||||
CreateInstance<MusicData>(),
|
||||
CreateInstance<UIData>(),
|
||||
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