Animals can now be bought in AnimalShop
if bought they will be placed somewhere random on the map
This commit is contained in:
parent
acd602c85a
commit
441ffb900a
34 changed files with 2387 additions and 265 deletions
BIN
Assets/Icons/cow-selected.png
Normal file
BIN
Assets/Icons/cow-selected.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 669 B |
122
Assets/Icons/cow-selected.png.meta
Normal file
122
Assets/Icons/cow-selected.png.meta
Normal file
|
|
@ -0,0 +1,122 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 432d303bbfc9d6f409aa93b6081306e5
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 11
|
||||||
|
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: 0
|
||||||
|
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: 32
|
||||||
|
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
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 32
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
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
|
||||||
|
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:
|
||||||
665
Assets/Resources/AnimalShopSlot.prefab
Normal file
665
Assets/Resources/AnimalShopSlot.prefab
Normal file
|
|
@ -0,0 +1,665 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &5121261191727116857
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5121261191727116854}
|
||||||
|
- component: {fileID: 5121261191727116852}
|
||||||
|
- component: {fileID: 5121261191727116855}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Image
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5121261191727116854
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261191727116857}
|
||||||
|
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: 5121261193055935940}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 40, y: 0}
|
||||||
|
m_SizeDelta: {x: 64, y: 64}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5121261191727116852
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261191727116857}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5121261191727116855
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261191727116857}
|
||||||
|
m_Enabled: 0
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 0
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 0}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &5121261192300927451
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5121261192300927448}
|
||||||
|
- component: {fileID: 5121261192300927446}
|
||||||
|
- component: {fileID: 5121261192300927449}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Animal Cost
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5121261192300927448
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261192300927451}
|
||||||
|
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: 5121261193055935940}
|
||||||
|
m_RootOrder: 2
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 111.99999, y: -56}
|
||||||
|
m_SizeDelta: {x: 60, y: 32}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5121261192300927446
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261192300927451}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5121261192300927449
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261192300927451}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 0
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text:
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 16
|
||||||
|
m_fontSizeBase: 16
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 0
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 512
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_enableWordWrapping: 1
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 1
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!1 &5121261192606669394
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5121261192606669395}
|
||||||
|
- component: {fileID: 5121261192606669393}
|
||||||
|
- component: {fileID: 5121261192606669392}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Animal Amount
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5121261192606669395
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261192606669394}
|
||||||
|
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: 5121261193055935940}
|
||||||
|
m_RootOrder: 3
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 62, y: -16}
|
||||||
|
m_SizeDelta: {x: 60, y: 32}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5121261192606669393
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261192606669394}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5121261192606669392
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261192606669394}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 0
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text:
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 16
|
||||||
|
m_fontSizeBase: 16
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 0
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 512
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_enableWordWrapping: 1
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 1
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!1 &5121261192692990486
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5121261192692990487}
|
||||||
|
- component: {fileID: 5121261192692990485}
|
||||||
|
- component: {fileID: 5121261192692990484}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Animal Name
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5121261192692990487
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261192692990486}
|
||||||
|
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: 5121261193055935940}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 142, y: -24}
|
||||||
|
m_SizeDelta: {x: 120, y: 32}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5121261192692990485
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261192692990486}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5121261192692990484
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261192692990486}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 0
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text:
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 18
|
||||||
|
m_fontSizeBase: 18
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 0
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 512
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_enableWordWrapping: 1
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 1
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 1
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!1 &5121261193055935943
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5121261193055935940}
|
||||||
|
- component: {fileID: 5121261193055935937}
|
||||||
|
- component: {fileID: 5121261193055935936}
|
||||||
|
- component: {fileID: 5121261193055935939}
|
||||||
|
- component: {fileID: 3899904024433046149}
|
||||||
|
- component: {fileID: 5121261193055935941}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: AnimalShopSlot
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5121261193055935940
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261193055935943}
|
||||||
|
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: 5121261191727116854}
|
||||||
|
- {fileID: 5121261192692990487}
|
||||||
|
- {fileID: 5121261192300927448}
|
||||||
|
- {fileID: 5121261192606669395}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5121261193055935937
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261193055935943}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5121261193055935936
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261193055935943}
|
||||||
|
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: 349d3f5d7a4156146b8e923d5c06314d, type: 3}
|
||||||
|
m_Type: 1
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!114 &5121261193055935939
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261193055935943}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 0
|
||||||
|
m_WrapAround: 0
|
||||||
|
m_SelectOnUp: {fileID: 0}
|
||||||
|
m_SelectOnDown: {fileID: 0}
|
||||||
|
m_SelectOnLeft: {fileID: 0}
|
||||||
|
m_SelectOnRight: {fileID: 0}
|
||||||
|
m_Transition: 1
|
||||||
|
m_Colors:
|
||||||
|
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||||
|
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 1
|
||||||
|
m_TargetGraphic: {fileID: 5121261193055935936}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 3899904024433046149}
|
||||||
|
m_TargetAssemblyTypeName: AnimalShopSlot, Assembly-CSharp
|
||||||
|
m_MethodName: UseElement
|
||||||
|
m_Mode: 1
|
||||||
|
m_Arguments:
|
||||||
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
|
m_IntArgument: 0
|
||||||
|
m_FloatArgument: 0
|
||||||
|
m_StringArgument:
|
||||||
|
m_BoolArgument: 0
|
||||||
|
m_CallState: 2
|
||||||
|
--- !u!114 &3899904024433046149
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261193055935943}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 12dc6c16906d3994380888118d0da675, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
image: {fileID: 5121261191727116855}
|
||||||
|
amountText: {fileID: 5121261192606669392}
|
||||||
|
timeToWait: 0.5
|
||||||
|
nameText: {fileID: 5121261192692990484}
|
||||||
|
costText: {fileID: 5121261192300927449}
|
||||||
|
--- !u!61 &5121261193055935941
|
||||||
|
BoxCollider2D:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5121261193055935943}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Density: 1
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_UsedByEffector: 0
|
||||||
|
m_UsedByComposite: 0
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_SpriteTilingProperty:
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
oldSize: {x: 0, y: 0}
|
||||||
|
newSize: {x: 0, y: 0}
|
||||||
|
adaptiveTilingThreshold: 0
|
||||||
|
drawMode: 0
|
||||||
|
adaptiveTiling: 0
|
||||||
|
m_AutoTiling: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Size: {x: 1, y: 1}
|
||||||
|
m_EdgeRadius: 0
|
||||||
7
Assets/Resources/AnimalShopSlot.prefab.meta
Normal file
7
Assets/Resources/AnimalShopSlot.prefab.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5719971c822f74e4ca86130b5e77b1d5
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -157,6 +157,12 @@ MonoBehaviour:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
producedItem: {fileID: 11400000, guid: 510712f2d23afc147979bcd564ef7943, type: 2}
|
producedItem: {fileID: 11400000, guid: 510712f2d23afc147979bcd564ef7943, type: 2}
|
||||||
movementSpeed: 1
|
movementSpeed: 1
|
||||||
|
animalPrefab: {fileID: 2510115116361252817}
|
||||||
|
defaultSprite: {fileID: 21300000, guid: e2bde586482642d44a270276574c0129, type: 3}
|
||||||
|
selectedSprite: {fileID: 21300000, guid: 432d303bbfc9d6f409aa93b6081306e5, type: 3}
|
||||||
|
displayName: Cow
|
||||||
|
description: Mach Milch, hat Fell
|
||||||
|
price: 500
|
||||||
--- !u!95 &3084876974777557816
|
--- !u!95 &3084876974777557816
|
||||||
Animator:
|
Animator:
|
||||||
serializedVersion: 4
|
serializedVersion: 4
|
||||||
|
|
|
||||||
|
|
@ -147,7 +147,7 @@ GameObject:
|
||||||
- component: {fileID: 3510585822736120664}
|
- component: {fileID: 3510585822736120664}
|
||||||
- component: {fileID: 3510585822736120665}
|
- component: {fileID: 3510585822736120665}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Icon
|
m_Name: Image
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
|
|
@ -360,7 +360,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 92863b15e86b5b94e9a331f3c97dddca, type: 3}
|
m_Script: {fileID: 11500000, guid: 92863b15e86b5b94e9a331f3c97dddca, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
icon: {fileID: 3510585822736120665}
|
image: {fileID: 3510585822736120665}
|
||||||
amountText: {fileID: 2490526733276001243}
|
amountText: {fileID: 2490526733276001243}
|
||||||
timeToWait: 0.5
|
timeToWait: 0.5
|
||||||
--- !u!61 &-6709197434562003015
|
--- !u!61 &-6709197434562003015
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ GameObject:
|
||||||
- component: {fileID: 5121261191727116852}
|
- component: {fileID: 5121261191727116852}
|
||||||
- component: {fileID: 5121261191727116855}
|
- component: {fileID: 5121261191727116855}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Icon
|
m_Name: Image
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
|
|
@ -496,7 +496,7 @@ GameObject:
|
||||||
- component: {fileID: 5121261193055935938}
|
- component: {fileID: 5121261193055935938}
|
||||||
- component: {fileID: 5121261193055935941}
|
- component: {fileID: 5121261193055935941}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: ShopSlot
|
m_Name: ItemShopSlot
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
|
|
@ -632,7 +632,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 3e6f808bd381a554eb64a7e84f997f45, type: 3}
|
m_Script: {fileID: 11500000, guid: 3e6f808bd381a554eb64a7e84f997f45, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
icon: {fileID: 5121261191727116855}
|
image: {fileID: 5121261191727116855}
|
||||||
amountText: {fileID: 5121261192606669392}
|
amountText: {fileID: 5121261192606669392}
|
||||||
timeToWait: 0.5
|
timeToWait: 0.5
|
||||||
nameText: {fileID: 5121261192692990484}
|
nameText: {fileID: 5121261192692990484}
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,29 +1,32 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using Actions;
|
|
||||||
using DefaultNamespace;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Object = System.Object;
|
|
||||||
using Random = UnityEngine.Random;
|
using Random = UnityEngine.Random;
|
||||||
|
|
||||||
public class Animal : MonoBehaviour {
|
public class Animal : MonoBehaviour {
|
||||||
private Rigidbody2D _rigidbody;
|
private Rigidbody2D _rigidbody;
|
||||||
private SpriteRenderer _spriteRenderer;
|
private SpriteRenderer _spriteRenderer;
|
||||||
private Sprite _animalSprite;
|
|
||||||
private Animator _animator;
|
private Animator _animator;
|
||||||
private int _animMoveID;
|
private int _animMoveID;
|
||||||
|
|
||||||
public Sprite AnimalSprite => _animalSprite;
|
public int SellPrice => Convert.ToInt32(price * 0.8);
|
||||||
|
|
||||||
public Item producedItem;
|
public Item producedItem;
|
||||||
public int movementSpeed;
|
public int movementSpeed;
|
||||||
|
public GameObject animalPrefab;
|
||||||
|
public Sprite defaultSprite;
|
||||||
|
public Sprite selectedSprite;
|
||||||
|
public string displayName;
|
||||||
|
public string description;
|
||||||
|
public int price;
|
||||||
|
|
||||||
private void Start() {
|
private void Start() {
|
||||||
_rigidbody = gameObject.GetComponent<Rigidbody2D>();
|
_rigidbody = gameObject.GetComponent<Rigidbody2D>();
|
||||||
_spriteRenderer = gameObject.GetComponent<SpriteRenderer>();
|
_spriteRenderer = gameObject.GetComponent<SpriteRenderer>();
|
||||||
_animalSprite = _spriteRenderer.GetComponent<Sprite>();
|
|
||||||
_animator = gameObject.GetComponent<Animator>();
|
_animator = gameObject.GetComponent<Animator>();
|
||||||
_animMoveID = Animator.StringToHash("moving");
|
_animMoveID = Animator.StringToHash("moving");
|
||||||
|
|
||||||
|
_spriteRenderer.sprite = defaultSprite;
|
||||||
|
|
||||||
// Move the Animal in any random direction every 1-5s
|
// Move the Animal in any random direction every 1-5s
|
||||||
InvokeRepeating(nameof(MoveInRandomDirection), 2f, Random.Range(1f, 5f));
|
InvokeRepeating(nameof(MoveInRandomDirection), 2f, Random.Range(1f, 5f));
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using UnityEditorInternal;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public class ElementStorage<T> : MonoBehaviour {
|
public class ElementStorage<T> : MonoBehaviour {
|
||||||
|
|
@ -7,7 +8,7 @@ public class ElementStorage<T> : MonoBehaviour {
|
||||||
public T[] startElements;
|
public T[] startElements;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Methods can be added to this and they will get called every time onItemChangedCallback gets Invoked
|
* Methods can be added to this and they will get called every time onElementChangedCallback gets Invoked
|
||||||
*/
|
*/
|
||||||
public delegate void OnElementChanged();
|
public delegate void OnElementChanged();
|
||||||
public OnElementChanged onElementChangedCallback;
|
public OnElementChanged onElementChangedCallback;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ using UnityEngine.EventSystems;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
public class ElementStorageSlot<T> : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler {
|
public class ElementStorageSlot<T> : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler {
|
||||||
public Image icon;
|
public Image image;
|
||||||
public TextMeshProUGUI amountText;
|
public TextMeshProUGUI amountText;
|
||||||
|
|
||||||
public T Element => _element;
|
public T Element => _element;
|
||||||
|
|
@ -30,20 +30,22 @@ public class ElementStorageSlot<T> : MonoBehaviour, IPointerEnterHandler, IPoint
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ShowMessage() {
|
private void ShowMessage() {
|
||||||
if(_element is Item) { //TODO: add animal description showing
|
if(_element is Item) {
|
||||||
Item item = (Item)(object)_element;
|
Item item = (Item)(object)_element;
|
||||||
HoverManager.onMouseHoverDescription(item.description, Input.mousePosition);
|
HoverManager.onMouseHoverDescription(item.description, Input.mousePosition);
|
||||||
|
} else if(_element is Animal) {
|
||||||
|
Animal animal = (Animal)(object)_element;
|
||||||
|
HoverManager.onMouseHoverDescription(animal.description, Input.mousePosition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ChangeElementSelectedSprite(bool on) {
|
public void ChangeElementSelectedSprite(bool on) {
|
||||||
if(_element is Item) { //TODO: add animal sprite change
|
if(_element is Item) { //TODO: add animal sprite change
|
||||||
Item item = (Item)(object)_element;
|
Item item = (Item)(object)_element;
|
||||||
if(on) {
|
image.sprite = on ? item.selectedSprite : item.defaultSprite;
|
||||||
icon.sprite = item.selectedSprite;
|
}else if(_element is Animal) {
|
||||||
} else {
|
Animal animal = (Animal)(object)_element;
|
||||||
icon.sprite = item.defaultSprite;
|
image.sprite = on ? animal.selectedSprite : animal.defaultSprite;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -61,12 +63,15 @@ public class ElementStorageSlot<T> : MonoBehaviour, IPointerEnterHandler, IPoint
|
||||||
public void AddElement(T newElement) {
|
public void AddElement(T newElement) {
|
||||||
_element = newElement;
|
_element = newElement;
|
||||||
|
|
||||||
if(_element is Item) { //TODO: add animal sprite change
|
if(_element is Item) {
|
||||||
Item item = (Item)(object)_element;
|
Item item = (Item)(object)_element;
|
||||||
icon.sprite = item.defaultSprite;
|
image.sprite = item.defaultSprite;
|
||||||
|
} else if (_element is Animal) {
|
||||||
|
Animal animal = (Animal)(object)_element;
|
||||||
|
image.sprite = animal.defaultSprite;
|
||||||
}
|
}
|
||||||
|
|
||||||
icon.enabled = true;
|
image.enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -74,8 +79,8 @@ public class ElementStorageSlot<T> : MonoBehaviour, IPointerEnterHandler, IPoint
|
||||||
*/
|
*/
|
||||||
public virtual void ClearSlot() {
|
public virtual void ClearSlot() {
|
||||||
_element = default;
|
_element = default;
|
||||||
icon.sprite = null;
|
image.sprite = null;
|
||||||
icon.enabled = false;
|
image.enabled = false;
|
||||||
amountText.text = "";
|
amountText.text = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
using Shop;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public class Inventory : ElementStorage<Item> {
|
public class Inventory : ElementStorage<Item> {
|
||||||
|
|
@ -50,7 +51,7 @@ public class Inventory : ElementStorage<Item> {
|
||||||
*/
|
*/
|
||||||
public void SellItem(Item item, int amount) {
|
public void SellItem(Item item, int amount) {
|
||||||
PlayerController.instance.ChangeMoney(item.SellPrice);
|
PlayerController.instance.ChangeMoney(item.SellPrice);
|
||||||
Shop.instance.AddElement(item, amount);
|
ItemShop.instance.AddElement(item, amount);
|
||||||
RemoveElement(item, amount);
|
RemoveElement(item, amount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -34,7 +34,7 @@ public class InventorySlot : ElementStorageSlot<Item>, IPointerClickHandler {
|
||||||
// When clicked on with right Mouse Button sell the Item
|
// When clicked on with right Mouse Button sell the Item
|
||||||
if(eventData.button == PointerEventData.InputButton.Right) {
|
if(eventData.button == PointerEventData.InputButton.Right) {
|
||||||
if(Element) {
|
if(Element) {
|
||||||
_inventory.SellItem(Element, 1); //TODO: wie machen mehr als 1 verkaufen?!
|
_inventory.SellItem(Element, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ public class InventoryUI : MonoBehaviour {
|
||||||
|
|
||||||
// Set the icon to not be a raycast target for the Description Hovering to work
|
// Set the icon to not be a raycast target for the Description Hovering to work
|
||||||
foreach(InventorySlot slot in _slots) {
|
foreach(InventorySlot slot in _slots) {
|
||||||
slot.icon.raycastTarget = false;
|
slot.image.raycastTarget = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ public class Item : ScriptableObject, IComparable<Item> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int CompareTo(Item other) {
|
public int CompareTo(Item other) {
|
||||||
return this._id - other._id;
|
return _id - other._id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetID(int id) {
|
public void SetID(int id) {
|
||||||
|
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class Shop : ElementStorage<Item> {
|
|
||||||
#region Singleton
|
|
||||||
|
|
||||||
public static Shop instance;
|
|
||||||
|
|
||||||
private void Awake() {
|
|
||||||
if(instance != null) {
|
|
||||||
Debug.LogWarning("More than one instance of Shop found");
|
|
||||||
}
|
|
||||||
|
|
||||||
instance = this;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
public bool itemWasBought;
|
|
||||||
|
|
||||||
private PlayerController _playerController;
|
|
||||||
private Inventory _inventory;
|
|
||||||
private Item _lastBoughtItem;
|
|
||||||
private int _lastBoughtItemAmount;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Calls ItemStorage.RemoveItem() and sets 2 Variables to remember the last bought item
|
|
||||||
*/
|
|
||||||
public override void RemoveElement(Item item, int amount) {
|
|
||||||
base.RemoveElement(item, amount);
|
|
||||||
if(itemWasBought){
|
|
||||||
_lastBoughtItem = item;
|
|
||||||
_lastBoughtItemAmount = amount;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UndoLastPurchase() {
|
|
||||||
if(itemWasBought){
|
|
||||||
_inventory = Inventory.instance;
|
|
||||||
_playerController = PlayerController.instance;
|
|
||||||
|
|
||||||
if(_lastBoughtItem) {
|
|
||||||
_playerController.ChangeMoney(_lastBoughtItem.price);
|
|
||||||
_inventory.RemoveElement(_lastBoughtItem, _lastBoughtItemAmount);
|
|
||||||
AddElement(_lastBoughtItem, _lastBoughtItemAmount);
|
|
||||||
itemWasBought = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
3
Assets/Scripts/Shop.meta
Normal file
3
Assets/Scripts/Shop.meta
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f4055d199c2a43b6a92f4a3704e3018a
|
||||||
|
timeCreated: 1656014917
|
||||||
21
Assets/Scripts/Shop/AnimalShop.cs
Normal file
21
Assets/Scripts/Shop/AnimalShop.cs
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Shop {
|
||||||
|
|
||||||
|
|
||||||
|
public class AnimalShop : ElementStorage<Animal> {
|
||||||
|
#region Singleton
|
||||||
|
|
||||||
|
public static AnimalShop instance;
|
||||||
|
|
||||||
|
private void Awake() {
|
||||||
|
if(instance != null) {
|
||||||
|
Debug.LogWarning("More than one instance of AnimalShop found");
|
||||||
|
}
|
||||||
|
|
||||||
|
instance = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Shop/AnimalShop.cs.meta
Normal file
11
Assets/Scripts/Shop/AnimalShop.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2c06d4c2082cfaa48ab284fbf112290b
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
61
Assets/Scripts/Shop/AnimalShopSlot.cs
Normal file
61
Assets/Scripts/Shop/AnimalShopSlot.cs
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Shop {
|
||||||
|
|
||||||
|
public class AnimalShopSlot : ElementStorageSlot<Animal> {
|
||||||
|
public TextMeshProUGUI nameText;
|
||||||
|
public TextMeshProUGUI costText;
|
||||||
|
|
||||||
|
private AnimalShop _animalShop;
|
||||||
|
private PlayerController _playerController;
|
||||||
|
|
||||||
|
private void Start() {
|
||||||
|
_animalShop = AnimalShop.instance;
|
||||||
|
_playerController = PlayerController.instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clears the Shop Slot
|
||||||
|
*/
|
||||||
|
public override void ClearSlot() {
|
||||||
|
nameText.text = "";
|
||||||
|
costText.text = "";
|
||||||
|
amountText.text = "";
|
||||||
|
base.ClearSlot();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets called when the Shop Slot is clicked
|
||||||
|
*/
|
||||||
|
public override void UseElement() {
|
||||||
|
if(Element) {
|
||||||
|
if(_playerController.Money >= Element.price) {
|
||||||
|
if(Element) {
|
||||||
|
_playerController.ChangeMoney(-Element.price);
|
||||||
|
// Debug.Log("Buying Animal: " + Element.displayName);
|
||||||
|
}
|
||||||
|
|
||||||
|
PlaceCowRandomlyOnScreen();
|
||||||
|
_animalShop.RemoveElement(Element, 1);
|
||||||
|
} else {
|
||||||
|
// Debug.Log("Not enough money to buy Animal.");
|
||||||
|
}
|
||||||
|
|
||||||
|
_animalShop.onElementChangedCallback?.Invoke();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlaceCowRandomlyOnScreen() {
|
||||||
|
float spawnY = Random.Range
|
||||||
|
(Camera.main.ScreenToWorldPoint(new Vector2(0, 0)).y,
|
||||||
|
Camera.main.ScreenToWorldPoint(new Vector2(0, Screen.height)).y);
|
||||||
|
float spawnX = Random.Range
|
||||||
|
(Camera.main.ScreenToWorldPoint(new Vector2(0, 0)).x,
|
||||||
|
Camera.main.ScreenToWorldPoint(new Vector2(Screen.width, 0)).x);
|
||||||
|
|
||||||
|
Vector2 spawnPosition = new Vector2(spawnX, spawnY);
|
||||||
|
Instantiate(Element.animalPrefab, spawnPosition, Quaternion.identity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Shop/AnimalShopSlot.cs.meta
Normal file
11
Assets/Scripts/Shop/AnimalShopSlot.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 12dc6c16906d3994380888118d0da675
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
53
Assets/Scripts/Shop/ItemShop.cs
Normal file
53
Assets/Scripts/Shop/ItemShop.cs
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Shop {
|
||||||
|
|
||||||
|
|
||||||
|
public class ItemShop : ElementStorage<Item> {
|
||||||
|
#region Singleton
|
||||||
|
|
||||||
|
public static ItemShop instance;
|
||||||
|
|
||||||
|
private void Awake() {
|
||||||
|
if(instance != null) {
|
||||||
|
Debug.LogWarning("More than one instance of ItemShop found");
|
||||||
|
}
|
||||||
|
|
||||||
|
instance = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public bool itemWasBought;
|
||||||
|
|
||||||
|
private PlayerController _playerController;
|
||||||
|
private Inventory _inventory;
|
||||||
|
private Item _lastBoughtItem;
|
||||||
|
private int _lastBoughtItemAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calls ElementStorage.RemoveItem() and sets 2 Variables to remember the last bought item
|
||||||
|
*/
|
||||||
|
public override void RemoveElement(Item item, int amount) {
|
||||||
|
base.RemoveElement(item, amount);
|
||||||
|
if(itemWasBought) {
|
||||||
|
_lastBoughtItem = item;
|
||||||
|
_lastBoughtItemAmount = amount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UndoLastPurchase() {
|
||||||
|
if(itemWasBought) {
|
||||||
|
_inventory = Inventory.instance;
|
||||||
|
_playerController = PlayerController.instance;
|
||||||
|
|
||||||
|
if(_lastBoughtItem) {
|
||||||
|
_playerController.ChangeMoney(_lastBoughtItem.price);
|
||||||
|
_inventory.RemoveElement(_lastBoughtItem, _lastBoughtItemAmount);
|
||||||
|
AddElement(_lastBoughtItem, _lastBoughtItemAmount);
|
||||||
|
itemWasBought = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
51
Assets/Scripts/Shop/ItemShopSlot.cs
Normal file
51
Assets/Scripts/Shop/ItemShopSlot.cs
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
using TMPro;
|
||||||
|
|
||||||
|
namespace Shop {
|
||||||
|
public class ItemShopSlot : ElementStorageSlot<Item> {
|
||||||
|
public TextMeshProUGUI nameText;
|
||||||
|
public TextMeshProUGUI costText;
|
||||||
|
|
||||||
|
private ItemShop _itemShop;
|
||||||
|
private Inventory _inventory;
|
||||||
|
private PlayerController _playerController;
|
||||||
|
|
||||||
|
private void Start() {
|
||||||
|
_itemShop = ItemShop.instance;
|
||||||
|
_inventory = Inventory.instance;
|
||||||
|
_playerController = PlayerController.instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clears the Shop Slot
|
||||||
|
*/
|
||||||
|
public override void ClearSlot() {
|
||||||
|
nameText.text = "";
|
||||||
|
costText.text = "";
|
||||||
|
amountText.text = "";
|
||||||
|
base.ClearSlot();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets called when the Shop Slot is clicked
|
||||||
|
*/
|
||||||
|
public override void UseElement() {
|
||||||
|
if(Element) {
|
||||||
|
if(_playerController.Money >= Element.price) {
|
||||||
|
if(Element) {
|
||||||
|
_playerController.ChangeMoney(-Element.price);
|
||||||
|
_itemShop.itemWasBought = true;
|
||||||
|
// Debug.Log("Buying Item: " + Element.displayName);
|
||||||
|
}
|
||||||
|
|
||||||
|
_inventory.AddElement(Element, 1);
|
||||||
|
_itemShop.RemoveElement(Element, 1);
|
||||||
|
} else {
|
||||||
|
// Debug.Log("Not enough money to buy Item.");
|
||||||
|
}
|
||||||
|
|
||||||
|
_itemShop.onElementChangedCallback?.Invoke();
|
||||||
|
_inventory.onElementChangedCallback?.Invoke();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
45
Assets/Scripts/Shop/ShopSwitcher.cs
Normal file
45
Assets/Scripts/Shop/ShopSwitcher.cs
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
namespace Shop {
|
||||||
|
|
||||||
|
|
||||||
|
public class ShopSwitcher : MonoBehaviour {
|
||||||
|
public Sprite animalShopSprite;
|
||||||
|
public Sprite itemShopSprite;
|
||||||
|
public Image switchButtonImage;
|
||||||
|
public TextMeshProUGUI shopTitleText;
|
||||||
|
public GameObject viewportItems;
|
||||||
|
public GameObject viewportAnimals;
|
||||||
|
public GameObject undoPurchaseButton;
|
||||||
|
|
||||||
|
private void Start() {
|
||||||
|
switchButtonImage.enabled = true;
|
||||||
|
switchButtonImage.sprite = animalShopSprite;
|
||||||
|
|
||||||
|
viewportItems.SetActive(true);
|
||||||
|
viewportAnimals.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SwitchShops() {
|
||||||
|
// switch Shop Title text and Image of the Button
|
||||||
|
if(shopTitleText.text.StartsWith("Item")) {
|
||||||
|
shopTitleText.text = "Animal \nShop";
|
||||||
|
switchButtonImage.sprite = itemShopSprite;
|
||||||
|
} else {
|
||||||
|
shopTitleText.text = "Item \nShop";
|
||||||
|
switchButtonImage.sprite = animalShopSprite;
|
||||||
|
}
|
||||||
|
|
||||||
|
// switch the shown shops
|
||||||
|
viewportItems.SetActive(!viewportItems.activeSelf);
|
||||||
|
viewportAnimals.SetActive(!viewportAnimals.activeSelf);
|
||||||
|
|
||||||
|
// turn off undoPurchaseButton when opening Animal Shop because of lack of undoing purchases in the Animal Shop
|
||||||
|
undoPurchaseButton.SetActive(!undoPurchaseButton.activeSelf);
|
||||||
|
|
||||||
|
// remove undo purchase button when switching to an animal shop and fix content alignement
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
85
Assets/Scripts/Shop/ShopUI.cs
Normal file
85
Assets/Scripts/Shop/ShopUI.cs
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Shop {
|
||||||
|
public class ShopUI : MonoBehaviour {
|
||||||
|
public Transform itemsParent;
|
||||||
|
public Transform animalsParent;
|
||||||
|
public GameObject shopUI;
|
||||||
|
public GameObject inventoryUI;
|
||||||
|
|
||||||
|
private ItemShop _itemShop;
|
||||||
|
private AnimalShop _animalShop;
|
||||||
|
private ItemShopSlot[] _itemSlots;
|
||||||
|
private AnimalShopSlot[] _animalSlots;
|
||||||
|
|
||||||
|
private void Start() {
|
||||||
|
// Get Shop instance and add UpdateUI method to OnItemChanged delegate
|
||||||
|
_itemShop = ItemShop.instance;
|
||||||
|
_animalShop = AnimalShop.instance;
|
||||||
|
_itemShop.onElementChangedCallback += UpdateUI;
|
||||||
|
_animalShop.onElementChangedCallback += UpdateUI;
|
||||||
|
|
||||||
|
// Add all ItemShopSlot GameObjects to _itemSlots and turn off the Shop UI
|
||||||
|
_itemSlots = itemsParent.GetComponentsInChildren<ItemShopSlot>();
|
||||||
|
_animalSlots = animalsParent.GetComponentsInChildren<AnimalShopSlot>();
|
||||||
|
ToggleShop();
|
||||||
|
|
||||||
|
// Set the icon to not be a raycast target for the Description Hovering to work
|
||||||
|
foreach(ItemShopSlot slot in _itemSlots) {
|
||||||
|
slot.image.raycastTarget = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach(AnimalShopSlot slot in _animalSlots) {
|
||||||
|
slot.image.raycastTarget = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
UpdateUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update() {
|
||||||
|
// When "Shop" button is pressed turn on/off Shop UI
|
||||||
|
if(Input.GetButtonDown("Shop")) {
|
||||||
|
ToggleShop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turn on/off the Shop UI
|
||||||
|
*/
|
||||||
|
private void ToggleShop() {
|
||||||
|
inventoryUI.gameObject.SetActive(!shopUI.activeSelf);
|
||||||
|
HoverManager.instance.HideDescription();
|
||||||
|
shopUI.SetActive(!shopUI.activeSelf);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is called when something in the Shop UI should update
|
||||||
|
*/
|
||||||
|
private void UpdateUI() {
|
||||||
|
// Add all items to the correct slots and clear the ones where no item should be
|
||||||
|
for(int i = 0; i < _itemSlots.Length; i++) {
|
||||||
|
// Item Slots
|
||||||
|
if(i < _itemShop.Elements.Count) {
|
||||||
|
_itemSlots[i].AddElement(_itemShop.Elements.ElementAt(i).Key);
|
||||||
|
_itemSlots[i].nameText.text = _itemSlots[i].Element.displayName;
|
||||||
|
_itemSlots[i].costText.text = _itemSlots[i].Element.price + " µ";
|
||||||
|
_itemSlots[i].amountText.text = _itemShop.Elements[_itemShop.Elements.ElementAt(i).Key] + " #";
|
||||||
|
} else {
|
||||||
|
_itemSlots[i].ClearSlot();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Animal SLots
|
||||||
|
if(i < _animalShop.Elements.Count) {
|
||||||
|
_animalSlots[i].AddElement(_animalShop.Elements.ElementAt(i).Key);
|
||||||
|
_animalSlots[i].nameText.text = _animalSlots[i].Element.displayName;
|
||||||
|
_animalSlots[i].costText.text = _animalSlots[i].Element.price + " µ";
|
||||||
|
_animalSlots[i].amountText.text =
|
||||||
|
_animalShop.Elements[_animalShop.Elements.ElementAt(i).Key] + " #";
|
||||||
|
} else {
|
||||||
|
_animalSlots[i].ClearSlot();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
using TMPro;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class ShopSlot : ElementStorageSlot<Item> {
|
|
||||||
public TextMeshProUGUI nameText;
|
|
||||||
public TextMeshProUGUI costText;
|
|
||||||
|
|
||||||
private Shop _shop;
|
|
||||||
private Inventory _inventory;
|
|
||||||
private PlayerController _playerController;
|
|
||||||
|
|
||||||
private void Start() {
|
|
||||||
_shop = Shop.instance;
|
|
||||||
_inventory = Inventory.instance;
|
|
||||||
_playerController = PlayerController.instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Clears the Shop Slot
|
|
||||||
*/
|
|
||||||
public override void ClearSlot() {
|
|
||||||
nameText.text = "";
|
|
||||||
costText.text = "";
|
|
||||||
amountText.text = "";
|
|
||||||
base.ClearSlot();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets called when the Shop Slot is clicked
|
|
||||||
*/
|
|
||||||
public override void UseElement() {
|
|
||||||
if(Element) {
|
|
||||||
if(_playerController.Money >= Element.price) {
|
|
||||||
if(Element) {
|
|
||||||
_playerController.ChangeMoney(-Element.price);
|
|
||||||
_shop.itemWasBought = true;
|
|
||||||
|
|
||||||
Debug.Log("Buying Item: " + Element.displayName);
|
|
||||||
}
|
|
||||||
_inventory.AddElement(Element, 1);
|
|
||||||
_shop.RemoveElement(Element, 1);
|
|
||||||
} else {
|
|
||||||
Debug.Log("Not enough money to buy item.");
|
|
||||||
}
|
|
||||||
|
|
||||||
_shop.onElementChangedCallback?.Invoke();
|
|
||||||
_inventory.onElementChangedCallback?.Invoke();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class ShopSwitcher : MonoBehaviour {
|
|
||||||
public Sprite animalShopSprite;
|
|
||||||
public Sprite itemShopSprite;
|
|
||||||
|
|
||||||
public void SwitchShops() {
|
|
||||||
// switch text in Shop Title
|
|
||||||
// switch image on switch Button
|
|
||||||
// turn off one content and turn on the other
|
|
||||||
// remove undo purchase button when switching to an animal shop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
using System.Linq;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class ShopUI : MonoBehaviour {
|
|
||||||
public Transform itemsParent;
|
|
||||||
public GameObject shopUI;
|
|
||||||
public GameObject inventoryUI;
|
|
||||||
|
|
||||||
private Shop _shop;
|
|
||||||
private ShopSlot[] _slots;
|
|
||||||
|
|
||||||
private void Start() {
|
|
||||||
// Get Shop instance and add UpdateUI method to OnItemChanged delegate
|
|
||||||
_shop = Shop.instance;
|
|
||||||
_shop.onElementChangedCallback += UpdateUI;
|
|
||||||
|
|
||||||
// Add all ShopSlot GameObjects to _slots and turn off the Shop UI
|
|
||||||
_slots = itemsParent.GetComponentsInChildren<ShopSlot>();
|
|
||||||
ToggleShop();
|
|
||||||
|
|
||||||
// Set the icon to not be a raycast target for the Description Hovering to work
|
|
||||||
foreach (ShopSlot slot in _slots) {
|
|
||||||
slot.icon.raycastTarget = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Update() {
|
|
||||||
// When "Shop" button is pressed turn on/off Shop UI
|
|
||||||
if (Input.GetButtonDown("Shop")) {
|
|
||||||
ToggleShop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Turn on/off the Shop UI
|
|
||||||
*/
|
|
||||||
private void ToggleShop() {
|
|
||||||
inventoryUI.gameObject.SetActive(!shopUI.activeSelf);
|
|
||||||
HoverManager.instance.HideDescription();
|
|
||||||
shopUI.SetActive(!shopUI.activeSelf);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Is called when something in the Shop UI should update
|
|
||||||
*/
|
|
||||||
private void UpdateUI() {
|
|
||||||
// Add all items to the correct slots and clear the ones where no item should be
|
|
||||||
for (int i = 0; i < _slots.Length; i++) {
|
|
||||||
if (i < _shop.Elements.Count) {
|
|
||||||
_slots[i].AddElement(_shop.Elements.ElementAt(i).Key);
|
|
||||||
_slots[i].nameText.text = _slots[i].Element.displayName;
|
|
||||||
_slots[i].costText.text = _slots[i].Element.price + " µ";
|
|
||||||
_slots[i].amountText.text = _shop.Elements[_shop.Elements.ElementAt(i).Key] + " #";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
_slots[i].ClearSlot();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -137,12 +137,21 @@
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
|
"com.unity.nuget.newtonsoft-json": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"depth": 2,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
"com.unity.services.core": {
|
"com.unity.services.core": {
|
||||||
"version": "1.0.1",
|
"version": "1.3.1",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.modules.unitywebrequest": "1.0.0"
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
|
"com.unity.nuget.newtonsoft-json": "3.0.2",
|
||||||
|
"com.unity.modules.androidjni": "1.0.0"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue