Browse Source

Transport UI - First draft done

bolt_update
laurids 3 years ago
parent
commit
752724ad80
43 changed files with 10341 additions and 15083 deletions
  1. +188
    -0
      Assets/GWConquest/Animations/TransportUIInfoClose.anim
  2. +8
    -0
      Assets/GWConquest/Animations/TransportUIInfoClose.anim.meta
  3. +188
    -0
      Assets/GWConquest/Animations/TransportUIInfoOpen.anim
  4. +8
    -0
      Assets/GWConquest/Animations/TransportUIInfoOpen.anim.meta
  5. +159
    -0
      Assets/GWConquest/Animations/TransportUISide.controller
  6. +8
    -0
      Assets/GWConquest/Animations/TransportUISide.controller.meta
  7. +2825
    -0
      Assets/GWConquest/Prefabs/UI/TransportUI/TransportUISide.prefab
  8. +7
    -0
      Assets/GWConquest/Prefabs/UI/TransportUI/TransportUISide.prefab.meta
  9. +55
    -0
      Assets/GWConquest/Prefabs/UI/TransportUI/UnitIcon.prefab
  10. +8
    -0
      Assets/GWConquest/Prefabs/UI/UnitInfoPanel.meta
  11. +370
    -0
      Assets/GWConquest/Prefabs/UI/UnitInfoPanel/AbilityIcon.prefab
  12. +7
    -0
      Assets/GWConquest/Prefabs/UI/UnitInfoPanel/AbilityIcon.prefab.meta
  13. +276
    -0
      Assets/GWConquest/Prefabs/UI/UnitInfoPanel/EquipmentIcon.prefab
  14. +7
    -0
      Assets/GWConquest/Prefabs/UI/UnitInfoPanel/EquipmentIcon.prefab.meta
  15. +4521
    -0
      Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoPanel.prefab
  16. +7
    -0
      Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoPanel.prefab.meta
  17. +76
    -0
      Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoValueIcon.prefab
  18. +7
    -0
      Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoValueIcon.prefab.meta
  19. +8
    -0
      Assets/GWConquest/Resources/AbilityIcons.meta
  20. BIN
      Assets/GWConquest/Resources/AbilityIcons/HeroMorisWyerly_1.png
  21. +128
    -0
      Assets/GWConquest/Resources/AbilityIcons/HeroMorisWyerly_1.png.meta
  22. BIN
      Assets/GWConquest/Resources/AbilityIcons/HeroMorisWyerly_2.png
  23. +128
    -0
      Assets/GWConquest/Resources/AbilityIcons/HeroMorisWyerly_2.png.meta
  24. +11
    -28
      Assets/GWConquest/Resources/Database/Ships.csv
  25. +165
    -165
      Assets/GWConquest/Resources/Database/Units.csv
  26. +607
    -14851
      Assets/GWConquest/Scenes/GalaxyMap.unity
  27. +3
    -16
      Assets/GWConquest/Scripts/ServerCallbacks.cs
  28. +80
    -5
      Assets/GWConquest/Scripts/UI/TransportUI.cs
  29. +27
    -0
      Assets/GWConquest/Scripts/UI/TransportUIAbilityIcon.cs
  30. +11
    -0
      Assets/GWConquest/Scripts/UI/TransportUIAbilityIcon.cs.meta
  31. +34
    -0
      Assets/GWConquest/Scripts/UI/TransportUIEquipmentIcon.cs
  32. +11
    -0
      Assets/GWConquest/Scripts/UI/TransportUIEquipmentIcon.cs.meta
  33. +24
    -16
      Assets/GWConquest/Scripts/UI/TransportUIUnitIcon.cs
  34. +195
    -0
      Assets/GWConquest/Scripts/UI/UnitInfoPanel.cs
  35. +11
    -0
      Assets/GWConquest/Scripts/UI/UnitInfoPanel.cs.meta
  36. +5
    -1
      Assets/GWConquest/Scripts/Unit.cs
  37. +22
    -0
      Assets/GWConquest/Scripts/UnitClass.cs
  38. BIN
      Assets/GWConquest/Textures/UI/A_Cityscape3.png
  39. +128
    -0
      Assets/GWConquest/Textures/UI/A_Cityscape3.png.meta
  40. BIN
      Assets/Photon/PhotonBolt/assemblies/bolt.user.dll
  41. BIN
      Assets/Photon/PhotonBolt/assemblies/bolt.user.dll.mdb
  42. +17
    -0
      Assets/Photon/PhotonBolt/project.json
  43. +1
    -1
      Packages/packages-lock.json

+ 188
- 0
Assets/GWConquest/Animations/TransportUIInfoClose.anim View File

@ -0,0 +1,188 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TransportUIInfoClose
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: InfoPanel
classID: 1
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_SizeDelta.y
path: InfoPanel
classID: 224
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -220
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_SizeDelta.y
path: MainPanel
classID: 224
script: {fileID: 0}
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 3855866941
attribute: 2086281974
script: {fileID: 0}
typeID: 1
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 3855866941
attribute: 38095219
script: {fileID: 0}
typeID: 224
customType: 28
isPPtrCurve: 0
- serializedVersion: 2
path: 1544240337
attribute: 38095219
script: {fileID: 0}
typeID: 224
customType: 28
isPPtrCurve: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: InfoPanel
classID: 1
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_SizeDelta.y
path: InfoPanel
classID: 224
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -220
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_SizeDelta.y
path: MainPanel
classID: 224
script: {fileID: 0}
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

+ 8
- 0
Assets/GWConquest/Animations/TransportUIInfoClose.anim.meta View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 96bdc2f66e5728841b376fbb2bfc8ad2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

+ 188
- 0
Assets/GWConquest/Animations/TransportUIInfoOpen.anim View File

@ -0,0 +1,188 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TransportUIInfoOpen
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 230
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_SizeDelta.y
path: InfoPanel
classID: 224
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -460
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_SizeDelta.y
path: MainPanel
classID: 224
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: InfoPanel
classID: 1
script: {fileID: 0}
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 3855866941
attribute: 2086281974
script: {fileID: 0}
typeID: 1
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 3855866941
attribute: 38095219
script: {fileID: 0}
typeID: 224
customType: 28
isPPtrCurve: 0
- serializedVersion: 2
path: 1544240337
attribute: 38095219
script: {fileID: 0}
typeID: 224
customType: 28
isPPtrCurve: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 230
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_SizeDelta.y
path: InfoPanel
classID: 224
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -460
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_SizeDelta.y
path: MainPanel
classID: 224
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: InfoPanel
classID: 1
script: {fileID: 0}
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

+ 8
- 0
Assets/GWConquest/Animations/TransportUIInfoOpen.anim.meta View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 318a229377943d64cb0af8b6f6ff1f71
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

+ 159
- 0
Assets/GWConquest/Animations/TransportUISide.controller View File

@ -0,0 +1,159 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1102 &-2498974092032228879
AnimatorState:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TransportUIInfoClose
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 96bdc2f66e5728841b376fbb2bfc8ad2, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-368905810309921329
AnimatorState:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TransportUIInfoOpen
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 318a229377943d64cb0af8b6f6ff1f71, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-108939119096001163
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: InfoPanelOpen
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -368905810309921329}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 0
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TransportUISide
serializedVersion: 5
m_AnimatorParameters:
- m_Name: InfoPanelOpen
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: 5349159754178745519}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1107 &5349159754178745519
AnimatorStateMachine:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -368905810309921329}
m_Position: {x: 360, y: -70, z: 0}
- serializedVersion: 1
m_State: {fileID: -2498974092032228879}
m_Position: {x: 360, y: 110, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions:
- {fileID: -108939119096001163}
- {fileID: 6040725874461699117}
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -2498974092032228879}
--- !u!1101 &6040725874461699117
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: InfoPanelOpen
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -2498974092032228879}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 0

+ 8
- 0
Assets/GWConquest/Animations/TransportUISide.controller.meta View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 79351b2060b839149893385d72f31870
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

+ 2825
- 0
Assets/GWConquest/Prefabs/UI/TransportUI/TransportUISide.prefab
File diff suppressed because it is too large
View File


+ 7
- 0
Assets/GWConquest/Prefabs/UI/TransportUI/TransportUISide.prefab.meta View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0a9a2b72bd5be884c8276a43d88a0d42
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 55
- 0
Assets/GWConquest/Prefabs/UI/TransportUI/UnitIcon.prefab View File

@ -160,6 +160,7 @@ GameObject:
- component: {fileID: 7040377985677661732} - component: {fileID: 7040377985677661732}
- component: {fileID: 7040377985677660403} - component: {fileID: 7040377985677660403}
- component: {fileID: -4965173851359396094} - component: {fileID: -4965173851359396094}
- component: {fileID: 4337887289324970672}
m_Layer: 5 m_Layer: 5
m_Name: UnitIcon m_Name: UnitIcon
m_TagString: Untagged m_TagString: Untagged
@ -242,6 +243,60 @@ MonoBehaviour:
healthyColor: {r: 1, g: 1, b: 1, a: 0.8784314} healthyColor: {r: 1, g: 1, b: 1, a: 0.8784314}
mediumColor: {r: 1, g: 0.7411765, b: 0, a: 0.8784314} mediumColor: {r: 1, g: 0.7411765, b: 0, a: 0.8784314}
criticalColor: {r: 0.8980392, g: 0.15686275, b: 0.15686275, a: 0.8784314} criticalColor: {r: 0.8980392, g: 0.15686275, b: 0.15686275, a: 0.8784314}
--- !u!114 &4337887289324970672
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7040377985677661857}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
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: 7040377985677660403}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: -4965173851359396094}
m_MethodName: OnClick
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &8853781976336479713 --- !u!1 &8853781976336479713
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0


+ 8
- 0
Assets/GWConquest/Prefabs/UI/UnitInfoPanel.meta View File

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

