diff --git a/Assets/Resources/Animations/Cow.controller b/Assets/Resources/Animations/Cow.controller index 460a40b..6f6e792 100644 --- a/Assets/Resources/Animations/Cow.controller +++ b/Assets/Resources/Animations/Cow.controller @@ -1,5 +1,57 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-8570841331071236566 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: cow_run + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 8573141065778587267} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 0566027f79e45ed4abf0776a98360cd1, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &-6138015038514249982 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: moving + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -8570841331071236566} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.5833334 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -8,5 +60,100 @@ AnimatorController: m_PrefabAsset: {fileID: 0} m_Name: Cow serializedVersion: 5 - m_AnimatorParameters: [] - m_AnimatorLayers: [] + m_AnimatorParameters: + - m_Name: moving + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 98527405748274846} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1107 &98527405748274846 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 8672028748903136657} + m_Position: {x: 300, y: 20, z: 0} + - serializedVersion: 1 + m_State: {fileID: -8570841331071236566} + m_Position: {x: 300, y: 120, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 40, y: 50, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 8672028748903136657} +--- !u!1101 &8573141065778587267 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: moving + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 8672028748903136657} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.625 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &8672028748903136657 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: cow_idle + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -6138015038514249982} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 438959e461baad849bbbeec3884baa33, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/Resources/Animations/Cow.controller.meta b/Assets/Resources/Animations/Cow.controller.meta index 8a9512e..630f2a8 100644 --- a/Assets/Resources/Animations/Cow.controller.meta +++ b/Assets/Resources/Animations/Cow.controller.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 353868083b4723041bbf6c45effa9223 +guid: a8de1a8a5ef3dd746b62c64884f39c5f NativeFormatImporter: externalObjects: {} mainObjectFileID: 9100000 diff --git a/Assets/Resources/Animations/cow_idle.anim b/Assets/Resources/Animations/cow_idle.anim index df85ac0..8ab515a 100644 --- a/Assets/Resources/Animations/cow_idle.anim +++ b/Assets/Resources/Animations/cow_idle.anim @@ -17,21 +17,42 @@ AnimationClip: m_PositionCurves: [] m_ScaleCurves: [] m_FloatCurves: [] - m_PPtrCurves: [] - m_SampleRate: 60 + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 21300000, guid: e2bde586482642d44a270276574c0129, type: 3} + - time: 0.2 + value: {fileID: 21300002, guid: e2bde586482642d44a270276574c0129, type: 3} + - time: 0.4 + value: {fileID: 21300004, guid: e2bde586482642d44a270276574c0129, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + m_SampleRate: 5 m_WrapMode: 0 m_Bounds: m_Center: {x: 0, y: 0, z: 0} m_Extent: {x: 0, y: 0, z: 0} m_ClipBindingConstant: - genericBindings: [] - pptrCurveMapping: [] + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 21300000, guid: e2bde586482642d44a270276574c0129, type: 3} + - {fileID: 21300002, guid: e2bde586482642d44a270276574c0129, type: 3} + - {fileID: 21300004, guid: e2bde586482642d44a270276574c0129, type: 3} m_AnimationClipSettings: serializedVersion: 2 m_AdditiveReferencePoseClip: {fileID: 0} m_AdditiveReferencePoseTime: 0 m_StartTime: 0 - m_StopTime: 1 + m_StopTime: 0.6 m_OrientationOffsetY: 0 m_Level: 0 m_CycleOffset: 0 diff --git a/Assets/Resources/Animations/cow_run.anim b/Assets/Resources/Animations/cow_run.anim index b95a6f8..3015ced 100644 --- a/Assets/Resources/Animations/cow_run.anim +++ b/Assets/Resources/Animations/cow_run.anim @@ -17,21 +17,39 @@ AnimationClip: m_PositionCurves: [] m_ScaleCurves: [] m_FloatCurves: [] - m_PPtrCurves: [] - m_SampleRate: 60 + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 21300006, guid: e2bde586482642d44a270276574c0129, type: 3} + - time: 0.33333334 + value: {fileID: 21300008, guid: e2bde586482642d44a270276574c0129, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + m_SampleRate: 3 m_WrapMode: 0 m_Bounds: m_Center: {x: 0, y: 0, z: 0} m_Extent: {x: 0, y: 0, z: 0} m_ClipBindingConstant: - genericBindings: [] - pptrCurveMapping: [] + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 21300006, guid: e2bde586482642d44a270276574c0129, type: 3} + - {fileID: 21300008, guid: e2bde586482642d44a270276574c0129, type: 3} m_AnimationClipSettings: serializedVersion: 2 m_AdditiveReferencePoseClip: {fileID: 0} m_AdditiveReferencePoseTime: 0 m_StartTime: 0 - m_StopTime: 1 + m_StopTime: 0.6666667 m_OrientationOffsetY: 0 m_Level: 0 m_CycleOffset: 0 diff --git a/Assets/Resources/Cow.prefab b/Assets/Resources/Cow.prefab index dfbb126..b5d49c8 100644 --- a/Assets/Resources/Cow.prefab +++ b/Assets/Resources/Cow.prefab @@ -13,7 +13,7 @@ GameObject: - component: {fileID: 123187747779251107} - component: {fileID: 2510115116361252818} - component: {fileID: 4094795090309576525} - - component: {fileID: 3321960187907454328} + - component: {fileID: 3084876974777557816} m_Layer: 0 m_Name: Cow m_TagString: Untagged @@ -156,10 +156,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: producedItem: {fileID: 11400000, guid: 510712f2d23afc147979bcd564ef7943, type: 2} - animalSprite: {fileID: 21300000, guid: e2bde586482642d44a270276574c0129, type: 3} movementSpeed: 1 - animator: {fileID: 3321960187907454328} ---- !u!95 &3321960187907454328 +--- !u!95 &3084876974777557816 Animator: serializedVersion: 4 m_ObjectHideFlags: 0 @@ -169,7 +167,7 @@ Animator: m_GameObject: {fileID: 2510115116361252817} m_Enabled: 1 m_Avatar: {fileID: 0} - m_Controller: {fileID: 9100000, guid: 353868083b4723041bbf6c45effa9223, type: 2} + m_Controller: {fileID: 9100000, guid: a8de1a8a5ef3dd746b62c64884f39c5f, type: 2} m_CullingMode: 0 m_UpdateMode: 0 m_ApplyRootMotion: 0 diff --git a/Assets/Scripts/Animal.cs b/Assets/Scripts/Animal.cs index aa5e207..a8ca361 100644 --- a/Assets/Scripts/Animal.cs +++ b/Assets/Scripts/Animal.cs @@ -6,22 +6,25 @@ using Random = UnityEngine.Random; public class Animal : MonoBehaviour { private Rigidbody2D _rigidbody; + private Sprite _animalSprite; + private Animator _animator; private int _animMoveID; + + public Sprite AnimalSprite => _animalSprite; public Item producedItem; - public Sprite animalSprite; public int movementSpeed; - public Animator animator; - + private void Start() { _rigidbody = gameObject.GetComponent(); - animalSprite = gameObject.GetComponent().GetComponent(); + _animalSprite = gameObject.GetComponent().GetComponent(); + _animator = gameObject.GetComponent(); _animMoveID = Animator.StringToHash("moving"); // Move the Animal in any random direction every 1-5s InvokeRepeating(nameof(MoveInRandomDirection), 2f, Random.Range(1f, 5f)); } - + // Moves the Animal in any random direction for a random amount of time private void MoveInRandomDirection() { IEnumerator Move() { @@ -34,10 +37,10 @@ public class Animal : MonoBehaviour { direction.Normalize(); _rigidbody.velocity = movementSpeed * direction; - animator.SetBool(_animMoveID, true); + _animator.SetBool(_animMoveID, true); yield return new WaitForSeconds(randTime); _rigidbody.velocity = new Vector2(0f, 0f); - animator.SetBool(_animMoveID, false); + _animator.SetBool(_animMoveID, false); } StartCoroutine(Move()); diff --git a/Assets/StreamingAssets.meta b/Assets/StreamingAssets.meta new file mode 100644 index 0000000..ee89a44 --- /dev/null +++ b/Assets/StreamingAssets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1ea029972a73eca44a2723c8065677d8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: