added warrior classes

This commit is contained in:
dddushesss 2022-02-28 16:23:54 +03:00
parent 020dbc4be6
commit 436e8b10d0
7 changed files with 76 additions and 2 deletions

View File

@ -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

View 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
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8c901c6adaad405f8e9c000e0bf91391
timeCreated: 1645705044

View File

@ -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>()
};
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: c39a83adab894ac79b260b9ab757356a
timeCreated: 1645704769

View File

@ -0,0 +1,16 @@
using HexFiled;
using UnityEngine;
namespace Units.Wariors
{
public class Warior
{
private GameObject _instance;
public GameObject Spawn(HexCell cell)
{
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 16ac3c8b97b647a983f0e87a2b0a56c9
timeCreated: 1645704779