+ 370
- 0
Assets/GWConquest/Prefabs/UI/UnitInfoPanel/AbilityIcon.prefab View File

@ -0,0 +1,370 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2472028539208066908
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7511228156148889474}
- component: {fileID: 7742541721325741977}
m_Layer: 5
m_Name: AbilityIcon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7511228156148889474
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2472028539208066908}
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:
- {fileID: 7901795799430344393}
- {fileID: 7901795799750650281}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -31.119003}
m_SizeDelta: {x: -19.999992, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &7742541721325741977
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2472028539208066908}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7b0a5bbda30ec5a4d833096850f76fea, type: 3}
m_Name:
m_EditorClassIdentifier:
AbilityIcon: {fileID: 7901795800221431334}
AbilityName: {fileID: 7901795799750650280}
--- !u!1 &7901795799430344398
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7901795799430344393}
- component: {fileID: 7901795799430344394}
- component: {fileID: 7901795799430344395}
- component: {fileID: 7901795799430344392}
m_Layer: 5
m_Name: IconBackground (2)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7901795799430344393
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795799430344398}
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:
- {fileID: 7901795800221431335}
- {fileID: 7901795800006161029}
m_Father: {fileID: 7511228156148889474}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 40, y: 40}
m_Pivot: {x: 0, y: 1}
--- !u!222 &7901795799430344394
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795799430344398}
m_CullTransparentMesh: 0
--- !u!114 &7901795799430344395
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795799430344398}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.156, g: 0.156, b: 0.156, a: 0.49019608}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: c5c5d1f6b8fa0404ca44f3ea7c937909, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7901795799430344392
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795799430344398}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShowMaskGraphic: 1
--- !u!1 &7901795799750650286
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7901795799750650281}
- component: {fileID: 7901795799750650283}
- component: {fileID: 7901795799750650280}
m_Layer: 5
m_Name: AbilityName
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7901795799750650281
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795799750650286}
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: 7511228156148889474}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 60, y: 0}
m_SizeDelta: {x: -60, y: 0}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &7901795799750650283
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795799750650286}
m_CullTransparentMesh: 0
--- !u!114 &7901795799750650280
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795799750650286}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: c47f9c9ae53006b46bef8b5c48a002a5, type: 3}
m_FontSize: 25
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 56
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Strike from the Storm
--- !u!1 &7901795800006161034
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7901795800006161029}
- component: {fileID: 7901795800006161031}
- component: {fileID: 7901795800006161028}
m_Layer: 5
m_Name: IconBorder
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7901795800006161029
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795800006161034}
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: 7901795799430344393}
m_RootOrder: 1
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.0000009536743, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7901795800006161031
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795800006161034}
m_CullTransparentMesh: 0
--- !u!114 &7901795800006161028
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795800006161034}
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.69411767}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 9d02af9561347c349986baae6fb1fa27, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &7901795800221431332
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7901795800221431335}
- component: {fileID: 7901795800221431329}
- component: {fileID: 7901795800221431334}
m_Layer: 5
m_Name: Icon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7901795800221431335
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795800221431332}
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: 7901795799430344393}
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: -10, y: -10}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7901795800221431329
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795800221431332}
m_CullTransparentMesh: 0
--- !u!114 &7901795800221431334
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7901795800221431332}
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.69411767}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: c35a2d7adbc14954dbb48f0fc003a9f7, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

+ 7
- 0
Assets/GWConquest/Prefabs/UI/UnitInfoPanel/AbilityIcon.prefab.meta View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1a62b0361c965ac43bb89a11568fcfe4
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 276
- 0
Assets/GWConquest/Prefabs/UI/UnitInfoPanel/EquipmentIcon.prefab View File

@ -0,0 +1,276 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4898807016169764122
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7704009144077801147}
- component: {fileID: 7171508066988565753}
- component: {fileID: 8378422354943545761}
m_Layer: 5
m_Name: Image (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7704009144077801147
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4898807016169764122}
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: 8157905562050262842}
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: -7.6000004, y: -7.5999994}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7171508066988565753
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4898807016169764122}
m_CullTransparentMesh: 0
--- !u!114 &8378422354943545761
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4898807016169764122}
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}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
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: 1.25
--- !u!1 &8157905561679277878
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8157905561679277881}
- component: {fileID: 8157905561679277883}
- component: {fileID: 8157905561679277880}
m_Layer: 5
m_Name: ItemSprite
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &8157905561679277881
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8157905561679277878}
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: 7968189427910553377}
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 &8157905561679277883
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8157905561679277878}
m_CullTransparentMesh: 0
--- !u!114 &8157905561679277880
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8157905561679277878}
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: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &8157905562050262843
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8157905562050262842}
- component: {fileID: 8157905562050262844}
- component: {fileID: 8157905562050262845}
- component: {fileID: 8769226603934121929}
m_Layer: 5
m_Name: EquipmentIcon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8157905562050262842
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8157905562050262843}
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:
- {fileID: 7704009144077801147}
- {fileID: 7968189427910553377}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 5.399048, y: -3.4900513}
m_SizeDelta: {x: 40, y: 40}
m_Pivot: {x: 0, y: 1}
--- !u!222 &8157905562050262844
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8157905562050262843}
m_CullTransparentMesh: 0
--- !u!114 &8157905562050262845
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8157905562050262843}
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: 0.383, g: 0.383, b: 0.383, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
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 &8769226603934121929
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8157905562050262843}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0997364b5fdc4d94b9e5f4d3fa71e94f, type: 3}
m_Name:
m_EditorClassIdentifier:
Icon: {fileID: 8157905561679277880}
--- !u!1 &8537497945425628540
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7968189427910553377}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7968189427910553377
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8537497945425628540}
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:
- {fileID: 8157905561679277881}
m_Father: {fileID: 8157905562050262842}
m_RootOrder: 1
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: -12, y: -12}
m_Pivot: {x: 0.5, y: 0.5}

+ 7
- 0
Assets/GWConquest/Prefabs/UI/UnitInfoPanel/EquipmentIcon.prefab.meta View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9550621bc537afe458470cf7ec4e49d8
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 4521
- 0
Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoPanel.prefab
File diff suppressed because it is too large
View File


+ 7
- 0
Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoPanel.prefab.meta View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 28b42667fbb42da489b3b9151b59b472
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 76
- 0
Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoValueIcon.prefab View File

@ -0,0 +1,76 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &7541130419680964748
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7541130419680964749}
- component: {fileID: 7541130419680964747}
- component: {fileID: 7541130419680964746}
m_Layer: 5
m_Name: Image (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7541130419680964749
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7541130419680964748}
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: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 20, y: -19.999992}
m_SizeDelta: {x: 40, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7541130419680964747
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7541130419680964748}
m_CullTransparentMesh: 0
--- !u!114 &7541130419680964746
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7541130419680964748}
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: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 2bfef1999cd2b714fba492ffd49eb356, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

+ 7
- 0
Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoValueIcon.prefab.meta View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 12f3a6f1f9c4a274883c016ebe2c9065
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

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

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

BIN
Assets/GWConquest/Resources/AbilityIcons/HeroMorisWyerly_1.png View File

Before After
Width: 40  |  Height: 40  |  Size: 910 B

+ 128
- 0
Assets/GWConquest/Resources/AbilityIcons/HeroMorisWyerly_1.png.meta View File

@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 6577528361ce5ca47b4e46f5b4d21bc2
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:

BIN
Assets/GWConquest/Resources/AbilityIcons/HeroMorisWyerly_2.png View File

Before After
Width: 40  |  Height: 40  |  Size: 1.0 KiB

+ 128
- 0
Assets/GWConquest/Resources/AbilityIcons/HeroMorisWyerly_2.png.meta View File

@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 86d5b2d7073d26345bad7ff2143efa6b
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:

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

@ -1,28 +1,11 @@
Full Name,Short Name,Hitpoints,Shields,Shield Regenerate,Attack Count,Damage,Penetration,Accuracy,Attack Timer,Armour,Evasion,Movement,Size,Credit Cost,Recruit Cost,Ammo Cost,Fuel Cost,Build Time,Credit Upkeep,Food Upkeep,Min Factory Tier,Description
,,,,,,,,in %,in sec,,in %,,,,,,,in sec,pro sec,pro sec,,
Strike Craft,StrikeCraft,10,10,3,1,10,1,90,5,2,50,2,3,200,10,10,10,10,2,2,1,Basic strike craft
Frigate,Frigate,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,200,10,10,10,10,2,2,3,Basic strike craft
Cruiser,Cruiser,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,200,10,10,10,10,2,2,3,Basic strike craft
Destroyer,Destroyer,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,200,10,10,10,10,2,2,3,Basic strike craft
Battleship,Battleship,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,200,10,10,10,10,2,2,1,Basic strike craft
Dreadnought,Dreadnought,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,200,10,10,10,10,2,2,1,Basic strike craft
Escort Carrier,EscortCarrier,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,200,10,10,10,10,2,2,1,Basic strike craft
Transport Frigate,TransportFrigate,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,200,10,10,10,10,2,2,2,Basic strike craft
Transport Cruiser,TransportCruiser,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,200,10,10,10,10,2,2,3,Basic strike craft
,,,,,,,,,,,,,,,,,,,,,,
Ship Names:,,,,,,,,,,,,,,,,,,,,,,
Dreaded Mauler,,,,,,,,,,,,,,,,,,,,,,
Cursed Prince,,,,,,,,,,,,,,,,,,,,,,
Avenging Son,,,,,,,,,,,,,,,,,,,,,,
Unremembered Empire,,,,,,,,,,,,,,,,,,,,,,
Ravager,,,,,,,,,,,,,,,,,,,,,,
Silent Night,,,,,,,,,,,,,,,,,,,,,,
Harrowing Hate,,,,,,,,,,,,,,,,,,,,,,
Salvation in Death,,,,,,,,,,,,,,,,,,,,,,
Edgelords of Sasel,,,,,,,,,,,,,,,,,,,,,,
Boomers just wanna Grill,,,,,,,,,,,,,,,,,,,,,,
Serpents Tail,,,,,,,,,,,,,,,,,,,,,,
Sunspear,,,,,,,,,,,,,,,,,,,,,,
Invincible Hand,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,
Enteraktionen! sind A,,,,,,,,,,,,,,,,,,,,,,
Full Name,Short Name,Hitpoints,Shields,Shield Regenerate,Attack Count,Damage,Penetration,Accuracy,Attack Timer,Armour,Evasion,Movement,Size,Equipment Slots,Inventory Slots,Credit Cost,Recruit Cost,Ammo Cost,Fuel Cost,Build Time,Credit Upkeep,Food Upkeep,Min Factory Tier,S-P Transporter,Transport Capacity,Boarding Ships,Description
,,,,,,,,in %,in sec,,in %,,,,,,,,,in sec,pro sec,pro sec,,,,,
Strike Craft,StrikeCraft,10,10,3,1,10,1,90,5,2,50,2,3,4,6,200,10,10,10,10,2,2,1,,,,Basic strike craft
Frigate,Frigate,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,4,6,200,10,10,10,10,2,2,3,,,,Basic strike craft
Cruiser,Cruiser,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,4,6,200,10,10,10,10,2,2,3,,,,Basic strike craft
Destroyer,Destroyer,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,4,6,200,10,10,10,10,2,2,3,,,,Basic strike craft
Battleship,Battleship,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,4,6,200,10,10,10,10,2,2,1,,,,Basic strike craft
Dreadnought,Dreadnought,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,4,6,200,10,10,10,10,2,2,1,,,,Basic strike craft
Escort Carrier,EscortCarrier,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,4,6,200,10,10,10,10,2,2,1,,,,Basic strike craft
Transport Frigate,TransportFrigate,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,4,6,200,10,10,10,10,2,2,2,,,,Basic strike craft
Transport Cruiser,TransportCruiser,10,10,3,1/2/3,10/20/30,1/1/1,95/80/50,1/2/1,2,50,2,20,4,6,200,10,10,10,10,2,2,3,,,,Basic strike craft

+ 165
- 165
Assets/GWConquest/Resources/Database/Units.csv View File

@ -1,165 +1,165 @@
Full Name,Short Name,Factory Type,Unit Type,Hitpoints,Attack Count,Damage,Penetration,Accuracy,Armour,Shields,Shield Regenerate,Evasion,Movement,Size,Morale,Defence Bonus,Abilities,Credit Cost,Recruit Cost,Ammo Cost,Fuel Cost,Build Time,Credit Upkeep,Food Upkeep,Description
Anti Tank Gun,AntiTankGun,Armour,Cannon,30,1,18,5,0.8,1,0,,0,0.5,6,,,,,,,,1,,,
Artillery Gun,ArtilleryGun,Armour,Cannon,24,1,22,1,0.4,1,0,,0,0.5,6,,,,,,,,1,,,
Artillery Tank,ArtilleryTank,Armour,Vehicle,60,1,22,1,0.5,1,0,,0,3,10,,,,,,,,1,,,
Flak Cannon,FlakCannon,Armour,Cannon,20,6,5,0.5,0.7,1,0,,0,0.5,7,,,,,,,,1,,,
Flak Truck,FlakTruck,Armour,Vehicle,20,5,3,2,0.6,0.5,0,,0,4,8,,,,,,,,1,,,
Tekki Truck,TekkiTruck,City,Vehicle,20,1,6,2,0.4,0.5,0,,0,4,8,,,,,,,,1,,,
Anti Tank Truck,AntiTankTruck,Armour,Vehicle,20,1,8,3,0.7,0.5,0,,0,4,8,,,,,,,,1,,,
Flak Halftrack,FlakHalftrack,Armour,Vehicle,20,5,5,0.5,0.65,1,0,,0,3,8,,,,,,,,1,,,
Heavy Anti Tank Gun,HeavyAntiTankGun,Armour,Cannon,40,1,25,6,0.8,1,0,,0,0.3,6,,,,,,,,1,,,
Heavy Artillery Gun,HeavyArtilleryGun,Armour,Cannon,35,1,30,1.5,0.4,1,0,,0,0.3,6,,,,,,,,1,,,
Heavy Rocket Artillery,HeavyRocketArtillery,Armour,Cannon,35,3,20,1.5,0.18,1,0,,0,0.3,7,,,,,,,,1,,,
Heavy Tank,HeavyTank,Armour,Vehicle,120,1/4,15/4,4/2,0.6/0.6,4,0,,0,2.5,14,,,,1600,,,,1,,,
Light Anti Tank Gun,LightAntiTankGun,Armour,Cannon,20,2,8,3,0.7,1,0,,0,0.5,6,,,,,,,,1,,,
Light Artillery Gun,LightArtilleryGun,Armour,Cannon,20,2,12,1,0.45,1,0,,0,0.5,6,,,,,,,,1,,,
Light Tank,LightTank,Armour,Vehicle,60,3/5,5/4,2/1,0.6/0.6,2,0,,0,3,10,,,,1000,,,,1,,,
Medium Tank,MediumTank,Armour,Vehicle,100,2/5,10/4,3/1,0.6/0.6,3,0,,0,3,12,,,,1200,,,,1,,,
Rocket Artillery,RocketArtillery,Armour,Cannon,10,3,14,1,0.2,0,0,,0,0.5,7,,,,,,,,1,,,
Scout Vehicle,ScoutVehicle,Armour,Vehicle,40,4,4,1,0.7,1,0,,0.3,5,6,,,,,,,,1,,,
Super Heavy Artillery Gun,SuperHeavyArtilleryGun,Armour,Cannon,40,1,50,2,0.3,2,0,,0,0.2,6,,,,,,,,1,,,
Super Heavy Tank,SuperHeavyTank,Armour,Vehicle,150,1/3,20/4,5/2,0.6/0.6,5,0,,0,2,16,,,,2400,,,,1,,,
Support Vehicle,SupportVehicle,Armour,Vehicle,20,1,1,2,0.7,0.5,0,,0,4,8,,,,,,,,1,,,
Tankhunter,Tankhunter,Armour,Vehicle,80,1,1,2,0.7,0.5,0,,0,2,12,,,,1200,,,,1,,,
Transport Truck,TransportTruck,Armour,Vehicle,20,0,0,0,0,1,0,,0,4,8,,,,,,,,1,,,
Conscripts,Conscripts,City,Infantry,10,1,3,0,0.4,0,0,,0,1,4,4,1,,300,5,2,,30,,,"These soldiers were pressed into service by the military authorities and armed only with subpar equipment. Consequently, their morale is quite low and they should not be expected to fight very hard."
Militia,Militia,City,Infantry,10,1,3,0,0.4,0,0,,0,1,4,3,1,,100,5,0,,20,,,"Ordinary citizens defending their homeland, armed with everything that could be scrounged from storage. They are only rudimentarily trained and will not pose a real threat to any sizable force."
Breacher Squad,BreacherSquad,Infantry,Infantry,35,2,4,0.3,0.5,0.5,0,,0,0.8,5,,,,,,,,1,,,
Commando Unit,CommandoUnit,Infantry,Infantry,35,1/1,8/4,1/0.3,0.7/0.7,0.3,0,,0.5,2,3,,,stealth II,,,,,1,,,
Demolition Squad,DemolitionSquad,Infantry,Infantry,15,1,4,0,0.5,0.3,0,,0,1,5,,,,,,,,1,,,
Grav-Chute Squad,GravChuteSquad,Infantry,Infantry,15,1,4,0,0.5,0,0,,0.2,2,4,,,,,,,,1,,,
Heavy Infantry,HeavyInfantry,Infantry,Infantry,35,2,2,0,0.5,0.5,0,,0,0.8,5,5,1,,,,,,1,,,
Heavy Mountain Brigade,HeavyMountainBrigade,Infantry,Infantry,35,2,2,0,0.4,0.3,0,,0,0.8,5,,,,,,,,1,,,
Light Infantry,LightInfantry,Infantry,Infantry,15,1,4,0,0.5,0,0,,0,1.2,4,5,1,,,,,,1,,,
Marine Squad,MarineSquad,Infantry,Infantry,20,1,4,0,0.5,0,0,,0,1,4,,, stationson,,,,,1,,,
Mountain Brigade,MountainBrigade,Infantry,Infantry,35,2,2,0,0.4,0,0,,0,1,4,,,,,,,,1,,,
Pioneer Squad,PioneerSquad,Infantry,Infantry,35,1,2,0,0.5,0.5,0,,0,1.2,4,6,2,,,,,,1,,,
Sniper Squad,SniperSquad,Infantry,Infantry,15,1,5,0.5,0.9,0,0,,0.2,1.2,3,,,stealth I,,,,,1,,,
Standard Infantry,StandardInfantry,Infantry,Infantry,20,1,4,0,0.5,0.3,0,,0,1,4,5,1,,,,,,1,,,
Tank Hunter Squad,TankHunterSquad,Infantry,Infantry,20,1/2,10/2,3/0,0.4/0.6,0.3,0,,0,0.8,4,,,,,,,,1,,,
Laser Supressor Tank,LaserSupressorTank,Armour,Vehicle,60,6,4,2,0.4,2,0,,0,3,12,,,,,,,,1,,,
Command Tank,CommandTank,Armour,Vehicle,90,4,4,0.3,0.5,3,0,,0,3,13,,,,,,,,1,,,
Heavy Command Tank,HeavyCommandTank,Armour,Vehicle,115,4,4,0.3,0.5,4,0,,0,2,15,,,,,,,,1,,,
Mortar Truck,MortarTruck,Armour,Vehicle,20,2,5,1,0.3,0.5,0,,0,4,6,,,,,,,,1,,,
Medic Truck,MedicTruck,Armour,Vehicle,20,0,0,0,0,0.5,0,,0,4,6,,,,,,,,1,,,
Old Transport Tank,OldTransportTank,Armour,Vehicle,75,2,3,0.3,0.6,2.5,0,,0,3,7,,,,,,,,1,,,
Old Tank,OldTank1,Armour,Vehicle,70,2/5,9/4,2.5/0.5,0.5/0.6,3,0,,0,2,7,,,,,,,,1,,,
Old Tank,OldTank2,Armour,Vehicle,75,2/5,10/4,3/0.5,0.6/0.6,3,0,,0,2,7,,,,,,,,1,,,
Old Tank,OldTank3,Armour,Vehicle,80,2/4,11/4,3/0.5,0.7/0.6,3,0,,0,2,7,,,,,,,,1,,,
Heavy Scout Vehicle,HeavyScoutVehicle,Armour,Vehicle,45,4,5,1,0.65,1.5,0,,0.25,4.5,6,,,,,,,,1,,,
Transport Vehicle,TransportVehicle,Armour,Vehicle,45,0,0,0,0,0.5,0,,0,4,8,,,,,,,,1,,,
Light Transport Vehicle,LightTransportVehicle,Armour,Vehicle,40,0,0,0,0,0.45,0,,0,4.5,6,,,,,,,,1,,,
Old Transport Vehicle,OldTransportVehicle,Armour,Vehicle,35,0,0,0,0,0.4,0,,0,3.5,6,,,,,,,,1,,,
Medic Squad,MedicSquad,Infantry,Infantry,10,1,1,0,0.5,0,0,,0,1,3,,,,,,,,1,,,
Tank Crew,TankCrew,Infantry,Infantry,10,1,1,0,0.5,0,0,,0,1,2,,,,,,,,1,,,
Fast Attack Vehicle,FastAttackVehicle,Armour,Vehicle,25,3,5,1.5,0.55,1.45,0,,0.2,4.5,5,,,,,,,,1,,,
Spy,Spy,Infantry,Infantry,5,0,0,0,0,0,0,,0,1,1,,,,,,,,1,,,
Hazard Squad,HazardSquad,Infantry,Infantry,25,1,4,0,0.5,0.3,0,,0,0.8,4,,,,,,,,1,,,
Heavy Hazard Squad,HeavyHazardSquad,Infantry,Infantry,35,2,2,0,0.5,0.5,0,,0,0.6,5,,,,,,,,1,,,
Mortar Squad,MortarSquad,Infantry,Infantry,30,2,7,0.5,0.35,1,0,,0,0.8,4,,,,,,,,1,,,
Heavy Flak Cannon,HeavyFlakCannon,Armour,Cannon,40,5,6,1,0.7,1,0,,0,0.3,9,,,,,,,,1,,,
Light Universal Carrier,LightUniversalCarrier,Armour,Vehicle,15,0,0,0,0,0.3,0,,0.1,,,,,,,,,,,,,
Anti Material Rifle Squad,AntiMaterialRifleSquad,Infantry,Infantry,15,1,5,2,0.75,0,0,,0.2,1.2,3,,,stealth I,,,,,,,,
Light Attack Fighter,LightAttackFighter,Armour,Air,25,0,0,0,0,0,0,,0.7,,,,,,,,,,,,,
Officer Squad,OfficerSquad,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Rokurant,,,,,,,,,,,,,,,,,,,,,,,,,
Heavy Artillery Tank,RokurantHArtilleryTank,Armour,Vehicle,,,,,,3,,,,,,,,,,,,,,,,
Siegebreaker Tank,SiegebreakerTank,Armour,Vehicle,,,,,,3,,,,,,,,,,,,,,,,
Bulk Transporter,RokurantTransporter,Armour,Vehicle,,,,,,3,,,,,,,,,,,,,,,,
Heavy Rocket Vehicle,RokurantRocketVehicle,Armour,Vehicle,,,,,,3,,,,,,,,,,,,,,,,
Infantry,RokurantInfantry,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Heavy Infantry,RokurantHInfantry,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Storm Pioneers,RokurantStormPioneers,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Voteine,,,,,,,,,,,,,,,,,,,,,,,,,
Fast Assault Tank,VoteineFastAssaultTank,Armour,Vehicle,,,,,,1,1,,,,,,,,,,,,,,,
Hover Tank,VoteineHoverTank,Armour,Vehicle,,,,,,2,1,,,,,,,,,,,,,,,
Light Hover Tank,VoteineLHoverTank,Armour,Vehicle,,,,,,1,1,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Whythler,,,,,,,,,,,,,,,,,,,,,,,,,
Jet-Bike Squad,WythlerJetBikeSquad1,Armour,Vehicle,,,,,,1,3,,,,,,,,,,,,,,,
Jet-Bike Squad,WythlerJetBikeSquad2,Armour,Vehicle,,,,,,1,3,,,,,,,,,,,,,,,
Jet-Bike Squad,WythlerJetBikeSquad3,Armour,Vehicle,,,,,,1,3,,,,,,,,,,,,,,,
Light Attack Speeder,WythlerLAttackSpeeder,Armour,Vehicle,,,,,,2,4,,,,,,,,,,,,,,,
Attack Speeder,WythlerAttackSpeeder,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,
Heavy Attack Speeder,WythlerHAttackSpeeder,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,
Heavy Transport Speeder,WythlerHTransportSpeeder,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,
Wythler Squad,WythlerSquad,Infantry,Infantry,,,,,,1,2,,,,,,,,,,,,,,,
Power Armour Squad,PowerArmourSquad,Infantry,Infantry,,,,,,1,3,,,,,,,,,,,,,,,
Rabble,Rabble,Infantry,Infantry,,,,,,0,0,,,,,,,,,,,,,,,
Wyth Palace Guard,WythPalaceGuard,Infantry,Infantry,,,,,,1,3,,,,,,,,,,,,,,,
Assassins,Assassins,Infantry,Infantry,,,,,,0.3,1,,,,,,,,,,,,,,,
Transport Vehicle,WythlerTransportVehicle,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Elysia,,,,,,,,,,1,,,,,,,,,,,,,,,
Light Commando Vehicle,ElysiaLCommandoVehicle,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,
Elysian Oathsworn Squad,ElysianOathswornSquad,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Elysian Light Mechs,ElysianLightMechs,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Yar-Kassy,,,,,,,,,,,,,,,,,,,,,,,,,
Dervish Assault Tank,YarkassyAssaultTank,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,
Desert Raider Squad,YarkassyDesertRaiderSquad,Infantry,Vehicle,,,,,,,,,,,,,,,,,,,,,,
Elite Marksmen Squad,YarkassyEliteMarksmen,Infantry,Vehicle,,,,,,,,,,,,,,,,,,,,,,
Ghar Haclem Ack'venuur Serpents,YarkassySerpents,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Arca,,,,,,,,,,,,,,,,,,,,,,,,,
Scum,ArcaScum,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Zami,,,,,,,,,,,,,,,,,,,,,,,,,
Cryo-Clone Squad,ZamiCryoCloneSquad,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Stuntreen,,,,,,,,,,,,,,,,,,,,,,,,,
Headtaker Commando,HeadtakerCommando,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Hareen Cari Immortals,HareenCariImmortals,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Exan,,,,,,,,,,,,,,,,,,,,,,,,,
Clan Warriors,ExanClanWarriors,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Headtakers,ExanHeadtakers,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Methaphor,,,,,,,,,,,,,,,,,,,,,,,,,
Republican Guard,MethaphorRepublicanGuard,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Green Guard (Elite Mountain Troops),MethaphorGreenGuard,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Noser,,,,,,,,,,,,,,,,,,,,,,,,,
Royal Guard,NoserRoyalGuard,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Stalker Squad,NoserStalkerSquad,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Caer Bannoq,,,,,,,,,,,,,,,,,,,,,,,,,
Realm Knights,CaerBannoqRealmKnights,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Keepers of Secrets,CaerBannoqKeepers,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Paladins,CaerBannoqPaladins,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Seekers,CaerBannoqSeekers,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Vesparus,,,,,,,,,,,,,,,,,,,,,,,,,
Vesparusian Militia,VesparusMilitia,City,Infantry,,,,,,,,,,,,,,,,,,,,,,
Freekorps Caine,VesparusFreekorps,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Inobria,,,,,,,,,,,,,,,,,,,,,,,,,
Infantry,InobriaInfantry,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Tunnel Fighter,InobriaTunnelFighter,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Sartorius Rax,,,,,,,,,,,,,,,,,,,,,,,,,
Infantry,SartoriusInfantry,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Heavy Infantry,SartoriusHeavyInfantry,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Spice,,,,,,,,,,,,,,,,,,,,,,,,,
Longclaw Pack,SpiceLongclawPack,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
Tunneler Pack,SpiceTunnelerPack,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Squad Upgrades:,,,,,,,,,,,,,,,,,,,,,,,,,
Anti Tank Set,,,,,,,,,,,,,,,,,,,,,,,,,
"Camoflage Set (Jungle, Desert, Standard Camo)",,,,,,,,,,,,,,,,,,,,,,,,,
Anti Tank Rifles,,,,,,,,,,,,,,,,,,,,,,,,,
Machine Gun,,,,,,,,,,,,,,,,,,,,,,,,,
Multilaser,,,,,,,,,,,,,,,,,,,,,,,,,
Flyer Fist,,,,,,,,,,,,,,,,,,,,,,,,,
Explosives,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
Tank Upgrades:,,,,,,,,,,,,,,,,,,,,,,,,,
Command and Controll Module,,,,,,,,,,,,,,,,,,,,,,,,,
Tank Camo,,,,,,,,,,,,,,,,,,,,,,,,,
"Tracks (Jungle, Desert)",,,,,,,,,,,,,,,,,,,,,,,,,
Full Name,Short Name,Factory Type,Unit Type,Hitpoints,Attack Count,Damage,Penetration,Accuracy,Armour,Shields,Shield Regenerate,Evasion,Movement,Size,Equipment Slots,Inventory Slots,Morale,Defence Bonus,Abilities,Credit Cost,Recruit Cost,Ammo Cost,Fuel Cost,Build Time,Credit Upkeep,Food Upkeep,Description
Anti Tank Gun,AntiTankGun,Armour,Cannon,30,1,18,5,0.8,1,0,,0,0.5,6,2,2,,,,,,,,1,,,
Artillery Gun,ArtilleryGun,Armour,Cannon,24,1,22,1,0.4,1,0,,0,0.5,6,2,2,,,,,,,,1,,,
Artillery Tank,ArtilleryTank,Armour,Vehicle,60,1,22,1,0.5,1,0,,0,3,10,2,2,,,,,,,,1,,,
Flak Cannon,FlakCannon,Armour,Cannon,20,6,5,0.5,0.7,1,0,,0,0.5,7,2,2,,,,,,,,1,,,
Flak Truck,FlakTruck,Armour,Vehicle,20,5,3,2,0.6,0.5,0,,0,4,8,2,2,,,,,,,,1,,,
Tekki Truck,TekkiTruck,City,Vehicle,20,1,6,2,0.4,0.5,0,,0,4,8,2,2,,,,,,,,1,,,
Anti Tank Truck,AntiTankTruck,Armour,Vehicle,20,1,8,3,0.7,0.5,0,,0,4,8,2,2,,,,,,,,1,,,
Flak Halftrack,FlakHalftrack,Armour,Vehicle,20,5,5,0.5,0.65,1,0,,0,3,8,2,2,,,,,,,,1,,,
Heavy Anti Tank Gun,HeavyAntiTankGun,Armour,Cannon,40,1,25,6,0.8,1,0,,0,0.3,6,2,2,,,,,,,,1,,,
Heavy Artillery Gun,HeavyArtilleryGun,Armour,Cannon,35,1,30,1.5,0.4,1,0,,0,0.3,6,2,2,,,,,,,,1,,,
Heavy Rocket Artillery,HeavyRocketArtillery,Armour,Cannon,35,3,20,1.5,0.18,1,0,,0,0.3,7,2,2,,,,,,,,1,,,
Heavy Tank,HeavyTank,Armour,Vehicle,120,1/4,15/4,4/2,0.6/0.6,4,0,,0,2.5,14,2,2,,,,1600,,,,1,,,
Light Anti Tank Gun,LightAntiTankGun,Armour,Cannon,20,2,8,3,0.7,1,0,,0,0.5,6,2,2,,,,,,,,1,,,
Light Artillery Gun,LightArtilleryGun,Armour,Cannon,20,2,12,1,0.45,1,0,,0,0.5,6,2,2,,,,,,,,1,,,
Light Tank,LightTank,Armour,Vehicle,60,3/5,5/4,2/1,0.6/0.6,2,0,,0,3,10,2,2,,,,1000,,,,1,,,
Medium Tank,MediumTank,Armour,Vehicle,100,2/5,10/4,3/1,0.6/0.6,3,0,,0,3,12,2,2,,,,1200,,,,1,,,
Rocket Artillery,RocketArtillery,Armour,Cannon,10,3,14,1,0.2,0,0,,0,0.5,7,2,2,,,,,,,,1,,,
Scout Vehicle,ScoutVehicle,Armour,Vehicle,40,4,4,1,0.7,1,0,,0.3,5,6,2,2,,,,,,,,1,,,
Super Heavy Artillery Gun,SuperHeavyArtilleryGun,Armour,Cannon,40,1,50,2,0.3,2,0,,0,0.2,6,2,2,,,,,,,,1,,,
Super Heavy Tank,SuperHeavyTank,Armour,Vehicle,150,1/3,20/4,5/2,0.6/0.6,5,0,,0,2,16,2,2,,,,2400,,,,1,,,
Support Vehicle,SupportVehicle,Armour,Vehicle,20,1,1,2,0.7,0.5,0,,0,4,8,2,2,,,,,,,,1,,,
Tankhunter,Tankhunter,Armour,Vehicle,80,1,1,2,0.7,0.5,0,,0,2,12,2,2,,,,1200,,,,1,,,
Transport Truck,TransportTruck,Armour,Vehicle,20,0,0,0,0,1,0,,0,4,8,2,2,,,,,,,,1,,,
Conscripts,Conscripts,City,Infantry,10,1,3,0,0.4,0,0,,0,1,4,2,2,4,1,,300,5,2,,30,,,"These soldiers were pressed into service by the military authorities and armed only with subpar equipment. Consequently, their morale is quite low and they should not be expected to fight very hard."
Militia,Militia,City,Infantry,10,1,3,0,0.4,0,0,,0,1,4,2,2,3,1,,100,5,0,,20,,,"Ordinary citizens defending their homeland, armed with everything that could be scrounged from storage. They are only rudimentarily trained and will not pose a real threat to any sizable force."
Breacher Squad,BreacherSquad,Infantry,Infantry,35,2,4,0.3,0.5,0.5,0,,0,0.8,5,2,2,,,,,,,,1,,,
Commando Unit,CommandoUnit,Infantry,Infantry,35,1/1,8/4,1/0.3,0.7/0.7,0.3,0,,0.5,2,3,2,2,,,stealth II,,,,,1,,,
Demolition Squad,DemolitionSquad,Infantry,Infantry,15,1,4,0,0.5,0.3,0,,0,1,5,2,2,,,,,,,,1,,,
Grav-Chute Squad,GravChuteSquad,Infantry,Infantry,15,1,4,0,0.5,0,0,,0.2,2,4,2,2,,,,,,,,1,,,
Heavy Infantry,HeavyInfantry,Infantry,Infantry,35,2,2,0,0.5,0.5,0,,0,0.8,5,2,2,5,1,,,,,,1,,,
Heavy Mountain Brigade,HeavyMountainBrigade,Infantry,Infantry,35,2,2,0,0.4,0.3,0,,0,0.8,5,2,2,,,,,,,,1,,,
Light Infantry,LightInfantry,Infantry,Infantry,15,1,4,0,0.5,0,0,,0,1.2,4,2,2,5,1,,,,,,1,,,
Marine Squad,MarineSquad,Infantry,Infantry,20,1,4,0,0.5,0,0,,0,1,4,2,2,,, stationson,,,,,1,,,
Mountain Brigade,MountainBrigade,Infantry,Infantry,35,2,2,0,0.4,0,0,,0,1,4,2,2,,,,,,,,1,,,
Pioneer Squad,PioneerSquad,Infantry,Infantry,35,1,2,0,0.5,0.5,0,,0,1.2,4,2,2,6,2,,,,,,1,,,
Sniper Squad,SniperSquad,Infantry,Infantry,15,1,5,0.5,0.9,0,0,,0.2,1.2,3,2,2,,,stealth I,,,,,1,,,
Standard Infantry,StandardInfantry,Infantry,Infantry,20,1,4,0,0.5,0.3,0,,0,1,4,2,2,5,1,,,,,,1,,,
Tank Hunter Squad,TankHunterSquad,Infantry,Infantry,20,1/2,10/2,3/0,0.4/0.6,0.3,0,,0,0.8,4,2,2,,,,,,,,1,,,
Laser Supressor Tank,LaserSupressorTank,Armour,Vehicle,60,6,4,2,0.4,2,0,,0,3,12,2,2,,,,,,,,1,,,
Command Tank,CommandTank,Armour,Vehicle,90,4,4,0.3,0.5,3,0,,0,3,13,2,2,,,,,,,,1,,,
Heavy Command Tank,HeavyCommandTank,Armour,Vehicle,115,4,4,0.3,0.5,4,0,,0,2,15,2,2,,,,,,,,1,,,
Mortar Truck,MortarTruck,Armour,Vehicle,20,2,5,1,0.3,0.5,0,,0,4,6,2,2,,,,,,,,1,,,
Medic Truck,MedicTruck,Armour,Vehicle,20,0,0,0,0,0.5,0,,0,4,6,2,2,,,,,,,,1,,,
Old Transport Tank,OldTransportTank,Armour,Vehicle,75,2,3,0.3,0.6,2.5,0,,0,3,7,2,2,,,,,,,,1,,,
Old Tank,OldTank1,Armour,Vehicle,70,2/5,9/4,2.5/0.5,0.5/0.6,3,0,,0,2,7,2,2,,,,,,,,1,,,
Old Tank,OldTank2,Armour,Vehicle,75,2/5,10/4,3/0.5,0.6/0.6,3,0,,0,2,7,2,2,,,,,,,,1,,,
Old Tank,OldTank3,Armour,Vehicle,80,2/4,11/4,3/0.5,0.7/0.6,3,0,,0,2,7,2,2,,,,,,,,1,,,
Heavy Scout Vehicle,HeavyScoutVehicle,Armour,Vehicle,45,4,5,1,0.65,1.5,0,,0.25,4.5,6,2,2,,,,,,,,1,,,
Transport Vehicle,TransportVehicle,Armour,Vehicle,45,0,0,0,0,0.5,0,,0,4,8,2,2,,,,,,,,1,,,
Light Transport Vehicle,LightTransportVehicle,Armour,Vehicle,40,0,0,0,0,0.45,0,,0,4.5,6,2,2,,,,,,,,1,,,
Old Transport Vehicle,OldTransportVehicle,Armour,Vehicle,35,0,0,0,0,0.4,0,,0,3.5,6,2,2,,,,,,,,1,,,
Medic Squad,MedicSquad,Infantry,Infantry,10,1,1,0,0.5,0,0,,0,1,3,2,2,,,,,,,,1,,,
Tank Crew,TankCrew,Infantry,Infantry,10,1,1,0,0.5,0,0,,0,1,2,2,2,,,,,,,,1,,,
Fast Attack Vehicle,FastAttackVehicle,Armour,Vehicle,25,3,5,1.5,0.55,1.45,0,,0.2,4.5,5,2,2,,,,,,,,1,,,
Spy,Spy,Infantry,Infantry,5,0,0,0,0,0,0,,0,1,1,2,2,,,,,,,,1,,,
Hazard Squad,HazardSquad,Infantry,Infantry,25,1,4,0,0.5,0.3,0,,0,0.8,4,2,2,,,,,,,,1,,,
Heavy Hazard Squad,HeavyHazardSquad,Infantry,Infantry,35,2,2,0,0.5,0.5,0,,0,0.6,5,2,2,,,,,,,,1,,,
Mortar Squad,MortarSquad,Infantry,Infantry,30,2,7,0.5,0.35,1,0,,0,0.8,4,2,2,,,,,,,,1,,,
Heavy Flak Cannon,HeavyFlakCannon,Armour,Cannon,40,5,6,1,0.7,1,0,,0,0.3,9,2,2,,,,,,,,1,,,
Light Universal Carrier,LightUniversalCarrier,Armour,Vehicle,15,0,0,0,0,0.3,0,,0.1,,,2,2,,,,,,,,,,,
Anti Material Rifle Squad,AntiMaterialRifleSquad,Infantry,Infantry,15,1,5,2,0.75,0,0,,0.2,1.2,3,2,2,,,stealth I,,,,,,,,
Light Attack Fighter,LightAttackFighter,Armour,Air,25,0,0,0,0,0,0,,0.7,,,2,2,,,,,,,,,,,
Officer Squad,OfficerSquad,,,,,,,,,,,,,,,,,,,,,,,,,,
Charnal Guard,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Rokurant,,,,,,,,,,,,,,,,,,,,,,,,,,,
Heavy Artillery Tank,RokurantHArtilleryTank,Armour,Vehicle,,,,,,3,,,,,,,,,,,,,,,,,,
Siegebreaker Tank,SiegebreakerTank,Armour,Vehicle,,,,,,3,,,,,,,,,,,,,,,,,,
Bulk Transporter,RokurantTransporter,Armour,Vehicle,,,,,,3,,,,,,,,,,,,,,,,,,
Heavy Rocket Vehicle,RokurantRocketVehicle,Armour,Vehicle,,,,,,3,,,,,,,,,,,,,,,,,,
Infantry,RokurantInfantry,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Heavy Infantry,RokurantHInfantry,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Storm Pioneers,RokurantStormPioneers,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Voteine,,,,,,,,,,,,,,,,,,,,,,,,,,,
Fast Assault Tank,VoteineFastAssaultTank,Armour,Vehicle,,,,,,1,1,,,,,,,,,,,,,,,,,
Hover Tank,VoteineHoverTank,Armour,Vehicle,,,,,,2,1,,,,,,,,,,,,,,,,,
Light Hover Tank,VoteineLHoverTank,Armour,Vehicle,,,,,,1,1,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Whythler,,,,,,,,,,,,,,,,,,,,,,,,,,,
Jet-Bike Squad,WythlerJetBikeSquad1,Armour,Vehicle,,,,,,1,3,,,,,,,,,,,,,,,,,
Jet-Bike Squad,WythlerJetBikeSquad2,Armour,Vehicle,,,,,,1,3,,,,,,,,,,,,,,,,,
Jet-Bike Squad,WythlerJetBikeSquad3,Armour,Vehicle,,,,,,1,3,,,,,,,,,,,,,,,,,
Light Attack Speeder,WythlerLAttackSpeeder,Armour,Vehicle,,,,,,2,4,,,,,,,,,,,,,,,,,
Attack Speeder,WythlerAttackSpeeder,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,,,
Heavy Attack Speeder,WythlerHAttackSpeeder,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,,,
Heavy Transport Speeder,WythlerHTransportSpeeder,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,,,
Wythler Squad,WythlerSquad,Infantry,Infantry,,,,,,1,2,,,,,,,,,,,,,,,,,
Power Armour Squad,PowerArmourSquad,Infantry,Infantry,,,,,,1,3,,,,,,,,,,,,,,,,,
Rabble,Rabble,Infantry,Infantry,,,,,,0,0,,,,,,,,,,,,,,,,,
Wyth Palace Guard,WythPalaceGuard,Infantry,Infantry,,,,,,1,3,,,,,,,,,,,,,,,,,
Assassins,Assassins,Infantry,Infantry,,,,,,0.3,1,,,,,,,,,,,,,,,,,
Transport Vehicle,WythlerTransportVehicle,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Elysia,,,,,,,,,,1,,,,,,,,,,,,,,,,,
Light Commando Vehicle,ElysiaLCommandoVehicle,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,,,
Elysian Oathsworn Squad,ElysianOathswornSquad,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Elysian Light Mechs,ElysianLightMechs,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Yar-Kassy,,,,,,,,,,,,,,,,,,,,,,,,,,,
Dervish Assault Tank,YarkassyAssaultTank,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,,,
Desert Raider Squad,YarkassyDesertRaiderSquad,Infantry,Vehicle,,,,,,,,,,,,,,,,,,,,,,,,
Elite Marksmen Squad,YarkassyEliteMarksmen,Infantry,Vehicle,,,,,,,,,,,,,,,,,,,,,,,,
Ghar Haclem Ack'venuur Serpents,YarkassySerpents,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Arca,,,,,,,,,,,,,,,,,,,,,,,,,,,
Scum,ArcaScum,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Zami,,,,,,,,,,,,,,,,,,,,,,,,,,,
Cryo-Clone Squad,ZamiCryoCloneSquad,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Stuntreen,,,,,,,,,,,,,,,,,,,,,,,,,,,
Headtaker Commando,HeadtakerCommando,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Hareen Cari Immortals,HareenCariImmortals,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Exan,,,,,,,,,,,,,,,,,,,,,,,,,,,
Clan Warriors,ExanClanWarriors,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Headtakers,ExanHeadtakers,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Methaphor,,,,,,,,,,,,,,,,,,,,,,,,,,,
Republican Guard,MethaphorRepublicanGuard,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Green Guard (Elite Mountain Troops),MethaphorGreenGuard,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Noser,,,,,,,,,,,,,,,,,,,,,,,,,,,
Royal Guard,NoserRoyalGuard,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Stalker Squad,NoserStalkerSquad,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Caer Bannoq,,,,,,,,,,,,,,,,,,,,,,,,,,,
Realm Knights,CaerBannoqRealmKnights,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Keepers of Secrets,CaerBannoqKeepers,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Paladins,CaerBannoqPaladins,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Seekers,CaerBannoqSeekers,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Vesparus,,,,,,,,,,,,,,,,,,,,,,,,,,,
Vesparusian Militia,VesparusMilitia,City,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Freekorps Caine,VesparusFreekorps,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Inobria,,,,,,,,,,,,,,,,,,,,,,,,,,,
Infantry,InobriaInfantry,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Tunnel Fighter,InobriaTunnelFighter,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Sartorius Rax,,,,,,,,,,,,,,,,,,,,,,,,,,,
Infantry,SartoriusInfantry,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Heavy Infantry,SartoriusHeavyInfantry,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Spice,,,,,,,,,,,,,,,,,,,,,,,,,,,
Longclaw Pack,SpiceLongclawPack,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
Tunneler Pack,SpiceTunnelerPack,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Squad Upgrades:,,,,,,,,,,,,,,,,,,,,,,,,,,,
Anti Tank Set,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Camoflage Set (Jungle, Desert, Standard Camo)",,,,,,,,,,,,,,,,,,,,,,,,,,,
Anti Tank Rifles,,,,,,,,,,,,,,,,,,,,,,,,,,,
Machine Gun,,,,,,,,,,,,,,,,,,,,,,,,,,,
Multilaser,,,,,,,,,,,,,,,,,,,,,,,,,,,
Flyer Fist,,,,,,,,,,,,,,,,,,,,,,,,,,,
Explosives,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Tank Upgrades:,,,,,,,,,,,,,,,,,,,,,,,,,,,
Command and Controll Module,,,,,,,,,,,,,,,,,,,,,,,,,,,
Tank Camo,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Tracks (Jungle, Desert)",,,,,,,,,,,,,,,,,,,,,,,,,,,

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


+ 3
- 16
Assets/GWConquest/Scripts/ServerCallbacks.cs View File

@ -36,23 +36,10 @@ namespace GWConquest
public override void OnEvent(BuildUnitEvent evnt) public override void OnEvent(BuildUnitEvent evnt)
{ {
Zone zone = Zone.GetFromId(evnt.Zone); Zone zone = Zone.GetFromId(evnt.Zone);
var unitClass = UnitClass.FromName(evnt.UnitClass);
Player player = evnt.Player.GetComponent<Player>(); Player player = evnt.Player.GetComponent<Player>();
Formation playerFormation = zone.Formations.FirstOrDefault(f => f.Player == player);
if (playerFormation == null)
{
BoltEntity formationEntity = BoltNetwork.Instantiate(BoltPrefabs.Formation);
player.AssignControl(formationEntity);
playerFormation = formationEntity.GetComponent<Formation>();
playerFormation.currentZone = zone;
playerFormation.Player = player;
}
BoltEntity unitEntity = BoltNetwork.Instantiate(BoltPrefabs.Unit);
player.AssignControl(unitEntity);
Unit unit = unitEntity.GetComponent<Unit>();
unit.Class = UnitClass.FromName(evnt.UnitClass);
unit.Formation = playerFormation;
playerFormation.UnitEntities.Add(unitEntity);
Unit.SpawnUnit(zone, unitClass, player);
} }


+ 80
- 5
Assets/GWConquest/Scripts/UI/TransportUI.cs View File

@ -1,5 +1,4 @@
using System.Collections;
using System.Collections.Generic;
using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
using System.Linq; using System.Linq;
@ -13,12 +12,17 @@ namespace GWConquest
public RectTransform ContentTransform; public RectTransform ContentTransform;
public RectTransform ItemsTransform; public RectTransform ItemsTransform;
public Text PlanetNameText; public Text PlanetNameText;
public Animator Animator;
public UnitInfoPanel InfoPanel;
[System.NonSerialized] [System.NonSerialized]
public List<TransportUIElement> SubElementList = new List<TransportUIElement>(); public List<TransportUIElement> SubElementList = new List<TransportUIElement>();
[System.NonSerialized] [System.NonSerialized]
public List<TransportUIItemIcon> ItemIconList = new List<TransportUIItemIcon>(); public List<TransportUIItemIcon> ItemIconList = new List<TransportUIItemIcon>();
[System.NonSerialized]
public TransportUIUnitIcon SelectedIcon = null;
} }
public TransportUIPanel GroundPanel; public TransportUIPanel GroundPanel;
@ -34,18 +38,24 @@ namespace GWConquest
CurrentPlanet = planet; CurrentPlanet = planet;
RebuildPanel(GroundPanel); RebuildPanel(GroundPanel);
RebuildPanel(SpacePanel);
UpdatePanel(GroundPanel); UpdatePanel(GroundPanel);
UpdatePanel(SpacePanel);
} }
private void Update() { private void Update() {
GWLayout.UpdateLayout(GroundPanel.ContentTransform); GWLayout.UpdateLayout(GroundPanel.ContentTransform);
GWLayout.UpdateLayout(GroundPanel.ItemsTransform); GWLayout.UpdateLayout(GroundPanel.ItemsTransform);
GWLayout.UpdateLayout(SpacePanel.ContentTransform);
GWLayout.UpdateLayout(SpacePanel.ItemsTransform);
} }
private void FixedUpdate() { private void FixedUpdate() {
UpdatePanel(GroundPanel); UpdatePanel(GroundPanel);
UpdatePanel(SpacePanel);
} }
private TransportUIElement AddElement(RectTransform parent) { private TransportUIElement AddElement(RectTransform parent) {
@ -93,12 +103,33 @@ namespace GWConquest
objects = districts.Cast<object>(); objects = districts.Cast<object>();
} }
else if(panel == SpacePanel)
{
var fleets = CurrentPlanet.GetMainZone(ZoneType.Space).Formations;
itemStacks = fleets.SelectMany(f => f.AllItems);
objects = fleets.Cast<object>();
}
GWLayout.UpdateGameObjects(panel.SubElementList, objects.ToList(), d => {
GWLayout.UpdateGameObjects(panel.SubElementList, objects.ToList(), obj => {
var elementComp = AddElement(panel.ContentTransform); var elementComp = AddElement(panel.ContentTransform);
elementComp.IsDistrict = true;
elementComp.District = d as District;
if(obj is District)
{
elementComp.IsDistrict = true;
elementComp.District = obj as District;
}
else if(obj is Formation)
{
elementComp.IsDistrict = false;
elementComp.Formation = obj as Formation;
}
else {
BoltLog.Error("Displayed object is neither District or Formation: {0}", obj);
}
elementComp.Rebuild(); elementComp.Rebuild();
return elementComp; return elementComp;
@ -119,6 +150,50 @@ namespace GWConquest
return itemIconComp; return itemIconComp;
}, (i1,i2) => ItemStack.ItemsEqual(i1,i2)); }, (i1,i2) => ItemStack.ItemsEqual(i1,i2));
} }
public void SelectUnit(TransportUIUnitIcon icon)
{
TransportUIPanel panel;
if(icon.transform.IsChildOf(GroundPanel.ContentTransform))
{
panel = GroundPanel;
}
else if(icon.transform.IsChildOf(SpacePanel.ContentTransform))
{
panel = SpacePanel;
}
else {
BoltLog.Warn("UI Icon {0} not in any panel!", icon);
return;
}
SelectUnitForPanel(panel, icon);
}
public void SelectUnitForPanel(TransportUIPanel panel, TransportUIUnitIcon icon)
{
panel.SelectedIcon = icon;
if(icon != null)
{
panel.InfoPanel.SelectUnit(icon.GetObject());
panel.Animator.SetBool("InfoPanelOpen", true);
}
else {
panel.Animator.SetBool("InfoPanelOpen", false);
}
}
public void DeselectGroundPanel()
{
SelectUnitForPanel(GroundPanel, null);
}
public void DeselectSpacePanel()
{
SelectUnitForPanel(SpacePanel, null);
}
} }
} }

