diff --git a/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_Blue_fertilizer.controller b/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_Blue_fertilizer.controller index 3630e5a0..44ff371c 100644 --- a/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_Blue_fertilizer.controller +++ b/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_Blue_fertilizer.controller @@ -1,5 +1,56 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1101 &-7111109187487163602 +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: Walk + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1896276062057396588} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &-3431514156754070988 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Wait + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + 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: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1102 &-1896276062057396588 AnimatorState: serializedVersion: 5 @@ -37,12 +88,17 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: 1865373503259183097} - m_Position: {x: 200, y: 0, z: 0} + m_Position: {x: 330, y: -10, z: 0} - serializedVersion: 1 m_State: {fileID: -1896276062057396588} - m_Position: {x: 235, y: 65, z: 0} + m_Position: {x: 370, y: 60, z: 0} + - serializedVersion: 1 + m_State: {fileID: -3431514156754070988} + m_Position: {x: 500, y: 150, z: 0} m_ChildStateMachines: [] - m_AnyStateTransitions: [] + m_AnyStateTransitions: + - {fileID: -7111109187487163602} + - {fileID: 6329596250799859645} m_EntryTransitions: [] m_StateMachineTransitions: {} m_StateMachineBehaviours: [] @@ -50,7 +106,7 @@ AnimatorStateMachine: 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: 1865373503259183097} + m_DefaultState: {fileID: -3431514156754070988} --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -59,7 +115,19 @@ AnimatorController: m_PrefabAsset: {fileID: 0} m_Name: Brother_Blue_fertilizer serializedVersion: 5 - m_AnimatorParameters: [] + m_AnimatorParameters: + - m_Name: Walk + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: Farming + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer @@ -99,3 +167,28 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &6329596250799859645 +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: Farming + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1865373503259183097} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 diff --git a/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_fertilizer.controller b/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_fertilizer.controller index 12d091ae..03d2805a 100644 --- a/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_fertilizer.controller +++ b/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_fertilizer.controller @@ -1,5 +1,56 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-7441558008498407490 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Wait + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + 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: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &-6672215222323806231 +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: Farming + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1408040691891927318} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &-1408040691891927318 AnimatorState: serializedVersion: 5 @@ -34,7 +85,19 @@ AnimatorController: m_PrefabAsset: {fileID: 0} m_Name: Brother_pink_fertilizer serializedVersion: 5 - m_AnimatorParameters: [] + m_AnimatorParameters: + - m_Name: Walk + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: Farming + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer @@ -59,12 +122,17 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: -1408040691891927318} - m_Position: {x: 200, y: 0, z: 0} + m_Position: {x: 300, y: 0, z: 0} - serializedVersion: 1 m_State: {fileID: 6206540240343493056} - m_Position: {x: 235, y: 65, z: 0} + m_Position: {x: 330, y: 60, z: 0} + - serializedVersion: 1 + m_State: {fileID: -7441558008498407490} + m_Position: {x: 370, y: 130, z: 0} m_ChildStateMachines: [] - m_AnyStateTransitions: [] + m_AnyStateTransitions: + - {fileID: 6177801056267467024} + - {fileID: -6672215222323806231} m_EntryTransitions: [] m_StateMachineTransitions: {} m_StateMachineBehaviours: [] @@ -72,7 +140,32 @@ AnimatorStateMachine: 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: -1408040691891927318} + m_DefaultState: {fileID: -7441558008498407490} +--- !u!1101 &6177801056267467024 +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: Walk + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 6206540240343493056} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &6206540240343493056 AnimatorState: serializedVersion: 5 diff --git a/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity b/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity index 7fc97caa..2908ab55 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity +++ b/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity @@ -283,6 +283,36 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &120399583 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 120399584} + m_Layer: 0 + m_Name: PinkFarmingTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &120399584 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 120399583} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.37, y: -1.43, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2040636316} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &149181930 GameObject: m_ObjectHideFlags: 0 @@ -314,7 +344,7 @@ Transform: - {fileID: 279224990} - {fileID: 1958951428} m_Father: {fileID: 1501215306} - m_RootOrder: 6 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &213307014 GameObject: @@ -504,7 +534,7 @@ Transform: - {fileID: 521469530} - {fileID: 998360038} m_Father: {fileID: 1501215306} - m_RootOrder: 5 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &282523124 MonoBehaviour: @@ -664,6 +694,36 @@ MonoBehaviour: randomPlaySEFilenames: [] randomPlayVoiceFilenames: [] vibrationType: 0 +--- !u!1 &315104241 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 315104242} + m_Layer: 0 + m_Name: BlueWalkEndTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &315104242 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 315104241} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: -11.4, y: -1.43, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2040636316} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} --- !u!1 &323920545 GameObject: m_ObjectHideFlags: 0 @@ -1637,6 +1697,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 525465088} + - component: {fileID: 525465089} m_Layer: 5 m_Name: Button_fertilizer m_TagString: Untagged @@ -1665,6 +1726,21 @@ RectTransform: m_AnchoredPosition: {x: 43, y: 684} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &525465089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 525465087} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 825e8c21a1da42d494e43d1c51c40c24, type: 3} + m_Name: + m_EditorClassIdentifier: + rewardButton: {fileID: 313196412} + DisableObject: {fileID: 1538747618} + remainTimeText: {fileID: 2050892193} --- !u!1 &536970157 GameObject: m_ObjectHideFlags: 0 @@ -2015,6 +2091,7 @@ GameObject: m_Component: - component: {fileID: 715847676} - component: {fileID: 715847675} + - component: {fileID: 715847677} m_Layer: 0 m_Name: Manager m_TagString: Untagged @@ -2044,6 +2121,8 @@ MonoBehaviour: harvestSpawnTarget: {fileID: 1998181883} harvestInsertPosition: {fileID: 895001959} cornHarvester: {fileID: 282523124} + fertilizerButtonView: {fileID: 525465089} + brotherFertilizerAnimation: {fileID: 715847677} counterView: {fileID: 1507187603938887411} animationTarget: {fileID: 1373978114} plantLines: @@ -2064,6 +2143,25 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &715847677 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 715847674} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 03cb9bb1367d44f38639e0f772ad6835, type: 3} + m_Name: + m_EditorClassIdentifier: + pinkBrotherAnimator: {fileID: 7854448233124094805} + blueBrotherAnimator: {fileID: 1194872051} + pinkFarmingTarget: {fileID: 120399584} + pinkWalkEndTarget: {fileID: 769574934} + blueFarmingTarget: {fileID: 1185335240} + blueWalkEndTarget: {fileID: 315104242} + walkSpeed: 1.01 --- !u!114 &730756546 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 7809777061605929427, guid: caaa748dbeed576499e8cae74d33f689, @@ -2076,6 +2174,36 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &769574933 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 769574934} + m_Layer: 0 + m_Name: PinkWalkEndTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &769574934 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 769574933} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 11.4, y: -1.43, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2040636316} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &774898063 GameObject: m_ObjectHideFlags: 0 @@ -2234,7 +2362,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1501215306} - m_RootOrder: 3 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &904584333 GameObject: @@ -2719,6 +2847,36 @@ SortingGroup: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 27 +--- !u!1 &1185335239 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1185335240} + m_Layer: 0 + m_Name: BlueFarmingTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1185335240 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1185335239} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: -3.89, y: -1.43, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2040636316} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} --- !u!114 &1192216301 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 3767471200807653374, guid: 5e326851a49dc4fd9b51d54fb58f4e02, @@ -2748,7 +2906,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!4 &1194872049 Transform: m_ObjectHideFlags: 0 @@ -2756,14 +2914,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1194872048} - m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} m_LocalPosition: {x: -3.89, y: -1.43, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1455855156} - {fileID: 640256890} - {fileID: 1795496554} - m_Father: {fileID: 1501215306} + m_Father: {fileID: 2040636316} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} --- !u!210 &1194872050 @@ -3357,8 +3515,7 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 7854448233124094804} - - {fileID: 1194872049} + - {fileID: 2040636316} - {fileID: 1989990598} - {fileID: 895001959} - {fileID: 1998181883} @@ -3491,7 +3648,6 @@ GameObject: - component: {fileID: 1538747619} - component: {fileID: 1538747622} - component: {fileID: 1538747621} - - component: {fileID: 1538747620} m_Layer: 5 m_Name: Button_fertilizer_off m_TagString: Untagged @@ -3520,49 +3676,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 300, y: 202} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1538747620 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1538747618} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - 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: 1538747621} - m_OnClick: - m_PersistentCalls: - m_Calls: [] --- !u!114 &1538747621 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3982,7 +4095,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &1795496554 Transform: m_ObjectHideFlags: 0 @@ -8736,7 +8849,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &1817670108 Transform: m_ObjectHideFlags: 0 @@ -13733,7 +13846,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1501215306} - m_RootOrder: 2 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &1989990599 SpriteRenderer: @@ -13826,7 +13939,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1501215306} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!210 &1998181884 SortingGroup: @@ -13839,6 +13952,42 @@ SortingGroup: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 30 +--- !u!1 &2040636315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2040636316} + m_Layer: 0 + m_Name: Brothers + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2040636316 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040636315} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7854448233124094804} + - {fileID: 1194872049} + - {fileID: 120399584} + - {fileID: 769574934} + - {fileID: 1185335240} + - {fileID: 315104242} + m_Father: {fileID: 1501215306} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2050892191 GameObject: m_ObjectHideFlags: 0 @@ -14789,24 +14938,6 @@ Transform: m_Father: {fileID: 7854448233733155803} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7854448233124094762 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7854448233124094807} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6bf6e7fee6cf41a6bad181319bb8b8ed, type: 3} - m_Name: - m_EditorClassIdentifier: - animatorPrefab: {fileID: 0} - pinkTransform: {fileID: 7854448233124094804} - walkSideBottomPos: -8 - pinkWalkSpeed: 4 - coolTime: 20 - fewerBorder: 5 --- !u!210 &7854448233124094763 SortingGroup: m_ObjectHideFlags: 0 @@ -14832,7 +14963,7 @@ Transform: - {fileID: 7854448232574702555} - {fileID: 7854448233515474771} - {fileID: 1817670108} - m_Father: {fileID: 1501215306} + m_Father: {fileID: 2040636316} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!95 &7854448233124094805 @@ -14864,7 +14995,6 @@ GameObject: m_Component: - component: {fileID: 7854448233124094804} - component: {fileID: 7854448233124094805} - - component: {fileID: 7854448233124094762} - component: {fileID: 7854448233124094763} m_Layer: 0 m_Name: Brother_pink @@ -14872,7 +15002,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!1 &7854448233173933744 GameObject: m_ObjectHideFlags: 0 diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/BrotherFertilizerAnimation.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/BrotherFertilizerAnimation.cs new file mode 100644 index 00000000..57be4f1f --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/BrotherFertilizerAnimation.cs @@ -0,0 +1,63 @@ +using System; +using UniRx; +using UniRx.Triggers; +using UnityEngine; + +public class BrotherFertilizerAnimation : MonoBehaviour +{ + private static readonly int Walk = Animator.StringToHash("Walk"); + private static readonly int Farming = Animator.StringToHash("Farming"); + [SerializeField] private Animator pinkBrotherAnimator; + [SerializeField] private Animator blueBrotherAnimator; + [SerializeField] private Transform pinkFarmingTarget; + [SerializeField] private Transform pinkWalkEndTarget; + [SerializeField] private Transform blueFarmingTarget; + [SerializeField] private Transform blueWalkEndTarget; + [SerializeField] private float walkSpeed = .5f; + + private readonly CompositeDisposable compositeDisposable = new CompositeDisposable(); + + private void Start() + { + compositeDisposable.AddTo(this); + SetActive(false); + } + + private void SetActive(bool active) + { + pinkBrotherAnimator.transform.SetLocalScale(active ? 1 : 0); + blueBrotherAnimator.transform.SetLocalScale(active ? 1 : 0); + } + + public void StartAnimation() + { + compositeDisposable.Clear(); + SetActive(true); + pinkBrotherAnimator.SetTrigger(Farming); + blueBrotherAnimator.SetTrigger(Farming); + pinkBrotherAnimator.transform.localPosition = pinkFarmingTarget.localPosition; + blueBrotherAnimator.transform.localPosition = blueFarmingTarget.localPosition; + pinkBrotherAnimator.transform.localRotation = Quaternion.Euler(Vector3.zero); + blueBrotherAnimator.transform.localRotation = Quaternion.Euler(Vector3.up * 180); + + } + + public void EndAnimation() + { + compositeDisposable.Clear(); + // 左右に帰る + pinkBrotherAnimator.SetTrigger(Walk); + blueBrotherAnimator.SetTrigger(Walk); + var pinkTransform = pinkBrotherAnimator.transform; + var blueTransform = blueBrotherAnimator.transform; + pinkTransform.localRotation = Quaternion.Euler(Vector3.up * 180); + blueTransform.localRotation = Quaternion.Euler(Vector3.zero); + this.UpdateAsObservable().Subscribe(_ => + { + pinkTransform.localPosition = Vector3.MoveTowards(pinkTransform.localPosition, + pinkWalkEndTarget.localPosition, walkSpeed * Time.deltaTime); + blueTransform.localPosition = Vector3.MoveTowards(blueTransform.localPosition, + blueWalkEndTarget.localPosition, walkSpeed * Time.deltaTime); + }).AddTo(compositeDisposable); + } +} diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/BrotherFertilizerAnimation.cs.meta b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/BrotherFertilizerAnimation.cs.meta new file mode 100644 index 00000000..35367103 --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/BrotherFertilizerAnimation.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 03cb9bb1367d44f38639e0f772ad6835 +timeCreated: 1634778266 \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs index 5e92c963..4c6a56b0 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs @@ -2,6 +2,8 @@ using System; using System.Collections; using System.Collections.Generic; using System.Linq; +using MyGame.Scenes.CornField.Scripts; +using MyGame.Scripts; using UniRx; using UniRx.Triggers; using UnityEngine; @@ -26,6 +28,8 @@ public class CornField : MonoBehaviour [SerializeField] private Transform harvestSpawnTarget; [SerializeField] private Transform harvestInsertPosition; [SerializeField] private CornHarvester cornHarvester; + [SerializeField] private FertilizerButtonView fertilizerButtonView; + [SerializeField] private BrotherFertilizerAnimation brotherFertilizerAnimation; [SerializeField] private HarvestedCounterView counterView; [SerializeField] private Transform animationTarget; [Space] @@ -39,11 +43,16 @@ public class CornField : MonoBehaviour private static readonly int animationDivisor = 3; private static readonly int animationLimit = 100; + private static readonly double fertilizerWaitTime = 600f; + private readonly CompositeDisposable compositeDisposable = new CompositeDisposable(); + private readonly Subject resetFertilizerTimer = new Subject(); + // Start is called before the first frame update void Start() { compositeDisposable.AddTo(this); + resetFertilizerTimer.AddTo(this); #if UNITY_EDITOR this.UpdateAsObservable() .Where(_ => Input.GetKeyDown(KeyCode.R)) @@ -76,10 +85,78 @@ public class CornField : MonoBehaviour upgradeButton.OnClickAsObservable().Subscribe(_ => { - LocalCacheManager.Save(CornFieldReinforcement.CornFieldResetCallbackTag, new Action(SetCornField)); + LocalCacheManager.Save(CornFieldReinforcement.CornFieldResetCallbackTag, new Action(() => SetCornField())); TransitionManager.Instance.LoadSceneAdditive(GameScenes.Reinforcement); }).AddTo(this); + fertilizerButtonView.RewardButton.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ => + { + GetRewardDialog.ShowCornFieldDialog(() => + { + SoundManager.Instance.PlayBGM("bgm_fertilizer"); + brotherFertilizerAnimation.StartAnimation(); + promoteGrowthButton.gameObject.SetActive(false); + SetCornField(true); + + var push = new Subject().AddTo(this); + // 既存の株は成長済みにする + foreach (var plantLine in plantLines) + { + if (gameData.PlantLineDataList.FirstOrDefault(data => data.Type == plantLine.LineName) is PlantLineData plantLineData) + { + for (int i = 0; i < plantLine.Seedlings.Count; i++) + { + var progressData = gameData.SeedlingDataList.First(data => data.type == plantLineData.Type).Seedlings[i]; + var seedling = plantLine.Seedlings[i]; + progressData.FirstTime = progressData.FirstTime.AddSeconds(-maxPeriod); + seedling.PromoteGrowth(progressData.FirstTime); + // エフェクト出すだけ + // push.Subscribe(unit => + // { + // if (Random.value < .5f) + // { + // seedling.PromoteGrowth(progressData.FirstTime); + // } + // }).AddTo(this); + + } + } + } + Observable.Timer(TimeSpan.FromSeconds(1f), TimeSpan.FromSeconds(1f)) + .Select(x => (int)(15 - x)) + .TakeWhile(x => x > 0) + .Subscribe(x => + { + push.OnNext(Unit.Default); + }, () => + { + SoundManager.Instance.PlayBGM("bgm_Main"); + brotherFertilizerAnimation.EndAnimation(); + promoteGrowthButton.gameObject.SetActive(true); + SetCornField(); + gameData.fertilizerTime = DateTime.UtcNow.AddSeconds(fertilizerWaitTime).ToBinary(); + GameDataManager.SaveGameData(); + resetFertilizerTimer.OnNext((int)DateTime.FromBinary(gameData.fertilizerTime).Subtract(DateTime.UtcNow).TotalSeconds); + }).AddTo(this); + }); + }).AddTo(this); + + // 残り時間表示 + resetFertilizerTimer + .Subscribe(x => + { +#if UNITY_EDITOR + x = 5; +#endif + fertilizerButtonView.SetButtonActive(x <= 0); + fertilizerButtonView.SetTime(x); + SetFertilizerTimer(x).AddTo(this); + }).AddTo(this); + + // 残り時間を取得 + var remaining = (int)DateTime.FromBinary(gameData.fertilizerTime).Subtract(DateTime.UtcNow).TotalSeconds; + resetFertilizerTimer.OnNext(remaining); + // 収穫カウンター+吸収演出 cornHarvester.FinishHarvested .Scan((list, newList) => (newList.count, list.colliders.Concat(newList.colliders).ToList())) @@ -125,7 +202,7 @@ public class CornField : MonoBehaviour }).AddTo(this); } - public void SetCornField() + public void SetCornField(bool useFertilizer = false) { compositeDisposable.Clear(); var gameData = GameDataManager.GameData; @@ -207,13 +284,17 @@ public class CornField : MonoBehaviour } // 新しい苗 var newGene = GenerateSeedlingGene(plantLineData.Level); - seedling.SetSeedlingGene(newGene.FirstTime, newGene.Period, newGene.Level); - #if DEVELOPMENT_BUILD || UNITY_EDITOR +#if DEVELOPMENT_BUILD || UNITY_EDITOR if (UsayaStorageManager.LoadOrDefault(UsayaStorageFilename.Settings_Data, "DebugFastGrowing", false)) { - seedling.SetSeedlingGene(newGene.FirstTime, newGene.Period / 3, newGene.Level); + newGene.Period = newGene.Period / 3; } - #endif +#endif + if (useFertilizer) + { + newGene.Period = Random.Range(2, 4); + } + seedling.SetSeedlingGene(newGene.FirstTime, newGene.Period, newGene.Level); progressData.Level = newGene.Level; progressData.Period = newGene.Period; progressData.FirstTime = newGene.FirstTime; @@ -250,6 +331,20 @@ public class CornField : MonoBehaviour }).AddTo(compositeDisposable); } + private IDisposable SetFertilizerTimer(int time) + { + return Observable.Timer(TimeSpan.Zero,TimeSpan.FromSeconds(1f)) + .Select(x => (int)(time - x)) + .TakeWhile(x => x > 0) + .Subscribe(x => + { + fertilizerButtonView.SetTime(x); + }, () => + { + fertilizerButtonView.SetButtonActive(true); + }); + } + private void SetData() { var gameData = GameDataManager.GameData; diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/FertilizerButtonView.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/FertilizerButtonView.cs new file mode 100644 index 00000000..92dec7cb --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/FertilizerButtonView.cs @@ -0,0 +1,28 @@ +using System; +using UniRx; +using UnityEngine; +using UnityEngine.UI; + +namespace MyGame.Scenes.CornField.Scripts +{ + public class FertilizerButtonView : MonoBehaviour + { + private static readonly string remainTimeFormat = "{0:D2}:{1:D2}"; + [SerializeField] private Button rewardButton; + [SerializeField] private GameObject DisableObject; + [SerializeField] private Text remainTimeText; + public IObservable RewardButton => rewardButton.OnClickAsObservable().TakeUntilDestroy(this); + + public void SetButtonActive(bool active) + { + rewardButton.gameObject.SetActive(active); + DisableObject.SetActive(!active); + } + + public void SetTime(int seconds) + { + seconds = Mathf.Max(0, seconds); + remainTimeText.text = string.Format(remainTimeFormat, seconds / 60, seconds % 60); + } + } +} \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/FertilizerButtonView.cs.meta b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/FertilizerButtonView.cs.meta new file mode 100644 index 00000000..e2141ad8 --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/FertilizerButtonView.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 825e8c21a1da42d494e43d1c51c40c24 +timeCreated: 1634703388 \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scripts/GameDataManager.cs b/popcorn/Assets/MyGame/Scripts/GameDataManager.cs index bcd1f85a..672f7593 100644 --- a/popcorn/Assets/MyGame/Scripts/GameDataManager.cs +++ b/popcorn/Assets/MyGame/Scripts/GameDataManager.cs @@ -64,7 +64,7 @@ public sealed class GameData { // [DataMember(Name = "Data13")] [DataMember(Name = "Data14")] - public int MachineLevel; + public int MachineLevel = Const.DefaultMachineLevel; [DataMember(Name = "Data15")] public List SeedlingDataList = new List(); [DataMember(Name = "Data16")] @@ -119,6 +119,13 @@ public sealed class GameData { private int[] deliveredOrder; public List DeliveredOrder; + // reward + [DataMember(Name = "Data35")] + public long fertilizerTime = DateTime.UtcNow.ToBinary(); + [DataMember(Name = "Data36")] + public long increaseCustomerTime= DateTime.UtcNow.ToBinary(); + // [DataMember(Name = "Data37")] + // mission [DataMember(Name = "Data1001")] public int TotalAddCoin { get; private set; } @@ -222,11 +229,7 @@ public sealed class GameData { { Pans = new[] {Const.DefaultPanId}; } - - if (MachineLevel == 0) - { - MachineLevel = Const.DefaultMachineLevel; - } + // 追加した要素の初期化用 // TODO Release前にまっさらにする }