Browse Source

Unit Reveal

bolt_update
laurids 3 years ago
parent
commit
a4a9c3432e
25 changed files with 2584 additions and 77 deletions
  1. +143
    -0
      Assets/GWConquest/Animations/BattleUnitIconVisible.anim
  2. +8
    -0
      Assets/GWConquest/Animations/BattleUnitIconVisible.anim.meta
  3. +143
    -0
      Assets/GWConquest/Animations/UnitHidden.anim
  4. +8
    -0
      Assets/GWConquest/Animations/UnitHidden.anim.meta
  5. +1219
    -0
      Assets/GWConquest/Animations/UnitRevealed.anim
  6. +8
    -0
      Assets/GWConquest/Animations/UnitRevealed.anim.meta
  7. BIN
      Assets/GWConquest/Audio/Sounds/Aufdecken Version (2).wav
  8. +36
    -0
      Assets/GWConquest/Audio/Sounds/Aufdecken Version (2).wav.meta
  9. +113
    -1
      Assets/GWConquest/Prefabs/UI/BattleFormationUI.prefab
  10. +82
    -3
      Assets/GWConquest/Prefabs/UI/BattleUnitIcon.prefab
  11. +0
    -10
      Assets/GWConquest/Prefabs/UI/BattleUnitIconFlank.prefab
  12. +14
    -0
      Assets/GWConquest/Scenes/GalaxyMap.unity
  13. +158
    -41
      Assets/GWConquest/Scripts/Battle.cs
  14. +18
    -0
      Assets/GWConquest/Scripts/Formation.cs
  15. +9
    -0
      Assets/GWConquest/Scripts/GameManager.cs
  16. +16
    -5
      Assets/GWConquest/Scripts/UI/BattleFormationUI.cs
  17. +56
    -11
      Assets/GWConquest/Scripts/UI/BattleUnitIcon.cs
  18. +20
    -2
      Assets/GWConquest/Scripts/Unit.cs
  19. +149
    -4
      Assets/GWConquest/Textures/Effects/Explosion 04/BattleUnitIcon.controller
  20. BIN
      Assets/GWConquest/Textures/Icons/Auffdeck.png
  21. +128
    -0
      Assets/GWConquest/Textures/Icons/Auffdeck.png.meta
  22. BIN
      Assets/GWConquest/Textures/Icons/Plus hidden.png
  23. +128
    -0
      Assets/GWConquest/Textures/Icons/Plus hidden.png.meta
  24. BIN
      Assets/GWConquest/Textures/Icons/UnknownIdentity.png
  25. +128
    -0
      Assets/GWConquest/Textures/Icons/UnknownIdentity.png.meta

+ 143
- 0
Assets/GWConquest/Animations/BattleUnitIconVisible.anim View File

@ -0,0 +1,143 @@
%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: BattleUnitIconVisible
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: 1
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Enabled
path: Image/UnitSprite
classID: 114
script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
- 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: HiddenSprite
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: 4179961175
attribute: 3305885265
script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
typeID: 114
customType: 24
isPPtrCurve: 0
- serializedVersion: 2
path: 2136041746
attribute: 2086281974
script: {fileID: 0}
typeID: 1
customType: 0
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: 1
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Enabled
path: Image/UnitSprite
classID: 114
script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
- 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: HiddenSprite
classID: 1
script: {fileID: 0}
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

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

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

+ 143
- 0
Assets/GWConquest/Animations/UnitHidden.anim View File

@ -0,0 +1,143 @@
%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: UnitHidden
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: 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: HiddenSprite
classID: 1
script: {fileID: 0}
- 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_Enabled
path: Image/UnitSprite
classID: 114
script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
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: 2136041746
attribute: 2086281974
script: {fileID: 0}
typeID: 1
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 4179961175
attribute: 3305885265
script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
typeID: 114
customType: 24
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: 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: HiddenSprite
classID: 1
script: {fileID: 0}
- 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_Enabled
path: Image/UnitSprite
classID: 114
script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

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

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

+ 1219
- 0
Assets/GWConquest/Animations/UnitRevealed.anim
File diff suppressed because it is too large
View File


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

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

BIN
Assets/GWConquest/Audio/Sounds/Aufdecken Version (2).wav View File


+ 36
- 0
Assets/GWConquest/Audio/Sounds/Aufdecken Version (2).wav.meta View File

@ -0,0 +1,36 @@
fileFormatVersion: 2
guid: 8085425baf1f9a14ea33ff563a5946f7
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 0
quality: 1
conversionMode: 0
platformSettingOverrides:
4:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 3
quality: 1
conversionMode: 0
7:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

+ 113
- 1
Assets/GWConquest/Prefabs/UI/BattleFormationUI.prefab View File

@ -61,6 +61,7 @@ MonoBehaviour:
IconOffset: 5 IconOffset: 5
IconWidth: 65 IconWidth: 65
HeightOffset: 115 HeightOffset: 115
AdditionalUnitsTransform: {fileID: 3351891529143914317}
IconList: [] IconList: []
--- !u!1 &1449688029961108905 --- !u!1 &1449688029961108905
GameObject: GameObject:
@ -88,7 +89,8 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Children:
- {fileID: 3351891529143914317}
m_Father: {fileID: 5570040505184824571} m_Father: {fileID: 5570040505184824571}
m_RootOrder: 3 m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -365,6 +367,116 @@ MonoBehaviour:
m_StringArgument: m_StringArgument:
m_BoolArgument: 0 m_BoolArgument: 0
m_CallState: 2 m_CallState: 2
--- !u!1 &8842126817216547551
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8295567973957574023}
- component: {fileID: 1144358204157973416}
- component: {fileID: 3713715237676765830}
m_Layer: 5
m_Name: UnitSprite (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8295567973957574023
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8842126817216547551}
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: 3351891529143914317}
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: -12, y: -12}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1144358204157973416
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8842126817216547551}
m_CullTransparentMesh: 0
--- !u!114 &3713715237676765830
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8842126817216547551}
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: 3320ae9b45395b342bfd897028ac3a04, 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 &8946067711055403252
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3351891529143914317}
m_Layer: 5
m_Name: AdditionalUnits
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &3351891529143914317
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8946067711055403252}
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: 8295567973957574023}
m_Father: {fileID: 1344135612055161323}
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: 7, y: -8.400024}
m_SizeDelta: {x: 65, y: 65}
m_Pivot: {x: 0, y: 1}
--- !u!1001 &1034474529041651908 --- !u!1001 &1034474529041651908
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0


+ 82
- 3
Assets/GWConquest/Prefabs/UI/BattleUnitIcon.prefab View File

@ -359,6 +359,7 @@ RectTransform:
- {fileID: 4629381076523769751} - {fileID: 4629381076523769751}
- {fileID: 6898856656273588703} - {fileID: 6898856656273588703}
- {fileID: 7828031372068586346} - {fileID: 7828031372068586346}
- {fileID: 5765232286481110788}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -422,8 +423,12 @@ MonoBehaviour:
CooldownCircle: {fileID: 3539772687376827173} CooldownCircle: {fileID: 3539772687376827173}
DeathCooldownCircle: {fileID: 3199296644108007849} DeathCooldownCircle: {fileID: 3199296644108007849}
MovingImage: {fileID: 4786849233992573069} MovingImage: {fileID: 4786849233992573069}
StatusImage: {fileID: 7387958236946746166}
ArrivingSprite: {fileID: 21300000, guid: 884e7f442980edb45b847b7ae7ef30e4, type: 3} ArrivingSprite: {fileID: 21300000, guid: 884e7f442980edb45b847b7ae7ef30e4, type: 3}
DepartingSprite: {fileID: 21300000, guid: 318cb5a21fce1e0408e517d97f036ecc, type: 3} DepartingSprite: {fileID: 21300000, guid: 318cb5a21fce1e0408e517d97f036ecc, type: 3}
HiddenSprite: {fileID: 21300000, guid: a4b8a15b2cf7e6041b3ee2999fd8e79b, type: 3}
HiddenStatusSprite: {fileID: 21300000, guid: 52cf9d7d1ffe75741ab927df56f1218d, type: 3}
DemoralizedSprite: {fileID: 21300000, guid: fd4e57d78cebde94c93491472fc3e29e, type: 3}
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}
@ -567,7 +572,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1687732571317619585} m_GameObject: {fileID: 1687732571317619585}
m_Enabled: 0
m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name: m_Name:
@ -579,7 +584,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 0}
m_Sprite: {fileID: 21300000, guid: a13e4fd06023d8145befca57571b0a8a, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@ -811,6 +816,80 @@ MonoBehaviour:
m_FillOrigin: 0 m_FillOrigin: 0
m_UseSpriteMesh: 0 m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1 m_PixelsPerUnitMultiplier: 1
--- !u!1 &5712662313723679478
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5765232286481110788}
- component: {fileID: 7476712986409313717}
- component: {fileID: 5474159684636903606}
m_Layer: 5
m_Name: HiddenSprite
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &5765232286481110788
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5712662313723679478}
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: 1687732570946376589}
m_RootOrder: 9
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}
--- !u!222 &7476712986409313717
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5712662313723679478}
m_CullTransparentMesh: 0
--- !u!114 &5474159684636903606
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5712662313723679478}
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.68235296}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: a4b8a15b2cf7e6041b3ee2999fd8e79b, 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 &6428253065459701782 --- !u!1 &6428253065459701782
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1024,7 +1103,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: fd4e57d78cebde94c93491472fc3e29e, type: 3}
m_Sprite: {fileID: 0}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1


+ 0
- 10
Assets/GWConquest/Prefabs/UI/BattleUnitIconFlank.prefab View File

@ -151,16 +151,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1687732571317619599, guid: 70bba337c1bb2d64e83a214cd4a781ea,
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 0}
- target: {fileID: 1687732571317619599, guid: 70bba337c1bb2d64e83a214cd4a781ea,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 70bba337c1bb2d64e83a214cd4a781ea, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 70bba337c1bb2d64e83a214cd4a781ea, type: 3}
--- !u!1 &6000337078063549025 stripped --- !u!1 &6000337078063549025 stripped


+ 14
- 0
Assets/GWConquest/Scenes/GalaxyMap.unity View File

@ -28329,6 +28329,14 @@ MonoBehaviour:
DefaultStorageCapacity: 10000 DefaultStorageCapacity: 10000
MaxStackSize: 500 MaxStackSize: 500
DefaultProductionCooldown: 1 DefaultProductionCooldown: 1
StartRevealChance: 0.5
StartFullRevealChance: 0.5
RevealTurnLength: 30
RevealTurnDeviation: 10
RevealChanceFlank: 0.9
RevealChanceOther: 0.5
RevealChanceSelf: 0.1
RevealChanceAttack: 0.3
SpawnAIPlayer: 1 SpawnAIPlayer: 1
--- !u!4 &426309784 --- !u!4 &426309784
Transform: Transform:
@ -98827,6 +98835,12 @@ MonoBehaviour:
pitchDiff: -0.15 pitchDiff: -0.15
skipSecs: 0 skipSecs: 0
alternativeClips: [] alternativeClips: []
- name: Reveal
audioClip: {fileID: 8300000, guid: 8085425baf1f9a14ea33ff563a5946f7, type: 3}
volume: 0.6
pitchDiff: 0
skipSecs: 0
alternativeClips: []
- name: MusicPreparing - name: MusicPreparing
audioClip: {fileID: 8300000, guid: 44e54bfc96eb3224c874bc44f40e1d52, type: 3} audioClip: {fileID: 8300000, guid: 44e54bfc96eb3224c874bc44f40e1d52, type: 3}
volume: 0.2 volume: 0.2


+ 158
- 41
Assets/GWConquest/Scripts/Battle.cs View File

@ -20,13 +20,12 @@ namespace GWConquest
private enum UnitActionType { private enum UnitActionType {
Combat, Shelling
Combat, Shelling, Reveal, RevealSelf
} }
[System.Serializable] [System.Serializable]
private class UnitAction { private class UnitAction {
public Unit Unit; public Unit Unit;
public BattleFlank BattleFlank;
public int WeaponIndex; public int WeaponIndex;
public float ActionTime; public float ActionTime;
public UnitActionType ActionType = UnitActionType.Combat; public UnitActionType ActionType = UnitActionType.Combat;
@ -34,6 +33,36 @@ namespace GWConquest
public WeaponStats Weapon { public WeaponStats Weapon {
get => Unit.Class.WeaponStatsArray[WeaponIndex]; get => Unit.Class.WeaponStatsArray[WeaponIndex];
} }
public void RenewAction()
{
GameManager gm = GameManager.Instance;
float attackDelay;
if(ActionType == UnitActionType.Reveal || ActionType == UnitActionType.RevealSelf)
{
attackDelay = Random.Range(gm.RevealTurnLength - gm.RevealTurnDeviation, gm.RevealTurnLength + gm.RevealTurnDeviation);
//attackDelay /= Weapon.AttackCount;
}
else {
attackDelay = Random.Range(gm.BattleTurnLength - gm.BattleTurnDeviation, gm.BattleTurnLength + gm.BattleTurnDeviation);
attackDelay /= Weapon.AttackCount;
}
ActionTime = Time.fixedTime + attackDelay;
}
public bool IsValid()
{
if(ActionType == UnitActionType.RevealSelf)
{
return Unit.RevealState != RevealState.Visible;
}
else
{
return true;
}
}
} }
public int FlankCount { public int FlankCount {
@ -249,7 +278,13 @@ namespace GWConquest
{ {
SimulateUnitAction(action); SimulateUnitAction(action);
RenewUnitAction(action);
if(action.IsValid())
{
action.RenewAction();
}
else {
UnitActions.Remove(action);
}
hasChanges = true; hasChanges = true;
} }
@ -278,7 +313,6 @@ namespace GWConquest
private void AddCombatActions(Unit unit) private void AddCombatActions(Unit unit)
{ {
float time = Time.fixedTime;
if(unit.CurrentFlank != null && !unit.IsDead) if(unit.CurrentFlank != null && !unit.IsDead)
{ {
var weapons = unit.Class.WeaponStatsArray; var weapons = unit.Class.WeaponStatsArray;
@ -286,10 +320,9 @@ namespace GWConquest
{ {
var action = new UnitAction() { var action = new UnitAction() {
Unit = unit, Unit = unit,
BattleFlank = unit.CurrentFlank,
WeaponIndex = i WeaponIndex = i
}; };
RenewUnitAction(action);
action.RenewAction();
UnitActions.Add(action); UnitActions.Add(action);
} }
} }
@ -297,7 +330,6 @@ namespace GWConquest
private void AddShellingActions(Unit unit) private void AddShellingActions(Unit unit)
{ {
float time = Time.fixedTime;
if(!unit.IsDead) if(!unit.IsDead)
{ {
var weapons = unit.Class.WeaponStatsArray; var weapons = unit.Class.WeaponStatsArray;
@ -305,25 +337,26 @@ namespace GWConquest
{ {
var action = new UnitAction() { var action = new UnitAction() {
Unit = unit, Unit = unit,
BattleFlank = null,
WeaponIndex = i, WeaponIndex = i,
ActionType = UnitActionType.Shelling ActionType = UnitActionType.Shelling
}; };
RenewUnitAction(action);
action.RenewAction();
UnitActions.Add(action); UnitActions.Add(action);
} }
} }
} }
private void RenewUnitAction(UnitAction action)
private void AddGenericAction(Unit unit, UnitActionType actionType)
{ {
var attackCount = action.Weapon.AttackCount;
var gm = GameManager.Instance;
float attackDelay = Random.Range(gm.BattleTurnLength - gm.BattleTurnDeviation, gm.BattleTurnLength + gm.BattleTurnDeviation);
attackDelay /= attackCount;
action.ActionTime = Time.fixedTime + attackDelay;
if(!unit.IsDead)
{
var action = new UnitAction() {
Unit = unit,
ActionType = actionType
};
action.RenewAction();
UnitActions.Add(action);
}
} }
private void RemoveUnitActions(Unit unit) private void RemoveUnitActions(Unit unit)
@ -333,11 +366,14 @@ namespace GWConquest
private void SimulateUnitAction(UnitAction action) private void SimulateUnitAction(UnitAction action)
{ {
var unit = action.Unit;
var flank = action.BattleFlank;
BoltLog.Info("Simulating action for unit {0} on flank {1}", unit, flank);
BoltLog.Info("Simulating action {0} for unit {1} on flank {2}", action.ActionType, action.Unit, action.Unit.CurrentFlank);
if(action.ActionType == UnitActionType.RevealSelf)
{
PerformRevealSelf(action);
return;
}
var weapon = action.Weapon;
var target = FindTargetForCombat(action); var target = FindTargetForCombat(action);
@ -346,6 +382,44 @@ namespace GWConquest
return; return;
} }
if(action.ActionType == UnitActionType.Reveal)
{
PerformReveal(action, target);
}
else {
PerformAttack(action, target);
}
}
private void PerformReveal(UnitAction action, Unit target)
{
var flank = action.Unit.CurrentFlank;
bool areOnOpposingFlanks = flank != null && flank.OpposingFlank == target.CurrentFlank;
float chance = areOnOpposingFlanks ? GameManager.Instance.RevealChanceFlank : GameManager.Instance.RevealChanceOther;
if(!Check(chance))
return;
BoltLog.Info("Revealing unit {0} from unit {1}", target, action.Unit);
target.IncreaseRevealLevel();
}
private void PerformRevealSelf(UnitAction action)
{
if(!Check(GameManager.Instance.RevealChanceSelf))
return;
BoltLog.Info("Revealing unit {0} by itself", action.Unit);
action.Unit.IncreaseRevealLevel();
}
private void PerformAttack(UnitAction action, Unit target)
{
var weapon = action.Weapon;
if(!Check(weapon.Accuracy)) if(!Check(weapon.Accuracy))
return; return;
@ -360,12 +434,12 @@ namespace GWConquest
if(damage < 0) if(damage < 0)
damage = 0; damage = 0;
BoltLog.Info("Dealing {0} HP damage (armour modifier: {1}) to unit {2} from unit {3}", damage, modifier, target, unit);
BoltLog.Info("Dealing {0} HP damage (armour modifier: {1}) to unit {2} from unit {3}", damage, modifier, target, action.Unit);
bool isGlancingHit = damage == 0 || modifier < 1f; bool isGlancingHit = damage == 0 || modifier < 1f;
WeaponType weaponType; WeaponType weaponType;
if(unit.Class.UnitType == UnitType.Infantry)
if(action.Unit.Class.UnitType == UnitType.Infantry)
{ {
weaponType = WeaponType.Light; weaponType = WeaponType.Light;
} }
@ -373,33 +447,47 @@ namespace GWConquest
weaponType = weapon.Penetration > 1f ? WeaponType.Heavy : WeaponType.MG; weaponType = weapon.Penetration > 1f ? WeaponType.Heavy : WeaponType.MG;
} }
target.TakeDamage(damage, unit, isGlancingHit, weaponType);
target.TakeDamage(damage, action.Unit, isGlancingHit, weaponType);
if(target.RevealState != RevealState.Visible)
{
target.RevealState = RevealState.Visible;
}
if(action.Unit.RevealState != RevealState.Visible)
{
if(Check(GameManager.Instance.RevealChanceAttack))
{
BoltLog.Info("Revealing unit {0} as it attacked unit {1}", action.Unit, target);
action.Unit.IncreaseRevealLevel();
}
}
} }
private Unit FindTargetForCombat(UnitAction action) private Unit FindTargetForCombat(UnitAction action)
{ {
var flank = action.Unit.CurrentFlank;
IEnumerable<Unit> targets; IEnumerable<Unit> targets;
if(action.ActionType == UnitActionType.Combat && action.BattleFlank != null)
if(action.ActionType == UnitActionType.Combat && flank != null)
{ {
targets = action.BattleFlank.OpposingFlank.Units;
targets = flank.OpposingFlank.Units;
if(IsSpaceBattle) if(IsSpaceBattle)
{ {
var attackRange = action.Unit.Class.AttackRange; var attackRange = action.Unit.Class.AttackRange;
var ownRow = action.BattleFlank.GetRowForUnit(action.Unit);
var ownRow = flank.GetRowForUnit(action.Unit);
targets = targets.Where(u => { targets = targets.Where(u => {
var enemyRow = u.CurrentFlank.GetRowForUnit(u); var enemyRow = u.CurrentFlank.GetRowForUnit(u);
return Mathf.Abs(enemyRow-ownRow) <= attackRange; return Mathf.Abs(enemyRow-ownRow) <= attackRange;
}); });
} }
targets = targets.Where(u => !u.Class.IsHero && !u.IsDead);
targets = targets.Where(u => !u.Class.IsHero && !u.IsDead && u.RevealState != RevealState.FullHidden);
if(targets.FirstOrDefault() == null) if(targets.FirstOrDefault() == null)
{ {
targets = AllUnits.Where(u => !u.Class.IsHero && !u.IsDead && u.Player != action.Unit.Player && u.IsInReserve);
targets = AllUnits.Where(u => !u.Class.IsHero && !u.IsDead && u.Player != action.Unit.Player && u.IsInReserve && u.RevealState != RevealState.FullHidden);
} }
} }
else if(action.ActionType == UnitActionType.Shelling) { else if(action.ActionType == UnitActionType.Shelling) {
@ -414,6 +502,16 @@ namespace GWConquest
targets = targets.Where(u => !u.Class.IsHero && !u.IsDead); targets = targets.Where(u => !u.Class.IsHero && !u.IsDead);
} }
else if(action.ActionType == UnitActionType.Reveal) {
targets = flank.OpposingFlank.Units;
targets = targets.Where(u => !u.Class.IsHero && !u.IsDead && u.RevealState != RevealState.Visible);
if(targets.FirstOrDefault() == null)
{
targets = AllUnits.Where(u => !u.Class.IsHero && !u.IsDead && u.Player != action.Unit.Player && u.RevealState != RevealState.Visible);
}
}
else { else {
throw new System.NotImplementedException(); throw new System.NotImplementedException();
} }
@ -423,24 +521,34 @@ namespace GWConquest
return null; return null;
} }
float penetration = action.Unit.Class.WeaponStatsArray[action.WeaponIndex].Penetration;
List<Unit> tList;
IEnumerable<Unit> penTargets = null;;
for(float p = penetration; p >= 0; p--)
if(action.ActionType == UnitActionType.Combat)
{ {
penTargets = targets.Where(u => u.Armour <= p && u.Armour > p - 1);
if(penTargets.FirstOrDefault() != null)
float penetration = action.Unit.Class.WeaponStatsArray[action.WeaponIndex].Penetration;
IEnumerable<Unit> penTargets = null;;
for(float p = penetration; p >= 0; p--)
{ {
break;
penTargets = targets.Where(u => u.Armour <= p && u.Armour > p - 1);
if(penTargets.FirstOrDefault() != null)
{
break;
}
} }
}
if(penTargets == null || penTargets.FirstOrDefault() == null)
{
penTargets = targets;
if(penTargets == null || penTargets.FirstOrDefault() == null)
{
penTargets = targets;
}
tList = penTargets.ToList();
}
else {
tList = targets.ToList();
} }
var tList = penTargets.ToList();
int randomInd = Random.Range(0, tList.Count); int randomInd = Random.Range(0, tList.Count);
return tList[randomInd]; return tList[randomInd];
@ -450,9 +558,18 @@ namespace GWConquest
{ {
RemoveUnitActions(unit); RemoveUnitActions(unit);
if(!IsSpaceBattle && unit.RevealState != RevealState.Visible)
{
AddGenericAction(unit, UnitActionType.RevealSelf);
}
if(unit.BattleState == BattleUnitState.OnFlank) if(unit.BattleState == BattleUnitState.OnFlank)
{ {
AddCombatActions(unit); AddCombatActions(unit);
if(!IsSpaceBattle)
{
AddGenericAction(unit, UnitActionType.Reveal);
}
} }
else if(unit.BattleState == BattleUnitState.Shelling) else if(unit.BattleState == BattleUnitState.Shelling)
{ {
@ -507,7 +624,7 @@ namespace GWConquest
unit.SetActionCooldown(GameManager.Instance.MoveToReserveCooldown / movement); unit.SetActionCooldown(GameManager.Instance.MoveToReserveCooldown / movement);
} }
private static bool Check(float chance) {
public static bool Check(float chance) {
return Random.Range(0f, 1f) <= chance; return Random.Range(0f, 1f) <= chance;
} }


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

@ -787,10 +787,28 @@ namespace GWConquest
bool isArriving = MovementState == FormationMovementState.FinishingMovement; bool isArriving = MovementState == FormationMovementState.FinishingMovement;
GameManager gm = GameManager.Instance;
foreach(Unit u in Units) foreach(Unit u in Units)
{ {
u.BattleState = isArriving ? BattleUnitState.Arriving : BattleUnitState.InReserve; u.BattleState = isArriving ? BattleUnitState.Arriving : BattleUnitState.InReserve;
u.state.ActionCooldown = 0; u.state.ActionCooldown = 0;
if(!battle.IsSpaceBattle && !u.Class.IsHero)
{
if(Battle.Check(gm.StartRevealChance))
{
if(Battle.Check(gm.StartFullRevealChance))
{
u.RevealState = RevealState.Visible;
}
else {
u.RevealState = RevealState.ClassHidden;
}
}
else {
u.RevealState = RevealState.FullHidden;
}
}
} }
} }


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

@ -37,6 +37,15 @@ namespace GWConquest
public float DefaultProductionCooldown; public float DefaultProductionCooldown;
public float StartRevealChance;
public float StartFullRevealChance;
public float RevealTurnLength;
public float RevealTurnDeviation;
public float RevealChanceFlank;
public float RevealChanceOther;
public float RevealChanceSelf;
public float RevealChanceAttack;
public bool SpawnAIPlayer; public bool SpawnAIPlayer;
public bool IsLoaded { get; private set; } = false; public bool IsLoaded { get; private set; } = false;


+ 16
- 5
Assets/GWConquest/Scripts/UI/BattleFormationUI.cs View File

@ -19,6 +19,8 @@ namespace GWConquest {
public float HeightOffset; public float HeightOffset;
private float CurrentHeight; private float CurrentHeight;
public RectTransform AdditionalUnitsTransform;
[System.NonSerialized] [System.NonSerialized]
public Formation Formation; public Formation Formation;
@ -51,7 +53,7 @@ namespace GWConquest {
public IEnumerable<Unit> GetShownUnits() public IEnumerable<Unit> GetShownUnits()
{ {
return Formation.Units.Where(u => u.IsInReserve && u != Formation.HeroUnit && !u.DeathAnimPlayed);
return Formation.Units.Where(u => u.IsInReserve && u != Formation.HeroUnit && !u.DeathAnimPlayed && (u.Player == Player.CurrentPlayer || u.RevealState != RevealState.FullHidden));
} }
public void UpdateUnitIcons() public void UpdateUnitIcons()
@ -111,11 +113,15 @@ namespace GWConquest {
IconTransform.ForceUpdateRectTransforms(); IconTransform.ForceUpdateRectTransforms();
float width = IconTransform.rect.width; float width = IconTransform.rect.width;
var TransformList = IconList.Select(i => i.GetComponent<RectTransform>()).ToList();
TransformList.Add(AdditionalUnitsTransform);
int unitsPerRow = Mathf.FloorToInt(width / (IconWidth + IconOffset)); int unitsPerRow = Mathf.FloorToInt(width / (IconWidth + IconOffset));
int rowCount = Mathf.CeilToInt((float)IconList.Count / unitsPerRow);
int rowCount = Mathf.CeilToInt((float)TransformList.Count / unitsPerRow);
for(int i = 0; i < IconList.Count; i++)
for(int i = 0; i < TransformList.Count; i++)
{ {
int ix = i % unitsPerRow; int ix = i % unitsPerRow;
int iy = (i-ix) / unitsPerRow; int iy = (i-ix) / unitsPerRow;
@ -125,8 +131,8 @@ namespace GWConquest {
var pos = new Vector2(posx, -posy); var pos = new Vector2(posx, -posy);
var icon = IconList[i];
icon.GetComponent<RectTransform>().anchoredPosition = pos;
var trans = TransformList[i];
trans.anchoredPosition = pos;
} }
float iconTransformHeight = (rowCount + 1) * IconOffset + rowCount * IconWidth; float iconTransformHeight = (rowCount + 1) * IconOffset + rowCount * IconWidth;
@ -145,6 +151,11 @@ namespace GWConquest {
} }
LeaderIcon.UpdateMovementState(Formation); LeaderIcon.UpdateMovementState(Formation);
var hasHiddenUnits = Formation.Player != Player.CurrentPlayer
&& Formation.Units.Where(u => !u.IsDead && u.RevealState == RevealState.FullHidden).FirstOrDefault() != null;
AdditionalUnitsTransform.gameObject.SetActive(hasHiddenUnits);
} }
public void OnNameClicked() public void OnNameClicked()


+ 56
- 11
Assets/GWConquest/Scripts/UI/BattleUnitIcon.cs View File

@ -13,9 +13,13 @@ namespace GWConquest {
public Image CooldownCircle; public Image CooldownCircle;
public Image DeathCooldownCircle; public Image DeathCooldownCircle;
public Image MovingImage; public Image MovingImage;
public Image StatusImage;
public Sprite ArrivingSprite; public Sprite ArrivingSprite;
public Sprite DepartingSprite; public Sprite DepartingSprite;
public Sprite HiddenSprite;
public Sprite HiddenStatusSprite;
public Sprite DemoralizedSprite;
public Color healthyColor; public Color healthyColor;
public Color mediumColor; public Color mediumColor;
@ -36,7 +40,12 @@ namespace GWConquest {
private RectTransform ImageTransform; private RectTransform ImageTransform;
private bool revealAnimPlayed = false;
private Animator Animator; private Animator Animator;
public bool IsHidden {
get => Unit != null && Unit.Player != Player.CurrentPlayer && Unit.RevealState == RevealState.FullHidden;
}
public static int Compare(Unit a, Unit b) public static int Compare(Unit a, Unit b)
{ {
@ -55,16 +64,25 @@ namespace GWConquest {
public void Init(Unit u) public void Init(Unit u)
{ {
Unit = u; Unit = u;
if(Unit != null)
if(Unit != null && !IsHidden)
{ {
Unit.CurrentIcon = this; Unit.CurrentIcon = this;
IconImage.sprite = Unit.Class.Sprite; IconImage.sprite = Unit.Class.Sprite;
IconImage.enabled = true;
if(Unit.Player != Player.CurrentPlayer && Unit.RevealState == RevealState.ClassHidden)
{
GetComponent<Animator>().SetBool("Hidden", true);
}
else {
GetComponent<Animator>().SetBool("Hidden", false);
}
IconImage.gameObject.SetActive(true);
} }
else { else {
IconImage.sprite = null; IconImage.sprite = null;
IconImage.enabled = false;
IconImage.gameObject.SetActive(false);
} }
ImageTransform = IconImage.GetComponent<RectTransform>(); ImageTransform = IconImage.GetComponent<RectTransform>();
@ -89,9 +107,22 @@ namespace GWConquest {
public void UpdateIcon() public void UpdateIcon()
{ {
if(Unit != null && !Unit.DeathAnimPlayed)
{
if(Unit.Hitpoints < Unit.Class.Hitpoints)
if(Unit != null && !Unit.DeathAnimPlayed && !IsHidden)
{
if(Unit.Player != Player.CurrentPlayer && Unit.RevealState == RevealState.ClassHidden)
{
GetComponent<Animator>().SetBool("Hidden", true);
}
else {
if(!revealAnimPlayed)
{
SoundEffects.Instance.PlayEffect("Reveal");
revealAnimPlayed = true;
}
GetComponent<Animator>().SetBool("Hidden", false);
}
if(Unit.Hitpoints < Unit.Class.Hitpoints && (Unit.Player == Player.CurrentPlayer || Unit.RevealState == RevealState.Visible))
{ {
HealthBarGO.SetActive(true); HealthBarGO.SetActive(true);
float percentage = (float) Unit.Hitpoints / Unit.Class.Hitpoints; float percentage = (float) Unit.Hitpoints / Unit.Class.Hitpoints;
@ -107,22 +138,36 @@ namespace GWConquest {
else { else {
HealthBar.color = criticalColor; HealthBar.color = criticalColor;
} }
IconImage.enabled = true;
IconImage.gameObject.SetActive(true);
} }
else { else {
HealthBarGO.SetActive(false); HealthBarGO.SetActive(false);
} }
GetComponent<Animator>().SetBool("StatusIcon", Unit.IsDemoralized);
if(Unit.IsDemoralized)
{
GetComponent<Animator>().SetBool("StatusIcon", true);
StatusImage.sprite = DemoralizedSprite;
}
else if(Unit.Player == Player.CurrentPlayer && Unit.RevealState != RevealState.Visible)
{
GetComponent<Animator>().SetBool("StatusIcon", true);
StatusImage.sprite = HiddenStatusSprite;
}
else {
GetComponent<Animator>().SetBool("StatusIcon", false);
}
} }
else { else {
HealthBarGO.SetActive(false); HealthBarGO.SetActive(false);
IconImage.enabled = false;
IconImage.gameObject.SetActive(false);
GetComponent<Animator>().SetBool("StatusIcon", false); GetComponent<Animator>().SetBool("StatusIcon", false);
} }
if(Unit != null && Unit.ActionCooldown > 0)
if(Unit != null && !IsHidden && Unit.ActionCooldown > 0)
{ {
GetComponent<Animator>().SetBool("Cooldown", true); GetComponent<Animator>().SetBool("Cooldown", true);
CooldownCircle.fillAmount = Unit.ActionCooldownPercent; CooldownCircle.fillAmount = Unit.ActionCooldownPercent;
@ -273,7 +318,7 @@ namespace GWConquest {
public override bool CanDrag() public override bool CanDrag()
{ {
return IsDraggable && Unit != null && !Unit.IsDead && !Unit.IsDemoralized;
return IsDraggable && Unit != null && !Unit.IsDead && !Unit.IsDemoralized && !IsHidden;
} }
public void FlipIcon() public void FlipIcon()


+ 20
- 2
Assets/GWConquest/Scripts/Unit.cs View File

@ -90,7 +90,16 @@ namespace GWConquest
public RevealState RevealState { public RevealState RevealState {
get => (RevealState) State.RevealState; get => (RevealState) State.RevealState;
set => State.RevealState = (int) value;
set {
State.RevealState = (int) value;
if(BoltNetwork.IsServer)
{
if(CurrentBattle != null)
{
CurrentBattle.OnBattleStateChanged(this);
}
}
}
} }
public float ActionCooldown { public float ActionCooldown {
@ -387,7 +396,16 @@ namespace GWConquest
} }
} }
public void IncreaseRevealLevel()
{
if(RevealState == RevealState.FullHidden)
{
RevealState = RevealState.ClassHidden;
}
else {
RevealState = RevealState.Visible;
}
}
} }

+ 149
- 4
Assets/GWConquest/Textures/Effects/Explosion 04/BattleUnitIcon.controller View File

@ -143,6 +143,31 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1101 &-7277546904749169906
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: Hidden
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -6677263466175471402}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-7210115677491508529 --- !u!1102 &-7210115677491508529
AnimatorState: AnimatorState:
serializedVersion: 5 serializedVersion: 5
@ -180,7 +205,7 @@ AnimatorStateMachine:
m_ChildStates: m_ChildStates:
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: -5192770744076417575} m_State: {fileID: -5192770744076417575}
m_Position: {x: 250, y: 0, z: 0}
m_Position: {x: 200, y: 0, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: -3473988378507739373} m_State: {fileID: -3473988378507739373}
m_Position: {x: 340, y: 130, z: 0} m_Position: {x: 340, y: 130, z: 0}
@ -198,10 +223,16 @@ AnimatorStateMachine:
m_Position: {x: 570, y: 120, z: 0} m_Position: {x: 570, y: 120, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1475231742661112934} m_State: {fileID: 1475231742661112934}
m_Position: {x: 430, y: -100, z: 0}
m_Position: {x: 210, y: -140, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 2266516256237023940} m_State: {fileID: 2266516256237023940}
m_Position: {x: 620, y: -50, z: 0}
m_Position: {x: 860, y: -60, z: 0}
- serializedVersion: 1
m_State: {fileID: -1770372068141616432}
m_Position: {x: 590, y: -100, z: 0}
- serializedVersion: 1
m_State: {fileID: -6677263466175471402}
m_Position: {x: 380, y: -210, z: 0}
m_ChildStateMachines: [] m_ChildStateMachines: []
m_AnyStateTransitions: [] m_AnyStateTransitions: []
m_EntryTransitions: [] m_EntryTransitions: []
@ -212,6 +243,33 @@ AnimatorStateMachine:
m_ExitPosition: {x: 800, y: 120, z: 0} m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -3473988378507739373} m_DefaultState: {fileID: -3473988378507739373}
--- !u!1102 &-6677263466175471402
AnimatorState:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: UnitHidden
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 6546037170743449864}
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: 9f8b29a9d537c6e49a17baf544146eaf, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-6547434733399068819 --- !u!1102 &-6547434733399068819
AnimatorState: AnimatorState:
serializedVersion: 5 serializedVersion: 5
@ -443,6 +501,7 @@ AnimatorState:
- {fileID: 1309623086891913281} - {fileID: 1309623086891913281}
- {fileID: 4691944083144160486} - {fileID: 4691944083144160486}
- {fileID: 1655922625039171254} - {fileID: 1655922625039171254}
- {fileID: -7277546904749169906}
m_StateMachineBehaviours: [] m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0} m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0 m_IKOnFeet: 0
@ -452,7 +511,7 @@ AnimatorState:
m_MirrorParameterActive: 0 m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0 m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0 m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Motion: {fileID: 7400000, guid: 9817b21bb0eee284781294f8522b3c40, type: 2}
m_Tag: m_Tag:
m_SpeedParameter: m_SpeedParameter:
m_MirrorParameter: m_MirrorParameter:
@ -705,7 +764,56 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1102 &-1770372068141616432
AnimatorState:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: UnitRevealed
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -1637281950290547238}
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: af9a38feee9d3d341bfefd1a4ab32575, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-1758359728954625768 --- !u!1101 &-1758359728954625768
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -3473988378507739373}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-1637281950290547238
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
@ -947,6 +1055,18 @@ AnimatorController:
m_DefaultInt: 0 m_DefaultInt: 0
m_DefaultBool: 0 m_DefaultBool: 0
m_Controller: {fileID: 0} m_Controller: {fileID: 0}
- m_Name: Revealed
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
- m_Name: Hidden
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_AnimatorLayers: m_AnimatorLayers:
- serializedVersion: 5 - serializedVersion: 5
m_Name: Base Layer m_Name: Base Layer
@ -1430,6 +1550,31 @@ AnimatorStateTransition:
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
m_CanTransitionToSelf: 0 m_CanTransitionToSelf: 0
--- !u!1101 &6546037170743449864
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: Hidden
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -1770372068141616432}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &6776042932718093504 --- !u!1101 &6776042932718093504
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 3 m_ObjectHideFlags: 3


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

Before After
Width: 200  |  Height: 200  |  Size: 3.9 KiB

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

@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 6b76115b0fcbcf74587ee896b616419e
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/Textures/Icons/Plus hidden.png View File

Before After
Width: 88  |  Height: 88  |  Size: 1.6 KiB

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

@ -0,0 +1,128 @@
fileFormatVersion: 2
guid: 3320ae9b45395b342bfd897028ac3a04
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/Textures/Icons/UnknownIdentity.png View File

Before After
Width: 107  |  Height: 107  |  Size: 2.2 KiB

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

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

Loading…
Cancel
Save