Initial import

This commit is contained in:
ldbetteridge
2026-03-31 15:59:23 +01:00
commit 58da5d1d71
136 changed files with 10922 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
using UnityEngine;
using EE2Clone.Core;
namespace EE2Clone.Data
{
[CreateAssetMenu(fileName = "NewBuildingData", menuName = "EE2Clone/Building Data")]
public class BuildingDataSO : ScriptableObject
{
[Header("Identity")]
public int Id;
public string BuildingName;
public BuildingType BuildingType;
public Epoch RequiredEpoch;
[Header("Stats")]
public float MaxHealth = 500;
public float LineOfSightRange = 8f;
public float BuildTime = 20f;
[Header("Territory")]
public float TerritoryRadius;
[Header("Population")]
public int ProvidesPopulation;
[Header("Resource Dropoff")]
public bool IsDropoff;
public ResourceType[] AcceptedResourceTypes;
[Header("Production")]
public int[] ProducibleUnitIds;
public int[] ResearchableTechIds;
[Header("Cost")]
public int FoodCost;
public int WoodCost;
public int StoneCost;
public int GoldCost;
public int TinCost;
[Header("Footprint")]
public Vector2Int FootprintSize = new(3, 3);
[Header("Visuals")]
public GameObject Prefab;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: ba7586487d870fb4dbfd31fee37961d4

View File

@@ -0,0 +1,27 @@
using UnityEngine;
namespace EE2Clone.Data
{
[CreateAssetMenu(fileName = "NewCivilizationData", menuName = "EE2Clone/Civilization Data")]
public class CivilizationDataSO : ScriptableObject
{
[Header("Identity")]
public int Id;
public string CivilizationName;
public string Description;
[Header("Starting Bonuses")]
public int BonusFood;
public int BonusWood;
public int BonusStone;
public int BonusGold;
[Header("Stat Modifiers")]
public float InfantryAttackModifier = 1f;
public float RangedAttackModifier = 1f;
public float CavalryAttackModifier = 1f;
public float GatherSpeedModifier = 1f;
public float BuildSpeedModifier = 1f;
public float ResearchSpeedModifier = 1f;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d5e0e074c1ddf1743bdf4ea4688e7441

View File

@@ -0,0 +1,28 @@
using UnityEngine;
using EE2Clone.Core;
namespace EE2Clone.Data
{
[CreateAssetMenu(fileName = "NewEpochData", menuName = "EE2Clone/Epoch Data")]
public class EpochDataSO : ScriptableObject
{
[Header("Identity")]
public Epoch Epoch;
public string EpochName;
public string Description;
[Header("Advance Requirements")]
public int FoodCost;
public int WoodCost;
public int StoneCost;
public int GoldCost;
public int TinCost;
public int[] RequiredTechIds;
public float AdvanceTime = 60f;
[Header("Unlocks")]
public int[] UnlockedBuildingIds;
public int[] UnlockedUnitIds;
public int[] UnlockedTechIds;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1a02854ba574df84d84820e3f8feb651

View File

@@ -0,0 +1,48 @@
using UnityEngine;
using EE2Clone.Core;
namespace EE2Clone.Data
{
[CreateAssetMenu(fileName = "NewTechData", menuName = "EE2Clone/Tech Data")]
public class TechDataSO : ScriptableObject
{
[Header("Identity")]
public int Id;
public string TechName;
public string Description;
public Epoch RequiredEpoch;
[Header("Prerequisites")]
public int[] PrerequisiteTechIds;
[Header("Research")]
public float ResearchTime = 30f;
public int FoodCost;
public int WoodCost;
public int StoneCost;
public int GoldCost;
public int TinCost;
[Header("Effects")]
public TechEffect[] Effects;
}
[System.Serializable]
public struct TechEffect
{
public TechEffectType EffectType;
public UnitClass AffectedUnitClass;
public float Value;
}
public enum TechEffectType
{
AttackBonus,
ArmorBonus,
SpeedBonus,
HealthBonus,
GatherSpeedBonus,
BuildSpeedBonus,
TrainSpeedBonus
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 93cdf2b99ef6a4340ab0635822ff6b95

View File

@@ -0,0 +1,51 @@
using UnityEngine;
using EE2Clone.Core;
namespace EE2Clone.Data
{
[CreateAssetMenu(fileName = "NewUnitData", menuName = "EE2Clone/Unit Data")]
public class UnitDataSO : ScriptableObject
{
[Header("Identity")]
public int Id;
public string UnitName;
public UnitClass UnitClass;
public Epoch RequiredEpoch;
[Header("Stats")]
public float MaxHealth = 100;
public float MoveSpeed = 4f;
public float AttackDamage = 10f;
public float AttackRange = 1.5f;
public float AttackCooldown = 1f;
public float Armor = 1f;
public float LineOfSightRange = 10f;
[Header("Gathering (Citizens only)")]
public int MaxCarryCapacity = 10;
public float GatherSpeed = 1f;
public float BuildSpeed = 1f;
[Header("Cost")]
public int FoodCost;
public int WoodCost;
public int StoneCost;
public int GoldCost;
public int TinCost;
public float TrainTime = 10f;
public int PopulationCost = 1;
[Header("Counter Bonuses")]
public CounterBonus[] CounterBonuses;
[Header("Visuals")]
public GameObject Prefab;
}
[System.Serializable]
public struct CounterBonus
{
public UnitClass TargetClass;
public float Multiplier;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: c618988cd6fa6fe43a54b0e26bfd691d