From 8dc7f78803fbffa6ea8872cd4daf3f5130e432d3 Mon Sep 17 00:00:00 2001 From: d-hain Date: Fri, 24 Jun 2022 00:49:22 +0200 Subject: [PATCH] added chicken added bucket cow can now be milked --- .../farming-chicken.png.meta | 28 ++- Assets/Icons/bucket-selected.png | Bin 0 -> 435 bytes Assets/Icons/bucket-selected.png.meta | 122 ++++++++++++ Assets/Icons/bucket.png | Bin 0 -> 463 bytes Assets/Icons/bucket.png.meta | 122 ++++++++++++ Assets/Icons/chicken-selected.png | Bin 0 -> 631 bytes Assets/Icons/chicken-selected.png.meta | 122 ++++++++++++ .../Resources/Animations/Chicken.controller | 159 +++++++++++++++ .../Animations/Chicken.controller.meta | 8 + .../Animations/DayTransitionPanel.controller | 4 +- Assets/Resources/Animations/chicken_idle.anim | 71 +++++++ .../Animations/chicken_idle.anim.meta | 8 + Assets/Resources/Animations/chicken_run.anim | 74 +++++++ .../Animations/chicken_run.anim.meta | 8 + Assets/Resources/Chicken.prefab | 185 ++++++++++++++++++ Assets/Resources/Chicken.prefab.meta | 7 + Assets/Resources/Cow.prefab | 42 ++-- Assets/Resources/Items/Egg.asset | 2 +- Assets/Resources/Items/Usable/Bucket.asset | 19 ++ .../Resources/Items/Usable/Bucket.asset.meta | 8 + Assets/Scenes/MainScene.unity | 150 +++++++++----- Assets/Scripts/Actions/ActionManager.cs | 2 + .../Scripts/Actions/NextDayActionHandlers.cs | 32 +++ Assets/Scripts/Animal.cs | 29 +-- Assets/Scripts/Cow.cs | 29 +++ Assets/Scripts/Cow.cs.meta | 11 ++ 26 files changed, 1141 insertions(+), 101 deletions(-) create mode 100644 Assets/Icons/bucket-selected.png create mode 100644 Assets/Icons/bucket-selected.png.meta create mode 100644 Assets/Icons/bucket.png create mode 100644 Assets/Icons/bucket.png.meta create mode 100644 Assets/Icons/chicken-selected.png create mode 100644 Assets/Icons/chicken-selected.png.meta create mode 100644 Assets/Resources/Animations/Chicken.controller create mode 100644 Assets/Resources/Animations/Chicken.controller.meta create mode 100644 Assets/Resources/Animations/chicken_idle.anim create mode 100644 Assets/Resources/Animations/chicken_idle.anim.meta create mode 100644 Assets/Resources/Animations/chicken_run.anim create mode 100644 Assets/Resources/Animations/chicken_run.anim.meta create mode 100644 Assets/Resources/Chicken.prefab create mode 100644 Assets/Resources/Chicken.prefab.meta create mode 100644 Assets/Resources/Items/Usable/Bucket.asset create mode 100644 Assets/Resources/Items/Usable/Bucket.asset.meta create mode 100644 Assets/Scripts/Cow.cs create mode 100644 Assets/Scripts/Cow.cs.meta diff --git a/Assets/Farming Asset Pack/farming-chicken.png.meta b/Assets/Farming Asset Pack/farming-chicken.png.meta index d8d6fe7..e3b62d4 100644 --- a/Assets/Farming Asset Pack/farming-chicken.png.meta +++ b/Assets/Farming Asset Pack/farming-chicken.png.meta @@ -66,7 +66,7 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 1 + filterMode: 0 aniso: 16 mipBias: 0 wrapU: 1 @@ -80,7 +80,7 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 + spritePixelsToUnits: 32 spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 @@ -100,6 +100,30 @@ TextureImporter: - serializedVersion: 3 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 + resizeAlgorithm: 1 + 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 diff --git a/Assets/Icons/bucket-selected.png b/Assets/Icons/bucket-selected.png new file mode 100644 index 0000000000000000000000000000000000000000..5a98978eb79c3d6685c2ae535b43049b5f6f5881 GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V9fP& zaSVxQeLL--9&?~b+kWj@Mw5?hONBZ!OPV7E{1LCrZ1o^mBmcRiYWckh{9x8L@fUVC5v`RoLZIR_T7 zUotrx5;rrRNue*9;hdlUo*r>AWrkmW#TlynzaQ9OKBt(ENg-gi+sYo%-?n8lN?IJZ~)7cxLm`f3J(vbS)JwFL)jwV!>FA4S zC%XHH$T7YQvgN&+rMlUF@`ZT!xqlz67L{Xs&9_`zgemIU&FFot!Up+AE6tbKM4ntO qs>i77c_LnV^^wgX7LA>Dj4y9bV=3ddT*|<}z~JfX=d#Wzp$P!vFSjrN literal 0 HcmV?d00001 diff --git a/Assets/Icons/bucket-selected.png.meta b/Assets/Icons/bucket-selected.png.meta new file mode 100644 index 0000000..95996fc --- /dev/null +++ b/Assets/Icons/bucket-selected.png.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: e5d260800e972cd449af5dfcca028521 +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: diff --git a/Assets/Icons/bucket.png b/Assets/Icons/bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..ae51a2648e3538dea63b9fc96e8dba1d71227ea5 GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>VC?jC zaSVxQeLL-}7gM0f@p|FS6aO5TvQO@S5ryURvP#g(+xuiKqm} zOuL4u7G7aH1ef`;?+kaBA8(<7ON)`~-uH$G{Yu;RLw@^#kf2Tm7DHq`v%YRLI^V)Dj2vpjbS+b}K5 zlwx?>_m<(wxuOFNE$epwZlCyAsB(9*_P)P$@sZE18wJ{f*D}~s7!ZR|L$$!l2 WGTKlQ{D*;ofx*+&&t;ucLK6V@U^4V{ zaSVxQeLKxC`?iC~@&DJ`zA=B{PANDb!FABf#EOw$_Lid5o(kQmb1Y}{`8`XRwAOE7 z^v6X(`fo2dUeK7mVufNt%p=8=lj<+7eX?>Xf8n=l^ORM=f7_j>Ev^24zj{}>(1uH1 zsxFPuub7W$fNLJ$j;1Xh3RA%i|2KP3z3FUfh~p(Eis;_}rHwC(mt9ADn*D_v7Q@ ziH0ZMeXe!+sA4Y1e|o*>O?H)Hh94h4P8CcjsY%H4wz_M7DRwerhemSU-Q;0{=`FYARg2YD2^=l|(y4f-vHfR`qC!VU#4F2;>kRhW zb=l+X_n(|`E}eU&=+C6LU)vcb%ru^_d*L;|;8Ecvj3u!LK0Uay=4!3t7v`Qmey-WG z8H^Y&xv#sxzofYQf#MhDmv*Int5O+sy3`k~$-4ILz~S4Ajde?YZG3TS%ZIQt^LOrI z-ENhu>+*tK!aex0+`{OVnfr53J6^vRb4&2_nXA1kG#VNh6dGIV8p4+A${xQc!cb)V zUz$N7(?5=v;SdkQxwwB#-}8E(); + rv = true; + } + catch { } + + return rv; + } + } public class FarmlandTileNextDayActionHandler : AbstractFarmlandTileNextDayActionHandler { public override void InvokeAction(GameObject gameObject) { @@ -87,4 +105,18 @@ namespace Actions { return rv; } } + + public class ChickenAnimalNextDayActionHandler : AbstractAnimalNextDayActionHandler { + public override void InvokeAction(GameObject gameObject) { + Inventory.instance.AddElement(_animal.producedItem, Random.Range(1, 5)); + } + + public override bool Matches(GameObject gameObject) { + bool rv = base.Matches(gameObject); + if(rv) { + rv = _animal.displayName.Equals("Chicken"); + } + return rv; + } + } } \ No newline at end of file diff --git a/Assets/Scripts/Animal.cs b/Assets/Scripts/Animal.cs index e489a07..60910cd 100644 --- a/Assets/Scripts/Animal.cs +++ b/Assets/Scripts/Animal.cs @@ -8,8 +8,7 @@ public class Animal : MonoBehaviour { private Rigidbody2D _rigidbody; private SpriteRenderer _spriteRenderer; private Animator _animator; - private int _animMoveID; - private bool _canBeMilked; + private int _animatorMoveID; public int SellPrice => Convert.ToInt32(price * 0.8); @@ -26,13 +25,10 @@ public class Animal : MonoBehaviour { _rigidbody = gameObject.GetComponent(); _spriteRenderer = gameObject.GetComponent(); _animator = gameObject.GetComponent(); - _animMoveID = Animator.StringToHash("moving"); + _animatorMoveID = Animator.StringToHash("moving"); - _canBeMilked = true; _spriteRenderer.sprite = defaultSprite; - HouseController.NewDayEvent.AddListener(InvertCanBeMilked); - // Move the Animal in any random direction every 1-5s InvokeRepeating(nameof(MoveInRandomDirection), 2f, Random.Range(1f, 5f)); } @@ -58,29 +54,12 @@ public class Animal : MonoBehaviour { } _rigidbody.velocity = movementSpeed * direction; - _animator.SetBool(_animMoveID, true); + _animator.SetBool(_animatorMoveID, true); yield return new WaitForSeconds(randTime); _rigidbody.velocity = new Vector2(0f, 0f); - _animator.SetBool(_animMoveID, false); + _animator.SetBool(_animatorMoveID, false); } StartCoroutine(Move()); } - - /** - * Invert the _canBeMilked bool - */ - private void InvertCanBeMilked() { - _canBeMilked = !_canBeMilked; - } - - /** - * Milk cow if possible - */ - private void OnMouseDown() { - if(_canBeMilked) { - ActionManager.Instance.ClickAction(gameObject, PlayerController.instance.SelectedItem); - _canBeMilked = false; - } - } } \ No newline at end of file diff --git a/Assets/Scripts/Cow.cs b/Assets/Scripts/Cow.cs new file mode 100644 index 0000000..af749ec --- /dev/null +++ b/Assets/Scripts/Cow.cs @@ -0,0 +1,29 @@ +using Actions; +using UnityEngine; + +public class Cow : Animal { + private bool _canBeMilked; + + private void Awake() { + _canBeMilked = true; + HouseController.NewDayEvent.AddListener(UpdateCanBeMilked); + } + + /** + * Update the _canBeMilked bool + */ + private void UpdateCanBeMilked() { + Debug.Log("_ca" + _canBeMilked); + _canBeMilked = true; + } + + /** + * Get Milk if cow is able to be milked + */ + private void OnMouseDown() { + if(_canBeMilked) { + ActionManager.Instance.ClickAction(gameObject, PlayerController.instance.SelectedItem); + _canBeMilked = false; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Cow.cs.meta b/Assets/Scripts/Cow.cs.meta new file mode 100644 index 0000000..79a9f45 --- /dev/null +++ b/Assets/Scripts/Cow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3abcd021be6e8cd429909d1140d61699 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: