Browse Source

CSV Files, UI

bolt_update
laurids 4 years ago
parent
commit
4f2421e9c3
60 changed files with 4577 additions and 471 deletions
  1. +1323
    -0
      Assets/GWConquest/Animations/Corners.controller
  2. +1
    -1
      Assets/GWConquest/Animations/Corners.controller.meta
  3. +1
    -1
      Assets/GWConquest/Animations/ProductionIcon.controller
  4. +140
    -0
      Assets/GWConquest/Prefabs/Corners.prefab
  5. +1
    -1
      Assets/GWConquest/Prefabs/Corners.prefab.meta
  6. +19
    -0
      Assets/GWConquest/Prefabs/Planet.prefab
  7. +0
    -49
      Assets/GWConquest/Prefabs/UnitClassRegistry.prefab
  8. +1
    -1
      Assets/GWConquest/Resources/Database.meta
  9. +89
    -0
      Assets/GWConquest/Resources/Database/Planets.csv
  10. +2
    -3
      Assets/GWConquest/Resources/Database/Planets.csv.meta
  11. +11
    -0
      Assets/GWConquest/Resources/Database/Ships.csv
  12. +2
    -3
      Assets/GWConquest/Resources/Database/Ships.csv.meta
  13. +8
    -0
      Assets/GWConquest/Resources/UnitIcons.meta
  14. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 1,5.png
  15. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 1,5.png.meta
  16. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 1.png
  17. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 1.png.meta
  18. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 2.png
  19. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 2.png.meta
  20. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 2123.png
  21. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 2123.png.meta
  22. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 22.png
  23. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 22.png.meta
  24. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 3.png
  25. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 3.png.meta
  26. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 321.png
  27. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 321.png.meta
  28. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 4.png
  29. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 4.png.meta
  30. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 5.png
  31. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 5.png.meta
  32. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 6.png
  33. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Ship 6.png.meta
  34. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Tank Medium.png
  35. +0
    -0
      Assets/GWConquest/Resources/UnitIcons/Tank Medium.png.meta
  36. BIN
      Assets/GWConquest/Resources/UnitIcons/placeholder.png
  37. +127
    -0
      Assets/GWConquest/Resources/UnitIcons/placeholder.png.meta
  38. +2263
    -324
      Assets/GWConquest/Scenes/GalaxyMap.unity
  39. +93
    -0
      Assets/GWConquest/Scripts/CSVReader.cs
  40. +1
    -1
      Assets/GWConquest/Scripts/CSVReader.cs.meta
  41. +18
    -2
      Assets/GWConquest/Scripts/District.cs
  42. +29
    -0
      Assets/GWConquest/Scripts/DistrictFactory.cs
  43. +11
    -0
      Assets/GWConquest/Scripts/DistrictFactory.cs.meta
  44. +20
    -0
      Assets/GWConquest/Scripts/DistrictUI.cs
  45. +11
    -0
      Assets/GWConquest/Scripts/DistrictUI.cs.meta
  46. +2
    -0
      Assets/GWConquest/Scripts/GameManager.cs
  47. +5
    -0
      Assets/GWConquest/Scripts/IngameUI.cs
  48. +5
    -0
      Assets/GWConquest/Scripts/Planet.cs
  49. +57
    -0
      Assets/GWConquest/Scripts/PlanetRegistry.cs
  50. +11
    -0
      Assets/GWConquest/Scripts/PlanetRegistry.cs.meta
  51. +18
    -2
      Assets/GWConquest/Scripts/PlanetViewUI.cs
  52. +1
    -1
      Assets/GWConquest/Scripts/Unit.cs
  53. +161
    -16
      Assets/GWConquest/Scripts/UnitClass.cs
  54. +0
    -9
      Assets/GWConquest/Scripts/UnitClassRegistry.cs
  55. +18
    -0
      Assets/GWConquest/Scripts/Util.cs
  56. BIN
      Assets/GWConquest/Textures/Icons/ICON_Soldier_Recruit.png
  57. +128
    -0
      Assets/GWConquest/Textures/Icons/ICON_Soldier_Recruit.png.meta
  58. +0
    -19
      Assets/GWConquest/Units/Cruiser.asset
  59. +0
    -19
      Assets/GWConquest/Units/Fighter.asset
  60. +0
    -19
      Assets/GWConquest/Units/Frigate.asset

+ 1323
- 0
Assets/GWConquest/Animations/Corners.controller
File diff suppressed because it is too large
View File


Assets/GWConquest/Units/Frigate.asset.meta → Assets/GWConquest/Animations/Corners.controller.meta View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: f67831d604221ef40bc290697f5075bf
guid: 5e70562d361616744b69c9cee1da19b4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0

+ 1
- 1
Assets/GWConquest/Animations/ProductionIcon.controller View File

@ -11,7 +11,7 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -2870376458642484759}
m_Position: {x: 200, y: 0, z: 0}
m_Position: {x: 280, y: 80, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []


+ 140
- 0
Assets/GWConquest/Prefabs/Corners.prefab View File

@ -0,0 +1,140 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1738231878797738974
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1738231878797738975}
- component: {fileID: 1738231878797738963}
- component: {fileID: 1738231878797738962}
- component: {fileID: 1738231878797738961}
- component: {fileID: 1738231878797738960}
m_Layer: 5
m_Name: Corners
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1738231878797738975
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1738231878797738974}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1738231878797738963
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1738231878797738974}
m_CullTransparentMesh: 0
--- !u!114 &1738231878797738962
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1738231878797738974}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.6745098}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: b8b23159b4ac83f4884b29ab0d39f75e, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 0
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2
--- !u!114 &1738231878797738961
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1738231878797738974}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 3
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1738231878797738962}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!95 &1738231878797738960
Animator:
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1738231878797738974}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: 5e70562d361616744b69c9cee1da19b4, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorControllerStateOnDisable: 0

Assets/GWConquest/Prefabs/UnitClassRegistry.prefab.meta → Assets/GWConquest/Prefabs/Corners.prefab.meta View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ce18725601da90e44b6088999b4b0976
guid: 48644caf44a9db343acb000000c25522
PrefabImporter:
externalObjects: {}
userData:

+ 19
- 0
Assets/GWConquest/Prefabs/Planet.prefab View File

@ -254,6 +254,7 @@ GameObject:
m_Component:
- component: {fileID: 4678135252407299477}
- component: {fileID: 4678135252407299476}
- component: {fileID: 4437340467061616990}
m_Layer: 0
m_Name: GroundMain
m_TagString: Untagged
@ -290,6 +291,24 @@ MonoBehaviour:
zoneId: 0
attackZone: 0
mainZone: 1
--- !u!114 &4437340467061616990
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4678135252407299479}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3097d18430809bc4db1e8e075e8199a2, type: 3}
m_Name:
m_EditorClassIdentifier:
DefaultSprite: {fileID: 21300000, guid: 3b81d9ff9816c8240b02293797c69234, type: 3}
DistrictName: Primus
Description:
IsCityDistrict: 1
Tier: 1
SpecialUnits: []
--- !u!1 &6190436286784700940
GameObject:
m_ObjectHideFlags: 0


+ 0
- 49
Assets/GWConquest/Prefabs/UnitClassRegistry.prefab View File

@ -1,49 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3853081484115191440
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3853081484115191446}
- component: {fileID: 3853081484115191447}
m_Layer: 0
m_Name: UnitClassRegistry
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3853081484115191446
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3853081484115191440}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -40.8, y: -4.3, z: -713.4}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3853081484115191447
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3853081484115191440}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 20b8ae4ecc01f1340aafc50bb4faeb2b, type: 3}
m_Name:
m_EditorClassIdentifier:
unitClasses:
- {fileID: 11400000, guid: f67831d604221ef40bc290697f5075bf, type: 2}
- {fileID: 11400000, guid: 2e695488eaaece642a61f074dd1eec54, type: 2}
- {fileID: 11400000, guid: 841688f875289d94b9cdcf11abb6cb10, type: 2}

Assets/GWConquest/Units.meta → Assets/GWConquest/Resources/Database.meta View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3a408f586cd03e14dbd851430371a841
guid: 98b0b1013e669864cb266778bb06ac63
folderAsset: yes
DefaultImporter:
externalObjects: {}

+ 89
- 0
Assets/GWConquest/Resources/Database/Planets.csv View File

@ -0,0 +1,89 @@
Name Size Population Structure Types Factory Rating Factory Type Food Rating Civil Rating Quality Rating Alignment Start Faction Terrain Conditions Space Station Shipyard Station Power Sun Colour Special Text Info
Aeculus 1 3 1 Civil, 1 Factory 1x3 Ammo 1x3 Neutral Mild Storms With its planet's surface raveged by murderous Lightning Storms the populace of Aeculus have long since retreated into an old keep inside a hollow mountain, established in a bygone age by a mining company.
Arca 2 10 2 Civil, 2 Factory 2x2 1xAmmo, 1xWeapons 1x9, 1x2 1 Arca Neutral Mountainous none 3 2 1 With the largest population of sentient live, Arca the capitol of the Arcan Merchant Collective is covered in a city jungle with contrasting living standards. The Arcans, a humanoid species with rat-like features of industrius and highly competitous traders have turned the mountainous wastes into a chaotic mess of slums and factories.
Arnough 2 0 (1) Civil , (1) Factory 1x2 - 1x2 None Neutral Mild none Once a republic operation-base, Arnough is an abbandoned backwater world with its already little infrastruture laying in ruins.
Caine's World 2 0 (1) Civil , (1) Food 1x3 1x2 None Republic Mild none Formerly known as Ety-Hammon, a small and unimportant backwater world was the sight of....... In the wake of this decicive victory the planet is now referred to as Caines World after the Republic Remnants Commander Castor Caine.
Daton 3 0 3 Factory 3x3 2xArmour, 1xAmmo Neutral Wythler Khanate Toxic Scrap-Storms, Acid Rain 2 2 1 Once a planet whose surface was covered in dense forests, it's strategic location and ever changing military circumstances have turned this once properous world into a waste covered littered with forges and plagued by azid rain and scrap-storms.
Datonie 2 4 2 Civil, 2 Factory 2x2 Armour, Ammo 1x2 2x2 Yar'kassy Republic Desert Sandstorms, Hot Belonging to the Fiefdom of Yar'Kassy the hot and sandstorm-ridden Desert of Datonie is the functional backbone of the Fiefdoms Industry.
Eden 1 0 (1) Food 1x2 Neutral Neutral Jungle none Far off from civilized Space the untoutched jungles of Edens are a mysterious and hidden place untoutched by the spoils of war.
Elysia 2 4 2 Civil, 1 Factory 1x2 2x2 5 Elysia Elysia Jungle none 4 3 4 The Planet Elysia, a jungle world, inhabited by a culture of warriors and peace-keepers has been grudgingly classified as a big contributor to order and justice since the pre republic era. The eliteist society living in technologically advanced City Domes upon the live threatening tropical paradise world has long since expanded into space and big population centers in space now orbit the planet itself.
Exan 2 8 2 Civil, 1 Factory, 1 Food 1x1 1xWeapons 1x3 1x2 Neutral Neutral Jungle none Deep Jungles bursting and blooming with live of all sorts cover the surface of Exan. Its sentient population of Repiloid Humanoids is engulfed in an ever lasting brood war for survival although some efforts have been taken to pacify the planet only a few Exans traverse the voids beyond their homeworld.
Fankether 1 0 (1) Civil , (1) Food 1x2 1x2 Neutral Neutral Forest none A long way from civilized space, Fankether an untouched beauty awaits the coming settlers ever since space travel allowed for its discovery. Why the planet has never been touched by any form of pioneering isnt known.
Fethaphor 3 9 4 Civil 1x5, 1x2, 2x1 Republic Republic Mild none 4 2 3 The republics Capitol Fethaphor is a beacon of peace and prosperity. Its political leadership is located on the planet. Orbitting the planet is a spaceport of tremendous proportions which supplies the Republic Star Fleet with War its Ships.
Garesen 2 3 3 Civil, 1 Food 1x2 1x3 Neutral Neutral Forest Tunnel Network A tribal people dwell on the lush Forests of Garesen. The planet...
Gargamont 4 10 3 Civil, 1 Factory 1x4 Weapons 1x8, 2x1 Wythler Khanate Wythler Khanate Desert Hot Red On it's wide desert Planes, slums litter the surface of Gargamont, the largest planet in the system. The large and heterogenous population of Abhumans is spread around through enourmus citiy-slums that cover the planet. The hot Climate and unpleasant living standards mark this world as a stained hellhole.
Gargamont Kees 3 6 2 Civil, 1 Food 1x3 1x4, 1x2 Wythler Khanate Wythler Khanate Mild none Red The first moon of the Garamont System, Kees,
Gargamont Rest 3 5 1 Civil, 2 Food 2x2 1x5 Wythler Khanate Wythler Khanate Mild none Red The second moon of the Garamont System, Rest,
Gargamont Tri 2 5 1 Civil, 1 Factory 1x3 Ammo 1x5 Wythler Khanate Wythler Khanate Desert Sandstorms Red The third moon of the Garamont System, Tri,
Gargamont For 2 4 1 Civil, 1 Factory 1x2 Fuel 1x4 Wythler Khanate Wythler Khanate Desert Sandstorms Red The fourth moon of the Garamont System, For,
Gargamont Fiftan 2 3 1 Civil 1x3 Wythler Khanate Wythler Khanate Mild none Red The fifth moon of the Garamont System, Fiftan,
Gargamont Six 2 2 1 Civil 1x2 Wythler Khanate Wythler Khanate Mild none Red The sixth moon of the Garamont System, Six,
Gargamont Septa 1 1 1 Factory 1x1 0 Wythler Khanate Wythler Khanate Mountainous none Red The seventh moon of the Garamont System, Septa,
Honigiah 1 1 1 Civil, 1 Food 1x3 1x1 Neutral Republic Mild none Beeing a primarily agrarian outpost the small Republic world of Honigiah is in located in the ___ Ring and only sparsly populated.
Hothesear 5 0 1 Factory 1x3 Fuel Republic Republic Gas Giant none 3 3 2 As a Gas Giant the population of Hothesear is living in an asortment of geostationary Cloud Stations. The confined life hardened its populace to a tough and industrious kind.
Hotheseer Kees 2 4 2 Civil, 1 Factory 1x3 Weapons 1x3, 1x1 Republic Republic Mild none
Kies 1 4 1 Civil, 1 Factory, 1 Food 1x2 Ammo 1x2 1x4 Voteine Voteine Mild none 3 3 1 In its civilisational success only rivaled by its twin, the planet Kies is a vibrant progressive and temperate place inhabited by an Abhuman populace.
Kronos 1 0 1 Special Stone Excavation Site In Mysteries clad
Khalorg System 3 0
Krustus 1 0 Barren Low Air Mysteries rank around the planet of Krustus.
Krygena 3 5 1 Civil, 3 Factory 1x3, 1x2, 1x1 Weapons, Armour, Ammo 1x5 Republic Republic Mild none As the military strongpoint of the republics Core Worlds, Krygena is a fortified world covered in parade squares, factories and miliatry infrastruture.
Lavarasis 2 0 1 Factory 1x3 Fuel Wythler Khanate Wythler Khanate Lava and Stone Hot Rivers of molten Stone squirm the hardened surface of this unlively world. Lavarasis' Lava Seas emit hot pulses only rivaled by the pyroclastic clouds emitting from its big refineries.
Leb 3 6 1 Civil, 2 Food, 1 Special 2x3 1x6 Neutral Neutral Jungle Production Bonus Slave Trade - Increased Production on nearby worlds A remote world covered by a dense and humid jungle inhabited by a seemingly eusocial race of insectioids. Place, Alignment, Merkmale, Species, Gesellschaft
Menaxurie 3 5 2 Food 2x2 Neutral Neutral Toxic Tunnel Network, Ants eat all da food, Toxic A strange and distant world covered in toxic swamps and peculiar vegetation, inhabited by a species of anthropomorphic Insectoids.
Methaphor 3 7 3 Civil 1x4,1x2,1x1 Republic Neutral Mountainous Core World - when completely under control - buff to sourrounding systems Second only to the capitol, the planet Methaphor, is a republic Core World and its cultural center. The world is littered with cities that cling to mountain ranges and inhabited by large human populace.
Montana 2 3 1 Civil, 2 Factory 2x2 Fuel, Armour 1x3 Neutral Neutral Ice World Snow-Storms, Cold Montana's cold wastelands are a barren and outlandish place only disturbed by a small human settlement alongside two factory complexes. The planets native population of monkey-like cave-dwellers keep a distance from the settlers and protect themselves from the merciless snow-storms by mostly staying undergrounds.
Nemawith 2 1 1 Civil, 1 Factory 1x1 Ammo 1x1 Republic Neutral Desert Sandstorms, Hot While beeing hot sandstorm ridden and far off, the republic inhabitants of Nemawith have found a way to live comfortable live inside huge oasisis.
Nasween 2 0 3 Factory 1x2, 1x3, 1x1 Armour, Ammo, Weapons 5 Wythler Khanate Wythler Khanate Lava and Stone Hot 4 3 3 Vulcanic to its core with gigantic factory complexes the Khanates Industrial Center is a hostile place to all life. Its rough and hot surface flooded with Lava and covered in smokeclouds of artifical and natural origin alike, the planets heart is hammer and anvil alike, feeding the Khanates War Efforts with its brutal and ironclad creations. The Warmachines are sent to distant world from an orbital station that also functions as an enourmos shipyard, beeing the Khanates fleets home harbour.
Noser 7 1 Civil, 2 Food, 1 Factory 1x3 Weapons 2x4 1x7 4 Noser Noser Waterworld Storms, Tides Having relocated their entire civilisation under water, the Amfibious Anhumans of Noser inhabit a stormy waterworld. The Oceans are only seldomly disrupted by stony islands emerging from the tidey waters.
PDG 2 0 1 Special Neutral Neutral Desert Sandstorms, Hot CommSat Station - Better Vision A hot red desert world untoutched but for a single republic listening post is riddled by sandstorms and bears no industrial but strategical worth.
Caer-Bennoq 2 3 2 Civil 1x2, 1x1 Republic Republic Forests none Ruled over by a class of noble lords houses the Free World of Caer-Bennoq is home to men and beast alike. From their Strongholds the feudal knights defend the population from the threat of total annihilation by raveging beasts that dwell in the planet covering forests and prey on the planets human inhabitors.
Rokurant 3 9 4 Civil 1x6, 3x1 3 Rokurant Rokurant Mild none Ruthless Efficiency, Exploation of natural ressources and huge Hive Cities are the defining characteristics of Rokurant. Ruled over by a High-Council of Technocrats the world is home to a big populace.
Ergos 1 0 4 Factory 3x4, 1x3 Armour, Ammo, Weapons, Fuel 3 Rokurant Rokurant Moon Landscape Low Air, Low Gravity 4 4 2 Yellow Rokurants Moon Ergos' low air athmosphere is pierced by gigantic factory cities that are the source of their civilisations wealth. The goods and products are transported between mega lifts into geostationary stations and orbitting shipping docks, home not only to a trading empire but a shipyard of unparralled size.
Sarfotohonia 2 0 Neutral Neutral Moon Landscape
Sartorius Rax 3 6 2 Civil 2x3 Republic Sartorian Syndicate Mild Bad Loyality Sartorius Rax, the Red Jewel is a temperate Planet ruled over by an aristocratic class of bojars and statesmen with an iron fist. It is a well known secret that the corrupt, ruling elite is aided by a large demographic of serfs. The Raxian influence extends to a number of nearby worlds. Their loyality to the Republic is shaky.
Sashuageen 2 0 3 Factory 1x3, 2x1 Weapons, 2xAmmo Republic Neutral Stone none As one of the republics main production centres, Sassuagen is home to a mining operation and an industrial complex that sits upon the planets rocky surface.
Seys Forty 2 0 (1) Food 1x2 Neutral Neutral Swamp Corrosive
Siggi 3 5 2 Civil, 2 Factory 2x3 Fuel, Armour 4 Republic Republic Mild none Inhabtation by generations of stonemasons have shaped the ressource rich world of Siggi into an industrial powerhouse. Drawing from Veins of delicate Crystalstructures, the worth of Siggis mining operations shows itself not only in times of peace but as source of valuable military equipment for planetary defence forces on its neighbouring worlds.
Spice 2 4 4 Civil 4x1 Republic Republic Mountainous, Ravine Cities Production Bonus With its Mountainous Planetscape disrupted only by canyons that dig deep into the planets crust the planet Spice is inhabited by the Cazoons. These cat-like Abhumans dwell in small city states deep inside the planet's ravines and mostly remote from the rest of the galaxy. Although formally part of the Republic, the Cazoon Society is keeping a distance.
Stunteen 2 5 2 Civil, 1 Food 1x2 1x3,1x2 Wythler Khanate Wythler Khanate Stone none WIth its flora reduced to bushes and small trees, the stony surface of this nearly barren planete is home to nomadic abhuman breed, living on the planet and fighting large winged creatures as hunter and prey alike.
Sumpa 4 0 1 Factory, 1 Special 1x4 Fuel Neutral Wythler Khanate Jungle Hot 1 Strategic Ressource: movement bonus A planet-spanning jungle covers the huge planetary surface of Sumpa. Beeing located on a strategic galactic junction and harboring vast quanities of
Teledan 1 0 1 Special Neutral Neutral Swamp Hostile Enviroment Covered in swamps that are inhabited by hostile flora and fauna, Teledan offers little to no planetary value.
Skaeld 2 2 1 Civil, 1 Factory 1x3 Ammo 1x2 Neutral Neutral Ice World Snow-Storms, Cold As a cold and icy world, Tohs is the most abseit republic planet with an operational base on it. Beeing a harsh enviroment for any human settlement, would it not be for the big factory complex to keeps the inhabitants warm at night this nearly uninhabitable place would be empty.
Skaeld II 1 0 1 Factory 1x2 Armour Neural Neutral Ice World Snow-Storms, Cold
Troikn 2 3 2 Civil, 1 Factory 1x2 Weapons 1x2, 1x1 2 Republic Yar'Kassy Steppe Hot Troikn is part the Fiefdom of Yar'Kassy, ruled over by a planetary govenor by the grace of the grand mogul. Its hot steppes are only sparsly populated.and its economic output extends only to military equiment for the armys of the grand vesirs of Yar'Kassy.
Ulfsun 3 1 1 Civil, 2 Food 2x3 3 Neutral Neutral Mild none Ulfsun, a peaceful and fertile grass-world in the ____arm is an exporter of food for the republics densly populated systems near the Core Worlds.
Voteine 3 6 2 Civil, 2 Factory 2x3 Armour, Weapons 2x3 4 Voteine Voteine Mild none In terms of Civilisational Harmony and population-spanning wealth and communal spirit, the Home World of the Voteine People, an Abhuman breed, is unmatched in any neighboring systems and far beyond. The planets self sufficient structures are governed by a democratic and enlightend leadership.
Wyth 2 5 3 Civil, 1 Food 1x3 1x3,2x1 4 Wythler Khanate Wythler Khanate Steppe Event = Population decrease The Steppes of Wyth, Home World to the Wythlers and the Khanates Seat of Power is the cradle of all Wythler Civilisation. The Golden Palace as well as the City of Khanar-Khargan dominates this world as much as Wyth itself domintes all neighboring worlds.Its is the source of supreme authority.
Xonorasis 1 1 1 Civil, 2 Factory 1x1,1x2 Ammo, Fuel 1x1 1 Arca Arca Stone Low Air Exploited to the core by its Arcan Inhabiors, the planet of Xonorasis is made nigh uninhabtale by greedy industrial endevours.
Yeesveer 5 0 - Republic Republic Gas Giant none
Yeesveer Kees 1 0 1 Factory 1x2 Weapons 2 Republic Republic Moon Landscape Low Air, Low Gravity
Yeesveer Rest 2 4 1 Civil, (1) Civil 1x1, 1x3 Republic Republic Mountainous none
Yeesveer Tri 1 0 Republic Republic No Atmosphere
Zami 2 4 2 Civil, 1 Food 1x3 2x2 4 Zami Technocracy Zami Technocracy Mild none While its toxic surface is populated by slaves and automatas the ruling elite of Zami concile in spires of unrivaled grace and technical sophistication. The Zami Technocracy keeps its distance from largerm organisational bodys like the republic or the Khanate, for its menacing and strange makinations are steeped in mystery and viewed with contempt throuout known space.
Zami II 2 3 2 Civil, 1 Factory, 1 Special 1x3 Weapons 1x2,1x1 4 Zami Technocracy Zami Technocracy Mild Unlocks Special (hidden) after alignment is set Cloning Tombs Mirroring the structures found on Zami, its twin planet is striving to step into its foot steps.
Yar'kassy 3 6 3 Civil 1x4,2x1 3 Republic Yar'Kassy Steppe Hot Yar'Kassy, voice of the wind, golden gem of the Fiefdom and home to the Maroon Alcázar
Yarva Primus 2 5 2 Civil Neutral Neutral Mild none While the first Yar'Kassian Pioneers settled Yarva and its moon as a military outpost, it has long since developed into a full flegded Society under the supreme governance of the Yar'Kassy Palace.
Yarva Minoris 1 3 1 Civil, 1 Factory Neutral Neutral Mild none Beeing the moon of Primus, the settlement on minoris is now also the birthplace of many Yar'Kassian Planetary Armourments.
Vestripee
Taurellia
Flynn's World 2 3 2 Civil, 1 Food 1x2 1x2, 1x1 Republic Republic Mild none
Vaiar
Marland
Ahr
Rimspace Station 1 1 1 Special A mysterius religious cult inhabits a Void Station on the edge of known space. It orbits a strange space anomaly and the cult seems to be connected to it in very unsetteling way.
Vesparus 1 Civil, 3 Food 3x3 Republic Republic As the defacto Breadbasket of the Republic, the Planet Vesparus is of vital importance. Its mild planes and gigantic fields are home to generous and friendly kind of settlers whose main Concern is the well beeing of its neighbouring systems. So they think.
Kyralos
Cervis In midnight clad, the surface of Cervis is so seldomly touched by sunlight that the pale people living on it .
Inobria
Chirago
Rythion
Binnisar
Waylen
Gysir
Garsomyr
Ehrlen
Varr
Karth
Sikhara
Ingrim 1 Civil, 2 Factory
Bail Harmonn

Assets/GWConquest/Units/Cruiser.asset.meta → Assets/GWConquest/Resources/Database/Planets.csv.meta View File

@ -1,8 +1,7 @@
fileFormatVersion: 2
guid: 841688f875289d94b9cdcf11abb6cb10
NativeFormatImporter:
guid: 82848fc2ff47b9a4689ea4ea74241a5f
TextScriptImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

+ 11
- 0
Assets/GWConquest/Resources/Database/Ships.csv View File

@ -0,0 +1,11 @@
Full Name,Short Name,Hitpoints,Attack Count,Damage,Penetration,Accuracy,Attack Timer,Armour,Evasion,Movement,Credit Cost,Recruit Cost,Ammo Cost,Fuel Cost,Credit Upkeep,Food Upkeep,Min Factory Tier,Description
,,,,,,in %,in sec,,in %,,,,,,pro sec,pro sec,,
Strike Craft,StrikeCraft,10,1,10,1,90,5,2,50,2,200,10,10,10,2,2,1,Basic strike craft
Frigate,Frigate,10,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,200,10,10,10,2,2,3,Basic strike craft
Cruiser,Cruiser,10,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,200,10,10,10,2,2,3,Basic strike craft
Destroyer,Destroyer,10,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,200,10,10,10,2,2,3,Basic strike craft
Battleship,Battleship,10,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,200,10,10,10,2,2,1,Basic strike craft
Dreadnought,Dreadnought,10,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,200,10,10,10,2,2,1,Basic strike craft
Escort Carrier,EscortCarrier,10,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,200,10,10,10,2,2,1,Basic strike craft
Transport Frigate,TransportFrigate,10,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,200,10,10,10,2,2,2,Basic strike craft
Transport Cruiser,TransportCruiser,10,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,200,10,10,10,2,2,3,Basic strike craft

Assets/GWConquest/Units/Fighter.asset.meta → Assets/GWConquest/Resources/Database/Ships.csv.meta View File

@ -1,8 +1,7 @@
fileFormatVersion: 2
guid: 2e695488eaaece642a61f074dd1eec54
NativeFormatImporter:
guid: edfe6b3ac1426804ca46ada8dcfa22d1
TextScriptImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

+ 8
- 0
Assets/GWConquest/Resources/UnitIcons.meta View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 477d37aaedf8ca34caf5fddc0a9120f3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Assets/GWConquest/Textures/Icons/Ship 1,5.png → Assets/GWConquest/Resources/UnitIcons/Ship 1,5.png View File


Assets/GWConquest/Textures/Icons/Ship 1,5.png.meta → Assets/GWConquest/Resources/UnitIcons/Ship 1,5.png.meta View File


Assets/GWConquest/Textures/Icons/Ship 1.png → Assets/GWConquest/Resources/UnitIcons/Ship 1.png View File


Assets/GWConquest/Textures/Icons/Ship 1.png.meta → Assets/GWConquest/Resources/UnitIcons/Ship 1.png.meta View File


Assets/GWConquest/Textures/Icons/Ship 2.png → Assets/GWConquest/Resources/UnitIcons/Ship 2.png View File


Assets/GWConquest/Textures/Icons/Ship 2.png.meta → Assets/GWConquest/Resources/UnitIcons/Ship 2.png.meta View File


Assets/GWConquest/Textures/Icons/Ship 2123.png → Assets/GWConquest/Resources/UnitIcons/Ship 2123.png View File


Assets/GWConquest/Textures/Icons/Ship 2123.png.meta → Assets/GWConquest/Resources/UnitIcons/Ship 2123.png.meta View File


Assets/GWConquest/Textures/Icons/Ship 22.png → Assets/GWConquest/Resources/UnitIcons/Ship 22.png View File


Assets/GWConquest/Textures/Icons/Ship 22.png.meta → Assets/GWConquest/Resources/UnitIcons/Ship 22.png.meta View File


Assets/GWConquest/Textures/Icons/Ship 3.png → Assets/GWConquest/Resources/UnitIcons/Ship 3.png View File


Assets/GWConquest/Textures/Icons/Ship 3.png.meta → Assets/GWConquest/Resources/UnitIcons/Ship 3.png.meta View File


