Pull request #58: Feature/delete button

Merge in CGD/gather-and-defend from feature/delete_button to main

* commit '27d329df7170a12e850d11355ccd33118a94fb7e':
  fix unit cost not working anymore
  working delete feature + placeholder refactor
  refactor placement buttons to accomodate delete
  update database for prefabs and scriptableobjects
  add delete button
This commit is contained in:
Felix-gabriel Boucher-luneau 2024-01-26 00:18:01 +00:00
commit 9188e86adb
28 changed files with 1256 additions and 133 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,147 @@
fileFormatVersion: 2
guid: 96bf2058655c56f41aeb41d4a83c6278
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
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
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
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: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
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: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
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: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
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: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -0,0 +1,147 @@
fileFormatVersion: 2
guid: e878d0b5495f57848b3cf7c7c5e5e73a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
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
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
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: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
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: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
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: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
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: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,147 @@
fileFormatVersion: 2
guid: da989ec1317ef0647838724442ca92b4
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
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
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
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: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
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: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
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: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
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: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1,147 @@
fileFormatVersion: 2
guid: 613be35a1cee65344a778923f4b20bec
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
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
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
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: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
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: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
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: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
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: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -37,6 +37,7 @@ public class DatabaseEditor : Editor
} }
} }
} }
EditorUtility.SetDirty(target);
} }
} }

View File

@ -0,0 +1,133 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4504030131911750787
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4504030131911750786}
- component: {fileID: 2841308699909071456}
m_Layer: 0
m_Name: DeleteShovel
m_TagString: Untagged
m_Icon: {fileID: -5442936267250999957, guid: 0000000000000000d000000000000000, type: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4504030131911750786
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4504030131911750787}
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4504030132336179630}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2841308699909071456
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4504030131911750787}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 764223f248039ad4f91de22f479da2e5, type: 3}
m_Name:
m_EditorClassIdentifier:
_validColor: {r: 0, g: 1, b: 0, a: 1}
_invalidColor: {r: 1, g: 0, b: 0, a: 1}
--- !u!1 &4504030132336179628
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4504030132336179630}
- component: {fileID: 4504030132336179631}
m_Layer: 0
m_Name: delete_shovel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4504030132336179630
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4504030132336179628}
m_LocalRotation: {x: 0, y: 0, z: 0.92387956, w: 0.38268343}
m_LocalPosition: {x: 0.25, y: 0.25, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4504030131911750786}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 135}
--- !u!212 &4504030132336179631
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4504030132336179628}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 364159097
m_SortingLayer: 1
m_SortingOrder: 2
m_Sprite: {fileID: 21300000, guid: 613be35a1cee65344a778923f4b20bec, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 0.67, y: 1.32}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0

View File

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

View File