+ 27
- 0
Assets/GWConquest/Scripts/UI/TransportUIAbilityIcon.cs View File

@ -0,0 +1,27 @@
using UnityEngine.UI;
namespace GWConquest
{
public class TransportUIAbilityIcon : DragDropElement, IUpdatable<HeroAbility>
{
public Image AbilityIcon;
public Text AbilityName;
private HeroAbility Ability;
public HeroAbility GetObject()
{
return Ability;
}
public void UpdateDisplay(HeroAbility ability)
{
Ability = ability;
AbilityIcon.sprite = ability.Icon;
AbilityName.text = ability.AbilityName;
}
}
}

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

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

+ 34
- 0
Assets/GWConquest/Scripts/UI/TransportUIEquipmentIcon.cs View File

@ -0,0 +1,34 @@
using UnityEngine.UI;
namespace GWConquest
{
public class TransportUIEquipmentIcon : DragDropElement, IUpdatable<ItemStack>
{
public Image Icon;
[System.NonSerialized]
private ItemStack Stack;
public void UpdateDisplay(ItemStack stack)
{
Stack = stack;
if(stack != null)
{
Icon.gameObject.SetActive(true);
Icon.sprite = Stack.Icon;
Icon.color = Stack.IconColor;
}
else {
Icon.gameObject.SetActive(false);
Icon.sprite = null;
}
}
public ItemStack GetObject()
{
return Stack;
}
}
}

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

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

+ 24
- 16
Assets/GWConquest/Scripts/UI/TransportUIUnitIcon.cs View File

@ -1,7 +1,7 @@
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
namespace GWConquest
namespace GWConquest
{ {
public class TransportUIUnitIcon : DragDropElement, IUpdatable<Unit> public class TransportUIUnitIcon : DragDropElement, IUpdatable<Unit>
@ -35,10 +35,10 @@ namespace GWConquest
public override bool OnDragFinished() public override bool OnDragFinished()
{ {
if(!ParentElement.IsDistrict && Unit.Class.IsHero)
if (!ParentElement.IsDistrict && Unit.Class.IsHero)
{ {
var LeaderIcon = ParentElement.SpriteImage.rectTransform; var LeaderIcon = ParentElement.SpriteImage.rectTransform;
if(RectTransformUtility.RectangleContainsScreenPoint(LeaderIcon, Input.mousePosition))
if (RectTransformUtility.RectangleContainsScreenPoint(LeaderIcon, Input.mousePosition))
{ {
AssignLeaderEvent ev = AssignLeaderEvent.Create(Bolt.GlobalTargets.OnlyServer); AssignLeaderEvent ev = AssignLeaderEvent.Create(Bolt.GlobalTargets.OnlyServer);
ev.Formation = ParentElement.Formation.entity; ev.Formation = ParentElement.Formation.entity;
@ -46,43 +46,51 @@ namespace GWConquest
ev.Send(); ev.Send();
} }
} }
return true; return true;
} }
public void Update()
{
public void Update()
{
if(Unit != null)
if (Unit != null)
{ {
if(Unit.Hitpoints < Unit.Class.Hitpoints)
if (Unit.Hitpoints < Unit.Class.Hitpoints)
{ {
HealthBarGO.SetActive(true); HealthBarGO.SetActive(true);
float percentage = (float) Unit.Hitpoints / Unit.Class.Hitpoints;
float percentage = (float)Unit.Hitpoints / Unit.Class.Hitpoints;
HealthBar.fillAmount = percentage; HealthBar.fillAmount = percentage;
if(percentage > 2f/3f)
if (percentage > 2f / 3f)
{ {
HealthBar.color = healthyColor; HealthBar.color = healthyColor;
} }
else if(percentage > 1f/3f)
else if (percentage > 1f / 3f)
{ {
HealthBar.color = mediumColor; HealthBar.color = mediumColor;
} }
else {
else
{
HealthBar.color = criticalColor; HealthBar.color = criticalColor;
} }
} }
else {
else
{
HealthBarGO.SetActive(false); HealthBarGO.SetActive(false);
} }
} }
else {
else
{
HealthBarGO.SetActive(false); HealthBarGO.SetActive(false);
} }
}
}
public void OnClick()
{
GetComponentInParent<TransportUI>()?.SelectUnit(this);
}
} }
} }

+ 195
- 0
Assets/GWConquest/Scripts/UI/UnitInfoPanel.cs View File

@ -0,0 +1,195 @@
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
using System.Linq;
namespace GWConquest
{
public class UnitInfoPanel : MonoBehaviour
{
public Text UnitNameText;
public Image HealthBar;
public Text HealthBarText;
public Text DescriptionText;
public RectTransform StatusIconsTransform;
public RectTransform ValueIconsTransform;
public GameObject ValueIconPrefab;
public Sprite[] ArmourIcons;
public Sprite[] PenetrationIcons;
public RectTransform ButtonsTransform;
public GameObject ItemsGO;
public RectTransform EquipmentTransform;
public GameObject EquipmentIconPrefab;
[System.NonSerialized]
public List<TransportUIEquipmentIcon> EquipmentIconList = new List<TransportUIEquipmentIcon>();
public RectTransform InventoryTransform;
public GameObject ItemIconPrefab;
[System.NonSerialized]
public List<TransportUIItemIcon> ItemIconList = new List<TransportUIItemIcon>();
public GameObject AbilitiesGO;
public RectTransform AbilitiesTransform;
public GameObject AbilityIconPrefab;
[System.NonSerialized]
public List<TransportUIAbilityIcon> AbilityIconList = new List<TransportUIAbilityIcon>();
[System.NonSerialized]
public Unit CurrentUnit;
public void SelectUnit(Unit unit)
{
CurrentUnit = unit;
UnitNameText.text = unit.Class.FullName;
DescriptionText.text = unit.Class.Description;
Util.DestroyAllChildren(ValueIconsTransform);
if(!unit.Class.IsHero)
{
int armour = Mathf.Min(5, Mathf.CeilToInt(unit.Class.Armour));
if(armour > 0)
{
AddValueIcon(ArmourIcons[armour-1]);
}
int penetration = Mathf.Min(5, Mathf.CeilToInt(unit.Class.WeaponStatsArray.Max(w => w.Penetration)));
if(penetration > 0)
{
AddValueIcon(PenetrationIcons[penetration-1]);
}
GWLayout.UpdateLayout(ValueIconsTransform);
Util.DestroyAllChildren(EquipmentTransform);
EquipmentIconList.Clear();
for(int i = 0; i < unit.Equipment.StorageCapacity; i++)
{
var eqIconGO = Instantiate(EquipmentIconPrefab);
eqIconGO.GetComponent<RectTransform>().SetParent(EquipmentTransform);
eqIconGO.GetComponent<RectTransform>().anchoredPosition = Vector2.zero;
EquipmentIconList.Add(eqIconGO.GetComponent<TransportUIEquipmentIcon>());
}
ItemsGO.SetActive(true);
AbilitiesGO.SetActive(false);
}
else {
Util.DestroyAllChildren(AbilitiesTransform);
AbilityIconList.Clear();
foreach(HeroAbility ability in unit.Class.heroInfo.Abilities)
{
var abIconGO = Instantiate(AbilityIconPrefab);
var abIconRT = abIconGO.GetComponent<RectTransform>();
abIconRT.SetParent(AbilitiesTransform);
abIconRT.anchoredPosition = Vector2.zero;
var size = abIconRT.sizeDelta;
size.x = 0;
abIconRT.sizeDelta = size;
AbilityIconList.Add(abIconGO.GetComponent<TransportUIAbilityIcon>());
}
ItemsGO.SetActive(false);
AbilitiesGO.SetActive(true);
}
UpdatePanel();
}
public void UpdatePanel()
{
if(CurrentUnit != null)
{
HealthBar.fillAmount = (float) CurrentUnit.Hitpoints / CurrentUnit.Class.Hitpoints;
HealthBarText.text = CurrentUnit.Hitpoints.ToString() + "/" + CurrentUnit.Class.Hitpoints.ToString();
if(CurrentUnit.Class.IsHero)
{
UpdateAbilities();
}
else {
UpdateEquipment();
var items = CurrentUnit.Inventory.ToList();
GWLayout.UpdateGameObjects(ItemIconList, items, item => {
var itemIconGO = Instantiate(ItemIconPrefab);
itemIconGO.GetComponent<RectTransform>().SetParent(InventoryTransform);
itemIconGO.GetComponent<RectTransform>().anchoredPosition = Vector2.zero;
var itemIconComp = itemIconGO.GetComponent<TransportUIItemIcon>();
itemIconComp.UpdateDisplay(item);
return itemIconComp;
}, (i1,i2) => ItemStack.ItemsEqual(i1,i2));
}
}
}
private void UpdateEquipment()
{
int equipmentCount = CurrentUnit.Equipment.Count;
for(int i = 0; i < EquipmentIconList.Count; i++)
{
var item = i < equipmentCount ? CurrentUnit.Equipment[i] : null;
EquipmentIconList[i].UpdateDisplay(item);
}
}
private void UpdateAbilities()
{
int maxInd = Mathf.Min(AbilityIconList.Count, CurrentUnit.Class.heroInfo.Abilities.Length);
for(int i = 0; i < maxInd; i++)
{
var ability = CurrentUnit.Class.heroInfo.Abilities[i];
AbilityIconList[i].UpdateDisplay(ability);
}
}
private void FixedUpdate() {
UpdatePanel();
}
private void Update() {
if(!CurrentUnit.Class.IsHero)
{
GWLayout.UpdateLayout(EquipmentTransform);
GWLayout.UpdateLayout(InventoryTransform);
}
else {
GWLayout.UpdateLayout(AbilitiesTransform);
}
}
private void AddValueIcon(Sprite icon)
{
var iconGO = Instantiate(ValueIconPrefab);
var iconRT = iconGO.GetComponent<RectTransform>();
iconRT.SetParent(ValueIconsTransform);
iconGO.GetComponent<Image>().sprite = icon;
}
}
}

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

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

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

@ -20,6 +20,9 @@ namespace GWConquest
else else
{ {
state.UnitClass = value.ShortName; state.UnitClass = value.ShortName;
Inventory.StorageCapacity = value.InventorySlots;
Equipment.StorageCapacity = value.EquipmentSlots;
} }
} }
} }
@ -110,11 +113,12 @@ namespace GWConquest
} }
public Inventory Inventory; public Inventory Inventory;
public Inventory Equipment;
public override void Attached() public override void Attached()
{ {
Inventory = new Inventory(state, "Inventory"); Inventory = new Inventory(state, "Inventory");
Inventory.StorageCapacity = 1; //TODO storage capacity
Equipment = new Inventory(state, "Equipment");
state.AddCallback("Formation", () => state.AddCallback("Formation", () =>
{ {


+ 22
- 0
Assets/GWConquest/Scripts/UnitClass.cs View File

@ -76,6 +76,9 @@ namespace GWConquest
unitClass.Movement = data.GetFloat("Movement"); unitClass.Movement = data.GetFloat("Movement");
unitClass.Size = data.GetInt("Size"); unitClass.Size = data.GetInt("Size");
unitClass.EquipmentSlots = data.GetInt("Equipment Slots");
unitClass.InventorySlots = data.GetInt("Inventory Slots");
unitClass.BuildCost = new BuildCost unitClass.BuildCost = new BuildCost
{ {
CreditCost = data.GetInt("Credit Cost"), CreditCost = data.GetInt("Credit Cost"),
@ -217,6 +220,8 @@ namespace GWConquest
unitClass.heroInfo = heroInfo; unitClass.heroInfo = heroInfo;
unitClass.Hitpoints = 10;
unitClass.LoadTexture(); unitClass.LoadTexture();
classMap.Add(unitClass.ShortName, unitClass); classMap.Add(unitClass.ShortName, unitClass);
@ -279,6 +284,9 @@ namespace GWConquest
public float Movement; public float Movement;
public int Size; public int Size;
public int EquipmentSlots;
public int InventorySlots;
public WeaponStats[] WeaponStatsArray; public WeaponStats[] WeaponStatsArray;
public BuildCost BuildCost; public BuildCost BuildCost;
@ -312,6 +320,19 @@ namespace GWConquest
string placeholder = IsHero ? "UnitIcons/HeroPlaceholder" : "UnitIcons/placeholder"; string placeholder = IsHero ? "UnitIcons/HeroPlaceholder" : "UnitIcons/placeholder";
Sprite = Resources.Load<Sprite>(placeholder); Sprite = Resources.Load<Sprite>(placeholder);
} }
if(IsHero)
{
for(int i = 0; i < heroInfo.Abilities.Length; i++)
{
var abilitySprite = Resources.Load<Sprite>("AbilityIcons/" + ShortName + "_" + (i+1).ToString());
if(abilitySprite == null)
{
abilitySprite = Resources.Load<Sprite>("UnitIcons/placeholder");
}
heroInfo.Abilities[i].Icon = abilitySprite;
}
}
} }
} }
@ -374,6 +395,7 @@ namespace GWConquest
public string AbilityName; public string AbilityName;
public string AbilityDescription; public string AbilityDescription;
public bool IsActive; public bool IsActive;
public Sprite Icon;
} }
} }

BIN
Assets/GWConquest/Textures/UI/A_Cityscape3.png View File

Before After
Width: 1500  |  Height: 250  |  Size: 15 KiB

+ 128
- 0
Assets/GWConquest/Textures/UI/A_Cityscape3.png.meta View File

@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 33b5bd67a60f7d24cb73866ff7b0c325
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:

BIN
Assets/Photon/PhotonBolt/assemblies/bolt.user.dll View File


BIN
Assets/Photon/PhotonBolt/assemblies/bolt.user.dll.mdb View File


+ 17
- 0
Assets/Photon/PhotonBolt/project.json View File

@ -795,6 +795,23 @@
"ExtrapolationMaxFrames": 9, "ExtrapolationMaxFrames": 9,
"SnapMagnitude": 10.0 "SnapMagnitude": 10.0
} }
},
{
"Name": "Equipment",
"Enabled": true,
"Expanded": true,
"ReplicationMode": 1,
"Priority": 1,
"PropertyType": {
"$type": "Bolt.Compiler.PropertyTypeProtocolToken, bolt.compiler"
},
"AssetSettings": {
"$type": "Bolt.Compiler.PropertyStateSettings, bolt.compiler",
"ExtrapolationErrorTolerance": 0.25,
"_ExtrapolationCorrectionFrames": 6,
"ExtrapolationMaxFrames": 9,
"SnapMagnitude": 10.0
}
} }
], ],
"PacketMaxBits": 512, "PacketMaxBits": 512,


+ 1
- 1
Packages/packages-lock.json View File

@ -34,7 +34,7 @@
"depth": 0, "depth": 0,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {
"com.unity.test-framework": "1.1.3"
"com.unity.test-framework": "1.1.1"
}, },
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },


Loading…
Cancel
Save