Assets/GWConquest/Textures/Icons/Ship 321.png → Assets/GWConquest/Resources/UnitIcons/Ship 321.png View File


Assets/GWConquest/Textures/Icons/Ship 321.png.meta → Assets/GWConquest/Resources/UnitIcons/Ship 321.png.meta View File


Assets/GWConquest/Textures/Icons/Ship 4.png → Assets/GWConquest/Resources/UnitIcons/Ship 4.png View File


Assets/GWConquest/Textures/Icons/Ship 4.png.meta → Assets/GWConquest/Resources/UnitIcons/Ship 4.png.meta View File


Assets/GWConquest/Textures/Icons/Ship 5.png → Assets/GWConquest/Resources/UnitIcons/Ship 5.png View File


Assets/GWConquest/Textures/Icons/Ship 5.png.meta → Assets/GWConquest/Resources/UnitIcons/Ship 5.png.meta View File


Assets/GWConquest/Textures/Icons/Ship 6.png → Assets/GWConquest/Resources/UnitIcons/Ship 6.png View File


Assets/GWConquest/Textures/Icons/Ship 6.png.meta → Assets/GWConquest/Resources/UnitIcons/Ship 6.png.meta View File


Assets/GWConquest/Textures/Icons/Tank Medium.png → Assets/GWConquest/Resources/UnitIcons/Tank Medium.png View File


Assets/GWConquest/Textures/Icons/Tank Medium.png.meta → Assets/GWConquest/Resources/UnitIcons/Tank Medium.png.meta View File


BIN
Assets/GWConquest/Resources/UnitIcons/placeholder.png View File

Before After
Width: 180  |  Height: 180  |  Size: 3.2 KiB

+ 127
- 0
Assets/GWConquest/Resources/UnitIcons/placeholder.png.meta View File

@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 661b9a59a7d094b46a5ae1a251989a4b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: 2
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 2
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

+ 2263
- 324
Assets/GWConquest/Scenes/GalaxyMap.unity
File diff suppressed because it is too large
View File


+ 93
- 0
Assets/GWConquest/Scripts/CSVReader.cs View File

@ -0,0 +1,93 @@
using System;
using System.Collections.Generic;
namespace GWConquest
{
public class CSVFile
{
private Dictionary<string, int> headers = new Dictionary<string, int>();
private string[,] data;
public CSVEntry GetEntry(int index)
{
return new CSVEntry(this, index);
}
public int Length
{
get => data.GetLength(0);
}
public class CSVEntry
{
public CSVEntry(CSVFile _file, int _index)
{
file = _file;
index = _index;
}
protected CSVFile file;
protected int index;
public string GetString(string key)
{
int headerIndex = file.headers[key];
return file.data[index, headerIndex].Trim();
}
public int GetInt(string key)
{
return int.Parse(GetString(key));
}
public float GetFloat(string key)
{
return float.Parse(GetString(key));
}
}
public static CSVFile ParseCSV(string csv, int headerLines = 1, char delimiter = ',')
{
string[] lines = csv.Split('\n');
if (lines.Length > headerLines)
{
int lineCount = lines.Length - headerLines;
string[] headers = lines[0].Split(delimiter);
int fieldCount = headers.Length;
if (fieldCount > 0)
{
string[,] data = new string[lineCount, fieldCount];
for (int i = 0; i < lineCount; i++)
{
string[] fields = lines[i + headerLines].Split(delimiter);
if (fields.Length == fieldCount)
{
for(int j = 0; j < fieldCount; j++)
{
data[i, j] = fields[j];
}
}
else throw new FormatException("Wrong number of fields on line " + (i + 1));
}
CSVFile file = new CSVFile
{
data = data
};
for (int j = 0; j < fieldCount; j++)
{
UnityEngine.Debug.LogFormat("added header {0} {1}", headers[j], j);
file.headers.Add(headers[j].Trim(), j);
}
return file;
}
else throw new FormatException("First line is empty!");
}
else throw new FormatException("Not enough lines in CSV file!");
}
}
}

Assets/GWConquest/Scripts/UnitClassRegistry.cs.meta → Assets/GWConquest/Scripts/CSVReader.cs.meta View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 20b8ae4ecc01f1340aafc50bb4faeb2b
guid: 06fe35a0a160f174a926782204a8b0b2
MonoImporter:
externalObjects: {}
serializedVersion: 2

+ 18
- 2
Assets/GWConquest/Scripts/District.cs View File

@ -7,6 +7,10 @@ namespace GWConquest
public Sprite DefaultSprite;
public string DistrictName;
public string Description;
public bool IsCityDistrict;
public Zone Zone { get; private set; }
private Planet planet;
@ -17,7 +21,6 @@ namespace GWConquest
}
public virtual Sprite GetCurrentSprite()
{
return DefaultSprite;
@ -25,7 +28,20 @@ namespace GWConquest
public virtual string GetDistrictName()
{
return DistrictName;
if(IsCityDistrict)
{
return planet.planetName + " " + DistrictName;
}
else return DistrictName;
}
public virtual string GetDescription()
{
if(IsCityDistrict)
{
return planet.PlanetData?.Description;
}
else return Description;
}
}

+ 29
- 0
Assets/GWConquest/Scripts/DistrictFactory.cs View File

@ -0,0 +1,29 @@
using UnityEngine;
using System.Collections.Generic;
using System.Linq;
namespace GWConquest
{
public class DistrictFactory : District
{
public int Tier = 1;
public string[] SpecialUnits;
public IEnumerable<UnitClass> GetAvailableUnitClasses()
{
var classes = UnitClass.AllUnitClasses.Where(uc => uc.MinFactoryTier <= Tier);
var special = SpecialUnits.ToList().ConvertAll(name => UnitClass.FromName(name));
return classes.Union(special);
}
}
public enum FactoryType
{
City,
Infantry,
Armour,
Space
}
}

+ 11
- 0
Assets/GWConquest/Scripts/DistrictFactory.cs.meta View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3097d18430809bc4db1e8e075e8199a2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

+ 20
- 0
Assets/GWConquest/Scripts/DistrictUI.cs View File

@ -0,0 +1,20 @@
using UnityEngine;
using UnityEngine.UI;
namespace GWConquest
{
public class DistrictUI : MonoBehaviour
{
public Text NameText;
public Text DescriptionText;
private District district;
public void SelectDistrict(District d)
{
district = d;
NameText.text = district.GetDistrictName();
DescriptionText.text = district.GetDescription();
}
}
}

+ 11
- 0
Assets/GWConquest/Scripts/DistrictUI.cs.meta View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7df5e14173982b8428ae0788c3a6e13b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

+ 2
- 0
Assets/GWConquest/Scripts/GameManager.cs View File

@ -6,6 +6,8 @@ namespace GWConquest
{
public Color[] PlayerColors;
public UnitClass[] UnitClasses;
private static GameManager _instance;
public static GameManager Instance
{


+ 5
- 0
Assets/GWConquest/Scripts/IngameUI.cs View File

@ -97,6 +97,11 @@ namespace GWConquest
if (!hasHit)
{
DeselectAll();
if(PlanetViewEnabled)
{
PlanetView.Deselect();
}
}
return hasHit;
}


+ 5
- 0
Assets/GWConquest/Scripts/Planet.cs View File

@ -31,6 +31,11 @@ namespace GWConquest
public Transform planetCameraTransform;
public PlanetData PlanetData
{
get => PlanetRegistry.GetPlanetData(gameObject.name);
}
private PlanetIndicatorUI indicatorUI;
public Zone[] GetZones(ZoneType type)


+ 57
- 0
Assets/GWConquest/Scripts/PlanetRegistry.cs View File

@ -0,0 +1,57 @@
using System.Collections.Generic;
using UnityEngine;
namespace GWConquest
{
public class PlanetData
{
public string Name;
public string Description;
public string StartPopulation;
}
public class PlanetRegistry
{
private static Dictionary<string, PlanetData> planetDataMap;
public static PlanetData GetPlanetData(string planetName)
{
if(planetDataMap == null)
{
planetDataMap = new Dictionary<string, PlanetData>();
Load();
}
if (planetDataMap.ContainsKey(planetName))
{
return planetDataMap[planetName];
}
else
{
BoltLog.Warn("Planet {0} not found in planet map!", planetName);
return null;
}
}
private static void Load()
{
BoltLog.Info("Loading Planet Map...");
TextAsset database = Resources.Load<TextAsset>("Database/Planets");
CSVFile csv = CSVFile.ParseCSV(database.text, delimiter: '\t');
for(int i = 0; i < csv.Length; i++)
{
var data = csv.GetEntry(i);
PlanetData planet = new PlanetData
{
Name = data.GetString("Name"),
Description = data.GetString("Text Info"),
StartPopulation = data.GetString("Population")
};
BoltLog.Info("Loaded planet {0}", planet.Name);
planetDataMap.Add(planet.Name, planet);
}
}
}
}

+ 11
- 0
Assets/GWConquest/Scripts/PlanetRegistry.cs.meta View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9ee0ea1e7b57e7d43975fe5da5a996af
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

+ 18
- 2
Assets/GWConquest/Scripts/PlanetViewUI.cs View File

@ -27,7 +27,7 @@ namespace GWConquest
public Transform FleetIcons;
public GameObject GroundPanel;
public DistrictUI GroundPanel;
public FleetPanelUI GroundPlayerFleetPanel;
//public FleetPanelUI GroundEnemyFleetPanel;
@ -173,8 +173,10 @@ namespace GWConquest
{
SpaceIndicatorPanel.SetActive(false);
FleetIcons.gameObject.SetActive(false);
GroundPanel.SetActive(true);
GroundPanel.gameObject.SetActive(true);
GroundPanel.SelectDistrict(selectedDistrict);
/*
Formation[] playerFormations;
Formation[] enemyFormations;
if(selectedDistrict == null)
@ -190,7 +192,21 @@ namespace GWConquest
GroundPlayerFleetPanel.SetFormations(playerFormations);
// GroundEnemyFleetPanel.SetFormations(enemyFormations);
*/
}
public void HideGroundPanel()
{
SpaceIndicatorPanel.SetActive(true);
FleetIcons.gameObject.SetActive(true);
GroundPanel.gameObject.SetActive(false);
}
public void Deselect()
{
selectedDistrict = null;
HideGroundPanel();
}
}
}

+ 1
- 1
Assets/GWConquest/Scripts/Unit.cs View File

@ -12,7 +12,7 @@
}
else
{
state.UnitClass = value.name;
state.UnitClass = value.ShortName;
}
}
}


+ 161
- 16
Assets/GWConquest/Scripts/UnitClass.cs View File

@ -1,11 +1,12 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace GWConquest
{
[CreateAssetMenu]
public class UnitClass : ScriptableObject
[Serializable]
public class UnitClass
{
private static Dictionary<string, UnitClass> classMap;
@ -13,18 +14,108 @@ namespace GWConquest
{
BoltLog.Info("Loading unit classes...");
classMap = new Dictionary<string, UnitClass>();
UnitClassRegistry registry = FindObjectOfType<UnitClassRegistry>();
if(registry == null)
{
Debug.LogError("Fatal: Unit registry not found!");
throw new System.Exception("Fatal: Unit registry not found!");
}
foreach (UnitClass unitClass in registry.unitClasses)
TextAsset shipsDatabase = Resources.Load<TextAsset>("Database/Ships");
LoadDatabase(shipsDatabase, ZoneType.Space);
GameManager.Instance.UnitClasses = classMap.Values.ToArray();
BoltLog.Info("All unit classes loaded.");
}
private static void LoadDatabase(TextAsset asset, ZoneType zoneType)
{
CSVFile csv = CSVFile.ParseCSV(asset.text);
for (int i = 0; i < csv.Length; i++)
{
classMap.Add(unitClass.name, unitClass);
BoltLog.Info("Loaded unit class {0}", unitClass.name);
try
{
var data = csv.GetEntry(i);
UnitClass unitClass = new UnitClass();
unitClass.ShortName = data.GetString("Short Name");
if (unitClass.ShortName == "") continue;
unitClass.FullName = data.GetString("Full Name");
BoltLog.Info("Parsing unit class {0}", unitClass.ShortName);
unitClass.Hitpoints = data.GetInt("Hitpoints");
string[] attackCounts = data.GetString("Attack Count").Split('/');
string[] damages = data.GetString("Damage").Split('/');
string[] penetrations = data.GetString("Penetration").Split('/');
string[] accuracies = data.GetString("Accuracy").Split('/');
string[] attackTimers = data.GetString("Attack Timer").Split('/');
if (Util.AllEqual(attackCounts.Length, damages.Length, penetrations.Length, accuracies.Length, attackTimers.Length))
{
unitClass.WeaponStatsArray = new WeaponStats[attackCounts.Length];
for (int j = 0; j < attackCounts.Length; j++)
{
unitClass.WeaponStatsArray[j] = new WeaponStats
{
AttackCount = int.Parse(attackCounts[j]),
Damage = int.Parse(damages[j]),
Penetration = int.Parse(penetrations[j]),
Accuracy = float.Parse(accuracies[j]),
AttackTimer = float.Parse(attackTimers[j])
};
}
}
else
{
throw new FormatException("Unequal length in weapon stats!");
}
unitClass.Armour = data.GetInt("Armour");
unitClass.Evasion = data.GetFloat("Evasion");
unitClass.Movement = data.GetFloat("Movement");
unitClass.BuildCost = new BuildCost
{
CreditCost = data.GetInt("Credit Cost"),
RecruitCost = data.GetInt("Recruit Cost"),
AmmoCost = data.GetInt("Ammo Cost"),
FuelCost = data.GetInt("Fuel Cost")
};
unitClass.CreditUpkeep = data.GetFloat("Credit Upkeep");
unitClass.FoodUpkeep = data.GetFloat("Food Upkeep");
if(zoneType == ZoneType.Space)
{
unitClass.FactoryType = FactoryType.Space;
}
else
{
switch(data.GetString("Factory Type"))
{
case "City":
unitClass.FactoryType = FactoryType.City;
break;
case "Infantry":
unitClass.FactoryType = FactoryType.Infantry;
break;
case "Armour":
unitClass.FactoryType = FactoryType.Armour;
break;
}
}
unitClass.Description = data.GetString("Description");
unitClass.ZoneType = zoneType;
unitClass.UnitStrength = unitClass.BuildCost.CreditCost;
classMap.Add(unitClass.ShortName, unitClass);
}
catch (Exception ex)
{
BoltLog.Error("Could not parse unit class");
BoltLog.Exception(ex);
}
}
BoltLog.Info("All unit classes loaded.");
}
public static UnitClass FromName(string name)
@ -44,13 +135,67 @@ namespace GWConquest
}
}
public static IEnumerable<UnitClass> AllUnitClasses
{
get => classMap.Values;
}
public string FullName;
public Sprite Sprite;
public string ShortName;
public Sprite Sprite
{
get; private set;
}
public ZoneType ZoneType;
public float UnitStrength;
public float MaxHealth;
public int Hitpoints;
public int Armour;
public float Evasion;
public float Movement;
public WeaponStats[] WeaponStatsArray;
public BuildCost BuildCost;
public float CreditUpkeep;
public float FoodUpkeep;
public int MinFactoryTier = 1;
public FactoryType FactoryType;
public string Description;
private void LoadTexture()
{
Sprite = Resources.Load<Sprite>("UnitIcons/" + ShortName);
if(Sprite == null)
{
Sprite = Resources.Load<Sprite>("UnitIcons/placeholder");
}
}
}
[System.Serializable]
public class WeaponStats
{
public int AttackCount;
public int Damage;
public int Penetration;
public float Accuracy;
public float AttackTimer;
}
[System.Serializable]
public class BuildCost
{
public int CreditCost;
public int RecruitCost;
public int AmmoCost;
public int FuelCost;
}
}

+ 0
- 9
Assets/GWConquest/Scripts/UnitClassRegistry.cs View File

@ -1,9 +0,0 @@
using UnityEngine;
namespace GWConquest
{
public class UnitClassRegistry : MonoBehaviour
{
public UnitClass[] unitClasses;
}
}

+ 18
- 0
Assets/GWConquest/Scripts/Util.cs View File

@ -125,6 +125,24 @@ namespace GWConquest
transform.localScale = Vector3.one;
}
public static bool AllEqual(params int[] arr)
{
if(arr == null || arr.Length < 2)
{
return true;
}
for(int i = 1; i < arr.Length; i++)
{
if(arr[0] != arr[i])
{
return false;
}
}
return true;
}
}
}

BIN
Assets/GWConquest/Textures/Icons/ICON_Soldier_Recruit.png View File

Before After
Width: 133  |  Height: 133  |  Size: 2.6 KiB

+ 128
- 0
Assets/GWConquest/Textures/Icons/ICON_Soldier_Recruit.png.meta View File

@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 37886999ca665794c9a20cebe80d56cc
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: 2
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 2
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

+ 0
- 19
Assets/GWConquest/Units/Cruiser.asset View File

@ -1,19 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 866efe5bcc98fde42bdab9c01ab3b6ba, type: 3}
m_Name: Cruiser
m_EditorClassIdentifier:
FullName: Battlecruiser
Sprite: {fileID: 21300000, guid: ce4e8e58b24032c41813c44cf346ac9c, type: 3}
ZoneType: 0
UnitStrength: 20
MaxHealth: 0

+ 0
- 19
Assets/GWConquest/Units/Fighter.asset View File

@ -1,19 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 866efe5bcc98fde42bdab9c01ab3b6ba, type: 3}
m_Name: Fighter
m_EditorClassIdentifier:
FullName: Fighter Squadron
Sprite: {fileID: 21300000, guid: 52e22bcf1988b2b4da1b4da2ffba5c9d, type: 3}
ZoneType: 0
UnitStrength: 2
MaxHealth: 0

+ 0
- 19
Assets/GWConquest/Units/Frigate.asset View File

@ -1,19 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 866efe5bcc98fde42bdab9c01ab3b6ba, type: 3}
m_Name: Frigate
m_EditorClassIdentifier:
FullName: Frigate Squadron
Sprite: {fileID: 21300000, guid: a725f0b3a4d26a945a5b8ccbcffef516, type: 3}
ZoneType: 0
UnitStrength: 10
MaxHealth: 0

Loading…
Cancel
Save