@ -696,6 +696,142 @@ MonoBehaviour:
m_StringArgument: m_StringArgument:
m_BoolArgument: 0 m_BoolArgument: 0
m_CallState: 2 m_CallState: 2
--- !u!1 &179679297
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 179679298}
- component: {fileID: 179679301}
- component: {fileID: 179679300}
- component: {fileID: 179679299}
- component: {fileID: 179679302}
m_Layer: 5
m_Name: Remove
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &179679298
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 179679297}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1092900232}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -50, y: 50}
m_SizeDelta: {x: 111, y: 137}
m_Pivot: {x: 1, y: 0}
--- !u!114 &179679299
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 179679297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 2
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: 21300000, guid: e878d0b5495f57848b3cf7c7c5e5e73a, type: 3}
m_PressedSprite: {fileID: 21300000, guid: da989ec1317ef0647838724442ca92b4, type: 3}
m_SelectedSprite: {fileID: 21300000, guid: e878d0b5495f57848b3cf7c7c5e5e73a, type: 3}
m_DisabledSprite: {fileID: 21300000, guid: 96bf2058655c56f41aeb41d4a83c6278, type: 3}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 179679300}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &179679300
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 179679297}
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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 96bf2058655c56f41aeb41d4a83c6278, 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!222 &179679301
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 179679297}
m_CullTransparentMesh: 1
--- !u!114 &179679302
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 179679297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bd64ba32c0dc69d40a067bbeb7f1b8f0, type: 3}
m_Name:
m_EditorClassIdentifier:
_outlineMaterial: {fileID: 2100000, guid: 7f87c7d6b4237a34ea92984757e5c269, type: 2}
_prefab: {fileID: 4504030131911750787, guid: e1e8c5d6f8d96ba42946fc4cd76c8825, type: 3}
--- !u!114 &180485348 stripped --- !u!114 &180485348 stripped
MonoBehaviour: MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 217791848456698108, guid: 5497dc5adfbe67341980c9d946816424, type: 3} m_CorrespondingSourceObject: {fileID: 217791848456698108, guid: 5497dc5adfbe67341980c9d946816424, type: 3}
@ -1693,7 +1829,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.size propertyPath: _prefabs.Array.size
value: 34 value: 32
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _folders.Array.data[2] propertyPath: _folders.Array.data[2]
@ -1704,45 +1840,133 @@ PrefabInstance:
value: value:
objectReference: {fileID: 102900000, guid: 53e5218fbb04cbd478369e415d099bdb, type: 3} objectReference: {fileID: 102900000, guid: 53e5218fbb04cbd478369e415d099bdb, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[22] propertyPath: _prefabs.Array.data[0]
value: value:
objectReference: {fileID: 3688217365857929929, guid: b116bc5489ed8524da52c4dbc835640e, type: 3} objectReference: {fileID: 3688217365857929929, guid: b116bc5489ed8524da52c4dbc835640e, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[23] propertyPath: _prefabs.Array.data[1]
value:
objectReference: {fileID: 6962989255644195630, guid: 377c7275c0001cc47a6b8926ac57d573, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[2]
value:
objectReference: {fileID: 6962989255644195630, guid: 869a03bba705e8d4485aa73daad773dc, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[3]
value:
objectReference: {fileID: 1436362432952518814, guid: 8d56b160dedb7f84d830d749372fe8e8, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[4]
value: value:
objectReference: {fileID: 6208366596957312446, guid: 9b9c2b61b2a2928458af5f15c009b8c4, type: 3} objectReference: {fileID: 6208366596957312446, guid: 9b9c2b61b2a2928458af5f15c009b8c4, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[24] propertyPath: _prefabs.Array.data[5]
value: value:
objectReference: {fileID: 3028288566889208744, guid: 02daecb0115395844b4932445d039051, type: 3} objectReference: {fileID: 3028288566889208744, guid: 02daecb0115395844b4932445d039051, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[25] propertyPath: _prefabs.Array.data[6]
value: value:
objectReference: {fileID: 80204295746100150, guid: 1be769d6ef642314b8846bed35e7297c, type: 3} objectReference: {fileID: 80204295746100150, guid: 1be769d6ef642314b8846bed35e7297c, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[26] propertyPath: _prefabs.Array.data[7]
value:
objectReference: {fileID: 80204295746100150, guid: 5bbf0d85fa5bb3f4599da79f0a84e3a9, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[8]
value: value:
objectReference: {fileID: 80204295746100150, guid: 2419a879bd4e47d4fa8b30de0fcdde42, type: 3} objectReference: {fileID: 80204295746100150, guid: 2419a879bd4e47d4fa8b30de0fcdde42, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[27] propertyPath: _prefabs.Array.data[9]
value:
objectReference: {fileID: 5531237550998824024, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[10]
value:
objectReference: {fileID: 6962989255644195630, guid: 9b40c232eddfd1b469bea688e3c970c0, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[11]
value:
objectReference: {fileID: 6962989255644195630, guid: e4a4754288971e949a74f90737193702, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[12]
value: value:
objectReference: {fileID: 2230360378425099702, guid: ece16a59d4dca2246817fbb1b23f17ba, type: 3} objectReference: {fileID: 2230360378425099702, guid: ece16a59d4dca2246817fbb1b23f17ba, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[28] propertyPath: _prefabs.Array.data[13]
value:
objectReference: {fileID: 6962989255644195630, guid: 02eb2d787f58e9943a0cb46d0b13e6b8, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[14]
value: value:
objectReference: {fileID: 7670155643566295935, guid: 717a063ebb684a748b9f40cac33fab52, type: 3} objectReference: {fileID: 7670155643566295935, guid: 717a063ebb684a748b9f40cac33fab52, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[29] propertyPath: _prefabs.Array.data[15]
value:
objectReference: {fileID: 5157279992115123224, guid: 85534a2d6c2add54d864073914646192, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[16]
value:
objectReference: {fileID: 6962989255644195630, guid: 8b50d9afb3bbd204d8dfea3d64f13fa2, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[17]
value:
objectReference: {fileID: 809914571062164693, guid: 5497dc5adfbe67341980c9d946816424, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[18]
value: value:
objectReference: {fileID: 4897909026855453892, guid: 3918c7d48763f184a92c7d61380ca258, type: 3} objectReference: {fileID: 4897909026855453892, guid: 3918c7d48763f184a92c7d61380ca258, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[30] propertyPath: _prefabs.Array.data[19]
value: value:
objectReference: {fileID: 8433619855353240514, guid: bc81e2a1e8b64884692701c2892f62a4, type: 3} objectReference: {fileID: 8433619855353240514, guid: bc81e2a1e8b64884692701c2892f62a4, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[31] propertyPath: _prefabs.Array.data[20]
value:
objectReference: {fileID: 4052934186652138539, guid: 8560e1f66d452b543a705c8a0f3e22fa, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[21]
value:
objectReference: {fileID: 3814095509541806390, guid: 9527f3a1482b90a48bb6c62acc70f986, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[22]
value:
objectReference: {fileID: 907652127959947826, guid: e20680474d73eee49836ff9cbc6d0b28, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[23]
value:
objectReference: {fileID: 907652127959947826, guid: afc444040d3adcf45a882e4882521f5e, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[24]
value:
objectReference: {fileID: 4817988606444742093, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[25]
value:
objectReference: {fileID: 1893888152770301340, guid: eb25bde5e3c72d34fbc9095e2c83cdb4, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[26]
value: value:
objectReference: {fileID: 3409838768749337993, guid: 096f5f6b487dccb41a48faf69f87fae9, type: 3} objectReference: {fileID: 3409838768749337993, guid: 096f5f6b487dccb41a48faf69f87fae9, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[27]
value:
objectReference: {fileID: 1388419617042242061, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[28]
value:
objectReference: {fileID: 3405186844740662670, guid: 074c072b696214a4ba44ff66e9a7d9a6, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[29]
value:
objectReference: {fileID: 6962989255644195630, guid: a2dc5d9672c10074fa9c35c12f6339c1, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[30]
value:
objectReference: {fileID: 6962989255644195630, guid: 484f0eca1c74ae34694692de56a36739, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[31]
value:
objectReference: {fileID: 6962989255644195630, guid: f20569b5452c2b341a95d656b7534b7e, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _prefabs.Array.data[32] propertyPath: _prefabs.Array.data[32]
value: value:
@ -1753,92 +1977,104 @@ PrefabInstance:
objectReference: {fileID: 6962989255644195630, guid: f74ea22a786d3c34cbb77e7522a360f8, type: 3} objectReference: {fileID: 6962989255644195630, guid: f74ea22a786d3c34cbb77e7522a360f8, type: 3}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.size propertyPath: _scriptableObjects.Array.size
value: 21 value: 24
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[3] propertyPath: _scriptableObjects.Array.data[0]
value:
objectReference: {fileID: 11400000, guid: e74655ccbd41a2b46b1ec9615aba0301, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[4]
value:
objectReference: {fileID: 11400000, guid: e0d57b3c128ba1447920637cdb289530, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[5]
value:
objectReference: {fileID: 11400000, guid: 4aaf448680c7f8a438a9a5861c622a55, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[6]
value:
objectReference: {fileID: 11400000, guid: a6e34739c9325da4cac4fbaea30d052c, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[7]
value:
objectReference: {fileID: 11400000, guid: d37561e153d6a6448a03839488fdec5e, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[8]
value:
objectReference: {fileID: 11400000, guid: 7a1313e5c16e74c4ba11a8114b9fd786, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[9]
value:
objectReference: {fileID: 11400000, guid: b501f7eea1fdfb843853bcba5b30533a, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[10]
value:
objectReference: {fileID: 11400000, guid: 0a9c94eb38c575948992453fc29bcede, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[11]
value:
objectReference: {fileID: 11400000, guid: 458348dd169e806459b7449b7e157d64, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[12]
value:
objectReference: {fileID: 11400000, guid: f5a11cb6d0d324b47b493042c7615112, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[13]
value:
objectReference: {fileID: 11400000, guid: a387250a316b97e43be83b85980101e1, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[14]
value:
objectReference: {fileID: 11400000, guid: ef5a154519b23a34aaded32e86bf7f2f, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[15]
value:
objectReference: {fileID: 11400000, guid: 5f47d74ebc4a8fe439ac6a4fe9ec436f, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[16]
value: value:
objectReference: {fileID: 11400000, guid: 3723ba09738ef6245947ae3ba7978b21, type: 2} objectReference: {fileID: 11400000, guid: 3723ba09738ef6245947ae3ba7978b21, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[17] propertyPath: _scriptableObjects.Array.data[1]
value:
objectReference: {fileID: 11400000, guid: 4002377ed7e87b34699f126f2b10c703, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[2]
value:
objectReference: {fileID: 11400000, guid: 15606c8c503e8164fb69178aa7016f58, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[3]
value:
objectReference: {fileID: 11400000, guid: 7568f730b2ba3754297a7612452482e2, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[4]
value:
objectReference: {fileID: 11400000, guid: e0b1d2d816ae5624c99b09a2bebb2a39, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[5]
value:
objectReference: {fileID: 11400000, guid: e74655ccbd41a2b46b1ec9615aba0301, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[6]
value:
objectReference: {fileID: 11400000, guid: e0d57b3c128ba1447920637cdb289530, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[7]
value:
objectReference: {fileID: 11400000, guid: 4aaf448680c7f8a438a9a5861c622a55, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[8]
value:
objectReference: {fileID: 11400000, guid: a387250a316b97e43be83b85980101e1, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[9]
value:
objectReference: {fileID: 11400000, guid: ef5a154519b23a34aaded32e86bf7f2f, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[10]
value:
objectReference: {fileID: 11400000, guid: 5f47d74ebc4a8fe439ac6a4fe9ec436f, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[11]
value:
objectReference: {fileID: 11400000, guid: a6e34739c9325da4cac4fbaea30d052c, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[12]
value:
objectReference: {fileID: 11400000, guid: d37561e153d6a6448a03839488fdec5e, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[13]
value:
objectReference: {fileID: 11400000, guid: 7a1313e5c16e74c4ba11a8114b9fd786, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[14]
value:
objectReference: {fileID: 11400000, guid: b501f7eea1fdfb843853bcba5b30533a, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[15]
value:
objectReference: {fileID: 11400000, guid: 0a9c94eb38c575948992453fc29bcede, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[16]
value: value:
objectReference: {fileID: 11400000, guid: ec229632b369eb746a30dbfafe3de373, type: 2} objectReference: {fileID: 11400000, guid: ec229632b369eb746a30dbfafe3de373, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[17]
value:
objectReference: {fileID: 11400000, guid: d8140ae36f1b7fd4fb1a57ab3dc69de4, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[18] propertyPath: _scriptableObjects.Array.data[18]
value: value:
objectReference: {fileID: 11400000, guid: 21b0f85f7c746974db1e72f2df646f5d, type: 2} objectReference: {fileID: 11400000, guid: e9e134bb6a24e4647a27955d3d276bd2, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[19] propertyPath: _scriptableObjects.Array.data[19]
value: value:
objectReference: {fileID: 11400000, guid: 4c72177270b51eb46872d1665e3a097e, type: 2} objectReference: {fileID: 11400000, guid: c22ff5f49b21f9844a4d9693dc06777c, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[20] propertyPath: _scriptableObjects.Array.data[20]
value: value:
objectReference: {fileID: 11400000, guid: d8140ae36f1b7fd4fb1a57ab3dc69de4, type: 2} objectReference: {fileID: 11400000, guid: 5ccff833a19a71f4499a3b3d786f4d11, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[21] propertyPath: _scriptableObjects.Array.data[21]
value: value:
objectReference: {fileID: 11400000, guid: d8140ae36f1b7fd4fb1a57ab3dc69de4, type: 2} objectReference: {fileID: 11400000, guid: 2462ecbf554cf1d4883dea95b2504a9f, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[22] propertyPath: _scriptableObjects.Array.data[22]
value: value:
objectReference: {fileID: 11400000, guid: d8140ae36f1b7fd4fb1a57ab3dc69de4, type: 2} objectReference: {fileID: 11400000, guid: eee8fc46b43d8144ca603169dc9f26d6, type: 2}
- target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208749, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _scriptableObjects.Array.data[23] propertyPath: _scriptableObjects.Array.data[23]
value: value:
objectReference: {fileID: 11400000, guid: d8140ae36f1b7fd4fb1a57ab3dc69de4, type: 2} objectReference: {fileID: 11400000, guid: 4c72177270b51eb46872d1665e3a097e, type: 2}
- target: {fileID: 3028288566889208750, guid: 02daecb0115395844b4932445d039051, type: 3} - target: {fileID: 3028288566889208750, guid: 02daecb0115395844b4932445d039051, type: 3}
propertyPath: _gameScene propertyPath: _gameScene
value: Game value: Game
@ -2290,6 +2526,7 @@ RectTransform:
- {fileID: 2064630363} - {fileID: 2064630363}
- {fileID: 405102485} - {fileID: 405102485}
- {fileID: 115274809} - {fileID: 115274809}
- {fileID: 179679298}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 6 m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,5 @@
using UnityEngine;
public class CardInfo : ScriptableObject
{
}

View File

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

View File

@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class DeleteButton : PlacementButton
{
[SerializeField]
private GameObject _prefab;
protected override DraggablePlaceholder Place()
{
var instance = Instantiate(_prefab);
//strip the object
foreach (var r_body in instance.transform.GetAllComponents<Rigidbody2D>())
Destroy(r_body);
foreach (var coll in instance.transform.GetAllComponents<Collider2D>())
Destroy(coll);
foreach (var script in instance.transform.GetAllComponents<MonoBehaviour>())
Destroy(script);
var placeholder = instance.AddComponent<DeleteShovel>();
//assign outline material to all renderers of the placeholder
foreach (var rend in instance.transform.GetAllComponents<SpriteRenderer>())
{
var color = rend.color;
color.a = 0.6f;
rend.color = color;
rend.material = OutlineMaterial;
placeholder.OutlineRenderers.Add(rend);
}
return placeholder;
}
}

View File

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

View File

@ -0,0 +1,17 @@
using Codice.CM.Client.Differences;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DeleteShovel : DraggablePlaceholder
{
public override void Place()
{
var hit = LevelManager.Instance.Get<Ally>(x => x.Position.IsContainedIn(transform.position));
if (hit) Destroy(hit.gameObject);
}
public override bool CanBePlacedHere()
{
return LevelBoundCache.Contains(transform.position) && LevelManager.Instance.Has<Ally>(x => x.Position.IsContainedIn(transform.position));
}
}

View File

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

View File

@ -5,22 +5,24 @@ using UnityEngine;
public abstract class DraggablePlaceholder : MonoBehaviour public abstract class DraggablePlaceholder : MonoBehaviour
{ {
public int Food { get; set; }
public int Rock { get; set; }
public int Wood { get; set; }
protected const string OutlineColor = "_OutlineColor"; protected const string OutlineColor = "_OutlineColor";
[SerializeField] [SerializeField]
protected Color _validColor = Color.green; private Color _validColor = Color.green;
[SerializeField] [SerializeField]
protected Color _invalidColor = Color.red; private Color _invalidColor = Color.red;
protected Camera _mainCamCache;
protected Rect _lvlBoundsCache;
protected bool _canBePlacedHere;
private Camera _mainCamCache;
private Rect _lvlBoundsCache;
private bool _canBePlacedHere;
private List<SpriteRenderer> _outlineRenderers = new List<SpriteRenderer>(); private List<SpriteRenderer> _outlineRenderers = new List<SpriteRenderer>();
public Color ValidColor => _validColor;
public Color InvalidColor => _invalidColor;
public Camera MainCamCache => _mainCamCache;
public Rect LevelBoundCache => _lvlBoundsCache;
public bool PlaceableHere => _canBePlacedHere;
public List<SpriteRenderer> OutlineRenderers public List<SpriteRenderer> OutlineRenderers
{ {
get => _outlineRenderers; get => _outlineRenderers;
@ -52,7 +54,6 @@ public abstract class DraggablePlaceholder : MonoBehaviour
{ {
if (_canBePlacedHere) if (_canBePlacedHere)
{ {
ResourceManager.Instance.Remove(Rock, Wood, Food);
Place(); Place();
} }
Destroy(gameObject); Destroy(gameObject);
@ -91,9 +92,7 @@ public abstract class DraggablePlaceholder : MonoBehaviour
/// </summary> /// </summary>
public virtual bool CanBePlacedHere() public virtual bool CanBePlacedHere()
{ {
return !LevelManager.Instance.Has<ILevelObject>(obj => obj.Position.IsContainedIn(transform.position)) return _lvlBoundsCache.Contains(transform.position);
&& _lvlBoundsCache.Contains(transform.position)
&& ResourceManager.Instance.EnoughFor(Rock, Wood, Food);
} }
/// <summary> /// <summary>

View File

@ -13,7 +13,7 @@ public class GameObjectPlacementButton : UnitPlacementButton
var hasEnoughPopulation = isBuilding || ResourceManager.Instance.EnoughPopulationFor(defaultPopCost); var hasEnoughPopulation = isBuilding || ResourceManager.Instance.EnoughPopulationFor(defaultPopCost);
return ResourceManager.Instance.EnoughFor(_rock, _wood, _food) return ResourceManager.Instance.EnoughFor(_rock, _wood, _food)
&& hasEnoughPopulation && hasEnoughPopulation
&& _button.enabled && _canSpawn; && base.CanPlace();
} }
protected override DraggablePlaceholder Place() protected override DraggablePlaceholder Place()
@ -44,7 +44,7 @@ public class GameObjectPlacementButton : UnitPlacementButton
color.a = 0.6f; color.a = 0.6f;
rend.color = color; rend.color = color;
rend.material = _outlineMaterial; rend.material = OutlineMaterial;
placeholder.OutlineRenderers.Add(rend); placeholder.OutlineRenderers.Add(rend);
} }

View File

@ -1,10 +1,11 @@
using UnityEngine; using UnityEngine;
public class ObjectPlaceholder : DraggablePlaceholder public class ObjectPlaceholder : UnitPlaceholder
{ {
public GameObject Prefab { get; set; } public GameObject Prefab { get; set; }
public override void Place() public override void Place()
{ {
base.Place();
Prefab.Create(transform.position, parent : LevelManager.Instance.LevelTransform); Prefab.Create(transform.position, parent : LevelManager.Instance.LevelTransform);
} }
public override bool CanBePlacedHere() public override bool CanBePlacedHere()
@ -14,7 +15,7 @@ public class ObjectPlaceholder : DraggablePlaceholder
var defaultUnitCost = GlobalConfig.Instance.Current.populationCostPerUnit; var defaultUnitCost = GlobalConfig.Instance.Current.populationCostPerUnit;
return !positionIsCollidable return !positionIsCollidable
&& _lvlBoundsCache.Contains(transform.position) && LevelBoundCache.Contains(transform.position)
&& ResourceManager.Instance.EnoughFor(Rock, Wood, Food) && ResourceManager.Instance.EnoughFor(Rock, Wood, Food)
&& (Prefab.GetComponent<Building>() && (Prefab.GetComponent<Building>()
|| ResourceManager.Instance.EnoughPopulationFor(defaultUnitCost)); || ResourceManager.Instance.EnoughPopulationFor(defaultUnitCost));

View File

@ -0,0 +1,53 @@
using GatherAndDefend.Events;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
[RequireComponent(typeof(Button))]
public abstract class PlacementButton : MonoBehaviour, IPointerDownHandler
{
private bool _canUse = false;
private Button _button;
private DraggablePlaceholder _placeholder;
[SerializeField]
private Material _outlineMaterial;
public bool CanUse => _canUse;
public Button Button => _button;
public DraggablePlaceholder Placeholder => _placeholder;
public Material OutlineMaterial => _outlineMaterial;
protected virtual void Start()
{
_button = GetComponent<Button>();
_button.enabled = false;
EventAggregator.Instance.GetEvent<LevelLoadedEvent>().Attach(OnLevelLoaded);
EventAggregator.Instance.GetEvent<ExitingLevelEvent>().Attach(DeactivateButton);
}
protected virtual void Update()
{
_button.interactable = CanPlace();
}
private void OnLevelLoaded(GatherAndDefend.LevelEditor.Level level)
{
_canUse = true;
EventAggregator.Instance.GetEvent<LevelLoadedEvent>().Detach(OnLevelLoaded);
}
void DeactivateButton()
{
EventAggregator.Instance.GetEvent<ExitingLevelEvent>().Detach(DeactivateButton);
_canUse = false;
}
public virtual void OnPointerDown(PointerEventData eventData)
{
if (!_button.interactable) return;
_placeholder = Place();
}
protected abstract DraggablePlaceholder Place();
protected virtual bool CanPlace()
{
return Button.enabled && CanUse;
}
}

View File

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

View File

@ -1,10 +1,11 @@
using UnityEngine; using UnityEngine;
public class TilePlaceholder : DraggablePlaceholder public class TilePlaceholder : UnitPlaceholder
{ {
public LevelTile Tile { get; set; } public LevelTile Tile { get; set; }
public override void Place() public override void Place()
{ {
base.Place();
LevelManager.Instance.DynamicTilemap.SetTile(Vector3Int.RoundToInt(transform.position), Tile); LevelManager.Instance.DynamicTilemap.SetTile(Vector3Int.RoundToInt(transform.position), Tile);
} }
} }

View File

@ -8,7 +8,7 @@ public class TilePlacementButton : UnitPlacementButton
protected override bool CanPlace() protected override bool CanPlace()
{ {
return ResourceManager.Instance.EnoughFor(_rock, _wood, _food) && _button.enabled && _canSpawn; return ResourceManager.Instance.EnoughFor(_rock, _wood, _food) && base.CanPlace();
} }
protected override DraggablePlaceholder Place() protected override DraggablePlaceholder Place()
@ -19,7 +19,7 @@ public class TilePlacementButton : UnitPlacementButton
var rend = instance.AddComponent<SpriteRenderer>(); var rend = instance.AddComponent<SpriteRenderer>();
rend.sprite = tile.Sprite; rend.sprite = tile.Sprite;
rend.sortingLayerName = "Character"; rend.sortingLayerName = "Character";
rend.material = _outlineMaterial; rend.material = OutlineMaterial;
rend.sortingOrder = 2; rend.sortingOrder = 2;
return placeholder; return placeholder;
} }

View File

@ -0,0 +1,17 @@
using UnityEngine;
public abstract class UnitPlaceholder : DraggablePlaceholder
{
public int Food { get; set; }
public int Rock { get; set; }
public int Wood { get; set; }
public override void Place()
{
ResourceManager.Instance.Remove(Rock, Wood, Food);
}
public override bool CanBePlacedHere()
{
return base.CanBePlacedHere() && ResourceManager.Instance.EnoughFor(Rock, Wood, Food)
&& !LevelManager.Instance.Has<ILevelObject>(obj => obj.Position.IsContainedIn(transform.position));
}
}

View File

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

View File

@ -1,16 +1,10 @@
using System.Collections;
using System.Collections.Generic;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
using UnityEngine.UI; using UnityEngine.UI;
using GatherAndDefend.Events;
[RequireComponent(typeof(Button))] public abstract class UnitPlacementButton : PlacementButton
public abstract class UnitPlacementButton : MonoBehaviour, IPointerDownHandler
{ {
[SerializeField]
protected Material _outlineMaterial;
[SerializeField] [SerializeField]
protected Sprite _detectionRangeSprite; protected Sprite _detectionRangeSprite;
@ -21,7 +15,6 @@ public abstract class UnitPlacementButton : MonoBehaviour, IPointerDownHandler
[SerializeField] [SerializeField]
protected int _food; protected int _food;
protected Button _button;
[SerializeField] [SerializeField]
private TMP_Text _foodLabel; private TMP_Text _foodLabel;
[SerializeField] [SerializeField]
@ -29,30 +22,10 @@ public abstract class UnitPlacementButton : MonoBehaviour, IPointerDownHandler
[SerializeField] [SerializeField]
private TMP_Text _rockLabel; private TMP_Text _rockLabel;
protected bool _canSpawn = false;
protected override void Update()
protected virtual void Start()
{ {
_button = GetComponent<Button>(); base.Update();
_button.enabled = false;
EventAggregator.Instance.GetEvent<LevelLoadedEvent>().Attach(OnLevelLoaded);
EventAggregator.Instance.GetEvent<ExitingLevelEvent>().Attach(DeactivateButton);
}
private void OnLevelLoaded(GatherAndDefend.LevelEditor.Level level)
{
_canSpawn = true;
EventAggregator.Instance.GetEvent<LevelLoadedEvent>().Detach(OnLevelLoaded);
}
void DeactivateButton()
{
EventAggregator.Instance.GetEvent<ExitingLevelEvent>().Detach(DeactivateButton);
_canSpawn = false;
}
protected virtual void Update()
{
_button.interactable = CanPlace();
SetTextFor(_foodLabel, _food); SetTextFor(_foodLabel, _food);
SetTextFor(_rockLabel, _rock); SetTextFor(_rockLabel, _rock);
@ -63,15 +36,14 @@ public abstract class UnitPlacementButton : MonoBehaviour, IPointerDownHandler
label.transform.parent.gameObject.SetActive(value > 0); label.transform.parent.gameObject.SetActive(value > 0);
label.text = "" + value; label.text = "" + value;
} }
public void OnPointerDown(PointerEventData eventData) public override void OnPointerDown(PointerEventData eventData)
{ {
if (!_button.interactable) return; base.OnPointerDown(eventData);
if (Placeholder is UnitPlaceholder placeHolder)
var placeholder = Place(); {
placeholder.Rock = _rock; placeHolder.Rock = _rock;
placeholder.Wood = _wood; placeHolder.Wood = _wood;
placeholder.Food = _food; placeHolder.Food = _food;
}
} }
protected abstract DraggablePlaceholder Place();
protected abstract bool CanPlace();
} }