diff --git a/popcorn/Assets/MyGame/Resource/Animation/Seedling.controller b/popcorn/Assets/MyGame/Resource/Animation/Seedling.controller index 52a7400d..60ea2738 100644 --- a/popcorn/Assets/MyGame/Resource/Animation/Seedling.controller +++ b/popcorn/Assets/MyGame/Resource/Animation/Seedling.controller @@ -37,7 +37,8 @@ AnimatorState: m_Name: seedling m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 1895822779947249615} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -92,7 +93,7 @@ AnimatorController: m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 0} + m_Controller: {fileID: 9100000} m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer @@ -131,3 +132,25 @@ AnimatorStateMachine: m_ExitPosition: {x: 800, y: 120, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_DefaultState: {fileID: -7101647891082938139} +--- !u!1101 &1895822779947249615 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -7101647891082938139} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.25 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 diff --git a/popcorn/Assets/MyGame/Resource/Animation/ShortenedArrow.controller b/popcorn/Assets/MyGame/Resource/Animation/ShortenedArrow.controller index ff789f76..640bc265 100644 --- a/popcorn/Assets/MyGame/Resource/Animation/ShortenedArrow.controller +++ b/popcorn/Assets/MyGame/Resource/Animation/ShortenedArrow.controller @@ -1,32 +1,5 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1102 &-8051783787151630874 -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: - - {fileID: -440546901106716930} - 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 &-4417451168949031892 AnimatorState: serializedVersion: 5 @@ -75,31 +48,6 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 ---- !u!1101 &-440546901106716930 -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: GrowingTrigger - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -4417451168949031892} - 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!1107 &-130798099334731609 AnimatorStateMachine: serializedVersion: 5 @@ -112,9 +60,6 @@ AnimatorStateMachine: - serializedVersion: 1 m_State: {fileID: -4417451168949031892} m_Position: {x: 240, y: 0, z: 0} - - serializedVersion: 1 - m_State: {fileID: -8051783787151630874} - m_Position: {x: 250, y: 120, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -124,7 +69,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: -8051783787151630874} + m_DefaultState: {fileID: -4417451168949031892} --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -133,13 +78,7 @@ AnimatorController: m_PrefabAsset: {fileID: 0} m_Name: ShortenedArrow serializedVersion: 5 - m_AnimatorParameters: - - m_Name: GrowingTrigger - m_Type: 9 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 0} + m_AnimatorParameters: [] m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer diff --git a/popcorn/Assets/MyGame/Resource/Animation/corn_harvest.anim b/popcorn/Assets/MyGame/Resource/Animation/corn_harvest.anim index fe8d1854..f02a4780 100644 --- a/popcorn/Assets/MyGame/Resource/Animation/corn_harvest.anim +++ b/popcorn/Assets/MyGame/Resource/Animation/corn_harvest.anim @@ -109,7 +109,7 @@ AnimationClip: m_Level: 0 m_CycleOffset: 0 m_HasAdditiveReferencePose: 0 - m_LoopTime: 1 + m_LoopTime: 0 m_LoopBlend: 0 m_LoopBlendOrientation: 0 m_LoopBlendPositionY: 0 diff --git a/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity b/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity index f0531fc7..6193cd60 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity +++ b/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity @@ -121,6 +121,18 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!114 &30352566 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3152473785108484531, guid: cf466618b278e6c4a85a7b27e6f46c18, + type: 3} + m_PrefabInstance: {fileID: 782907098} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1b5e732e57e34b97a8adc725ce004566, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!4 &132784687 stripped Transform: m_CorrespondingSourceObject: {fileID: 875275074515791083, guid: cf466618b278e6c4a85a7b27e6f46c18, @@ -154,11 +166,11 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: + - {fileID: 1214401743} - {fileID: 1035142904} - {fileID: 1466604291} - - {fileID: 1214401743} m_Father: {fileID: 1501215306} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &282523122 GameObject: @@ -191,8 +203,14 @@ Transform: - {fileID: 1793483901} - {fileID: 998360038} m_Father: {fileID: 1501215306} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &371589523 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + m_PrefabInstance: {fileID: 1442510375} + m_PrefabAsset: {fileID: 0} --- !u!1001 &387414332 PrefabInstance: m_ObjectHideFlags: 0 @@ -200,34 +218,22 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 130281750, guid: caaa748dbeed576499e8cae74d33f689, type: 3} - propertyPath: m_AnchorMax.y + - target: {fileID: 320398123, guid: caaa748dbeed576499e8cae74d33f689, type: 3} + propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} - - target: {fileID: 130281750, guid: caaa748dbeed576499e8cae74d33f689, type: 3} - propertyPath: m_AnchorMin.x + - target: {fileID: 1823819594, guid: caaa748dbeed576499e8cae74d33f689, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1823819596, guid: caaa748dbeed576499e8cae74d33f689, type: 3} + propertyPath: m_Maskable + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2041305253, guid: caaa748dbeed576499e8cae74d33f689, type: 3} + propertyPath: m_IsActive value: 0 objectReference: {fileID: 0} - - target: {fileID: 130281750, guid: caaa748dbeed576499e8cae74d33f689, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 130281750, guid: caaa748dbeed576499e8cae74d33f689, type: 3} - propertyPath: m_SizeDelta.x - value: -920 - objectReference: {fileID: 0} - - target: {fileID: 130281750, guid: caaa748dbeed576499e8cae74d33f689, type: 3} - propertyPath: m_SizeDelta.y - value: -2108 - objectReference: {fileID: 0} - - target: {fileID: 130281750, guid: caaa748dbeed576499e8cae74d33f689, type: 3} - propertyPath: m_AnchoredPosition.x - value: 373 - objectReference: {fileID: 0} - - target: {fileID: 130281750, guid: caaa748dbeed576499e8cae74d33f689, type: 3} - propertyPath: m_AnchoredPosition.y - value: -203 - objectReference: {fileID: 0} - target: {fileID: 3664916832310506794, guid: caaa748dbeed576499e8cae74d33f689, type: 3} propertyPath: m_AnchorMax.y @@ -403,6 +409,11 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 3664916834121473267, guid: caaa748dbeed576499e8cae74d33f689, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: caaa748dbeed576499e8cae74d33f689, type: 3} --- !u!1 &536970157 @@ -416,6 +427,7 @@ GameObject: - component: {fileID: 536970160} - component: {fileID: 536970159} - component: {fileID: 536970158} + - component: {fileID: 536970161} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -488,6 +500,22 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &536970161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 536970157} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 56666c5a40171f54783dd416a44f42bf, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EventMask: + serializedVersion: 2 + m_Bits: 23 + m_MaxRayIntersections: 0 --- !u!1 &619114158 GameObject: m_ObjectHideFlags: 0 @@ -554,6 +582,70 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &715847674 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 715847676} + - component: {fileID: 715847675} + m_Layer: 0 + m_Name: Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &715847675 +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: dadd48ac419c440959ddb48337e48d9f, type: 3} + m_Name: + m_EditorClassIdentifier: + promoteGrowthButton: {fileID: 730756546} + harvestPrefab: {fileID: 8524901521850801684, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + harvestInsertPosition: {fileID: 895001959} + plantLines: [] + centerPlants: + - {fileID: 1059216306} + - {fileID: 1104744249} + - {fileID: 30352566} +--- !u!4 &715847676 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 715847674} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.18736771, y: -4.7016997, z: -19.129517} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &730756546 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7809777061605929427, guid: caaa748dbeed576499e8cae74d33f689, + type: 3} + m_PrefabInstance: {fileID: 387414332} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &782907098 PrefabInstance: m_ObjectHideFlags: 0 @@ -566,6 +658,11 @@ PrefabInstance: propertyPath: m_Name value: Seedling (2) objectReference: {fileID: 0} + - target: {fileID: 875275074515791082, guid: cf466618b278e6c4a85a7b27e6f46c18, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 875275074515791083, guid: cf466618b278e6c4a85a7b27e6f46c18, type: 3} propertyPath: m_RootOrder @@ -579,7 +676,7 @@ PrefabInstance: - target: {fileID: 875275074515791083, guid: cf466618b278e6c4a85a7b27e6f46c18, type: 3} propertyPath: m_LocalPosition.y - value: 4 + value: 0 objectReference: {fileID: 0} - target: {fileID: 875275074515791083, guid: cf466618b278e6c4a85a7b27e6f46c18, type: 3} @@ -629,6 +726,37 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1759900418} m_PrefabAsset: {fileID: 0} +--- !u!1 &895001958 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 895001959} + m_Layer: 0 + m_Name: harvestInsertPosition + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &895001959 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895001958} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: -2.88, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 371589523} + m_Father: {fileID: 1501215306} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &960603096 GameObject: m_ObjectHideFlags: 0 @@ -653,14 +781,14 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 960603096} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.39, y: 0, z: 0} + m_LocalPosition: {x: 0.39, y: 4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 132784687} - {fileID: 823569402} - {fileID: 1580351168} m_Father: {fileID: 1501215306} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &998360037 GameObject: @@ -749,6 +877,30 @@ Transform: type: 3} m_PrefabInstance: {fileID: 2783350420184387839} m_PrefabAsset: {fileID: 0} +--- !u!114 &1059216306 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3152473785108484531, guid: cf466618b278e6c4a85a7b27e6f46c18, + type: 3} + m_PrefabInstance: {fileID: 875275074606616260} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1b5e732e57e34b97a8adc725ce004566, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1104744249 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3152473785108484531, guid: cf466618b278e6c4a85a7b27e6f46c18, + type: 3} + m_PrefabInstance: {fileID: 1759900418} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1b5e732e57e34b97a8adc725ce004566, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1214401742 PrefabInstance: m_ObjectHideFlags: 0 @@ -769,7 +921,7 @@ PrefabInstance: - target: {fileID: 2783350420397184519, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} propertyPath: m_RootOrder - value: 2 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2783350420397184519, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} @@ -824,7 +976,12 @@ PrefabInstance: - target: {fileID: 2783350420397184520, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} propertyPath: m_Name - value: set (2) + value: Top + objectReference: {fileID: 0} + - target: {fileID: 2783350420397184520, guid: 90ea860c4ec589d4aab99bfc127949f4, + type: 3} + propertyPath: m_IsActive + value: 0 objectReference: {fileID: 0} - target: {fileID: 8144837015556047765, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} @@ -914,12 +1071,80 @@ Camera: type: 3} m_PrefabInstance: {fileID: 1226867710} m_PrefabAsset: {fileID: 0} ---- !u!4 &1425125887 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - m_PrefabInstance: {fileID: 8524901521126273002} - m_PrefabAsset: {fileID: 0} +--- !u!1001 &1442510375 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 895001959} + m_Modifications: + - target: {fileID: 8524901521850801684, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_Name + value: corn_harvest + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801684, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e642499b3643dab4ba05b02e8c6bde1c, type: 3} --- !u!1001 &1466604290 PrefabInstance: m_ObjectHideFlags: 0 @@ -945,7 +1170,7 @@ PrefabInstance: - target: {fileID: 2783350420397184519, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} propertyPath: m_RootOrder - value: 1 + value: 2 objectReference: {fileID: 0} - target: {fileID: 2783350420397184519, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} @@ -1000,7 +1225,12 @@ PrefabInstance: - target: {fileID: 2783350420397184520, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} propertyPath: m_Name - value: set (1) + value: Bottom + objectReference: {fileID: 0} + - target: {fileID: 2783350420397184520, guid: 90ea860c4ec589d4aab99bfc127949f4, + type: 3} + propertyPath: m_IsActive + value: 0 objectReference: {fileID: 0} - target: {fileID: 8144837015556047765, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} @@ -1043,10 +1273,10 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1989990598} + - {fileID: 895001959} - {fileID: 282523123} - {fileID: 149181931} - {fileID: 960603097} - - {fileID: 1425125887} m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1068,6 +1298,11 @@ PrefabInstance: propertyPath: m_Name value: Seedling (1) objectReference: {fileID: 0} + - target: {fileID: 875275074515791082, guid: cf466618b278e6c4a85a7b27e6f46c18, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 875275074515791083, guid: cf466618b278e6c4a85a7b27e6f46c18, type: 3} propertyPath: m_RootOrder @@ -1081,7 +1316,7 @@ PrefabInstance: - target: {fileID: 875275074515791083, guid: cf466618b278e6c4a85a7b27e6f46c18, type: 3} propertyPath: m_LocalPosition.y - value: 4 + value: 0 objectReference: {fileID: 0} - target: {fileID: 875275074515791083, guid: cf466618b278e6c4a85a7b27e6f46c18, type: 3} @@ -1393,7 +1628,7 @@ PrefabInstance: - target: {fileID: 875275074515791083, guid: cf466618b278e6c4a85a7b27e6f46c18, type: 3} propertyPath: m_LocalPosition.y - value: 4 + value: 0 objectReference: {fileID: 0} - target: {fileID: 875275074515791083, guid: cf466618b278e6c4a85a7b27e6f46c18, type: 3} @@ -1459,10 +1694,15 @@ PrefabInstance: propertyPath: m_SortingOrder value: 3 objectReference: {fileID: 0} + - target: {fileID: 2783350420155647087, guid: 90ea860c4ec589d4aab99bfc127949f4, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 2783350420397184519, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} propertyPath: m_RootOrder - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2783350420397184519, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} @@ -1517,7 +1757,12 @@ PrefabInstance: - target: {fileID: 2783350420397184520, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} propertyPath: m_Name - value: set + value: Center + objectReference: {fileID: 0} + - target: {fileID: 2783350420397184520, guid: 90ea860c4ec589d4aab99bfc127949f4, + type: 3} + propertyPath: m_IsActive + value: 1 objectReference: {fileID: 0} - target: {fileID: 8144837015556047765, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} @@ -1526,72 +1771,3 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 90ea860c4ec589d4aab99bfc127949f4, type: 3} ---- !u!1001 &8524901521126273002 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 1501215306} - m_Modifications: - - target: {fileID: 8524901521850801684, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_Name - value: corn_harvest - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8524901521850801685, guid: e642499b3643dab4ba05b02e8c6bde1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e642499b3643dab4ba05b02e8c6bde1c, type: 3} diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Prefabs/Seedling.prefab b/popcorn/Assets/MyGame/Scenes/CornField/Prefabs/Seedling.prefab index 6aea1d75..2e63baef 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/Prefabs/Seedling.prefab +++ b/popcorn/Assets/MyGame/Scenes/CornField/Prefabs/Seedling.prefab @@ -30,7 +30,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 875275074515791083} - m_RootOrder: 2 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &875275073577673988 SpriteRenderer: @@ -131,7 +131,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 875275074515791083} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &875275074110174227 SpriteRenderer: @@ -232,7 +232,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 875275074515791083} - m_RootOrder: 3 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &875275074190396079 SpriteRenderer: @@ -314,6 +314,7 @@ GameObject: - component: {fileID: 875275074368017840} - component: {fileID: 875275074368017842} - component: {fileID: 875275074368017841} + - component: {fileID: 3560956324713403295} m_Layer: 0 m_Name: one_d m_TagString: Untagged @@ -333,7 +334,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 875275074515791083} - m_RootOrder: 1 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &875275074368017842 SpriteRenderer: @@ -404,6 +405,32 @@ Animator: m_HasTransformHierarchy: 1 m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!61 &3560956324713403295 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 875275074368017847} + 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.74168634} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.7, y: 4.04} + newSize: {x: 1.7, y: 4.04} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1.0807116, y: 2.404545} + m_EdgeRadius: 0 --- !u!1 &875275074515791082 GameObject: m_ObjectHideFlags: 0 @@ -414,6 +441,7 @@ GameObject: m_Component: - component: {fileID: 875275074515791083} - component: {fileID: 3152473785108484531} + - component: {fileID: 1162919361388578994} m_Layer: 0 m_Name: Seedling m_TagString: Untagged @@ -432,7 +460,6 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 875275074279153695} - {fileID: 875275074368017840} - {fileID: 875275073577674107} - {fileID: 875275074190396078} @@ -452,94 +479,22 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1b5e732e57e34b97a8adc725ce004566, type: 3} m_Name: m_EditorClassIdentifier: + seedlingView: {fileID: 1162919361388578994} +--- !u!114 &1162919361388578994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 875275074515791082} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc986cc5c74043e08218a00c53d6f418, type: 3} + m_Name: + m_EditorClassIdentifier: seedlingStage1: {fileID: 875275074110174225} seedlingStage2: {fileID: 875275074190396077} seedlingStage3: {fileID: 875275073577674106} seedlingStage4: {fileID: 875275074368017847} - growingArrow: {fileID: 875275074279153694} ---- !u!1001 &3637094299625695119 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 875275074515791083} - m_Modifications: - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033234, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_Name - value: ShortenedArrow - objectReference: {fileID: 0} - - target: {fileID: 4493492865567033234, guid: b3d641214f420f74290147d368b221fa, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: b3d641214f420f74290147d368b221fa, type: 3} ---- !u!4 &875275074279153695 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 4493492865567033232, guid: b3d641214f420f74290147d368b221fa, + growingArrowPrefab: {fileID: 4493492865567033234, guid: b3d641214f420f74290147d368b221fa, type: 3} - m_PrefabInstance: {fileID: 3637094299625695119} - m_PrefabAsset: {fileID: 0} ---- !u!95 &875275074279153694 stripped -Animator: - m_CorrespondingSourceObject: {fileID: 4493492865567033233, guid: b3d641214f420f74290147d368b221fa, - type: 3} - m_PrefabInstance: {fileID: 3637094299625695119} - m_PrefabAsset: {fileID: 0} diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs new file mode 100644 index 00000000..cba04d39 --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UniRx; +using UniRx.Triggers; +using UnityEngine; +using UnityEngine.UI; +using Random = UnityEngine.Random; + +public class CornField : MonoBehaviour +{ + [SerializeField] private Button promoteGrowthButton; + [SerializeField] private GameObject harvestPrefab; + [SerializeField] private Transform harvestInsertPosition; + [Space] + [SerializeField] private List plantLines = new List(); + [SerializeField] private List centerPlants = new List(); + private readonly List plants = new List(); + private static readonly float maxPeriod = 60f; + private static readonly float minPeriod = 45f; + + private readonly CompositeDisposable compositeDisposable = new CompositeDisposable(); + // Start is called before the first frame update + void Start() + { + compositeDisposable.AddTo(this); + this.UpdateAsObservable() + .Where(_ => Input.GetKeyDown(KeyCode.R)) + .Take(1) + .Subscribe(_ => TransitionManager.Instance.LoadScene(GameScenes.CornField)).AddTo(this); + + + var settings = new DateTime[3] + { + DateTime.Now, + DateTime.Now, + DateTime.Now, + }; + // settings = new DateTime[3] + // { + // DateTime.Now.AddSeconds(-Random.Range(0, 15)), + // DateTime.Now.AddSeconds(-Random.Range(0, 15)), + // DateTime.Now.AddSeconds(-Random.Range(0, 15)), + // }; + + + plants.Clear(); + plants.AddRange(centerPlants); + + for (int i = 0; i < plants.Count; i++) + { + var period = 15 + Random.Range(0, 15); + var ii = i; + plants[ii].SetSeedlingGene(settings[ii], period, SeedlingRank.Rank1); + plants[ii].Harvested.Subscribe(_ => + { + // 収穫 + + var harvest = Instantiate(harvestPrefab, plants[ii].transform); + this.CallWaitForSeconds(.5f, () => + { + var beginPos = harvest.transform.position; + this.CallLerp(.4f, f => + { + harvest.transform.position = Vector3.Lerp(beginPos, harvestInsertPosition.position, f.EaseInCubic()); + }, () => + { + Destroy(harvest); + }); + }); + // 新しい苗 + period = 15 + Random.Range(0, 15); + settings[ii] = DateTime.Now; + plants[ii].SetSeedlingGene(settings[ii], period, SeedlingRank.Rank1); + }).AddTo(compositeDisposable); + } + + promoteGrowthButton.OnClickAsObservable().Subscribe(_ => + { + for (int i = 0; i < plants.Count; i++) + { + if (Random.Range(0, 2) == 0){ + settings[i] = settings[i].AddSeconds(-1); + plants[i].PromoteGrowth(settings[i]); + }; + } + }).AddTo(compositeDisposable); + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs.meta b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs.meta new file mode 100644 index 00000000..d1972e13 --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dadd48ac419c440959ddb48337e48d9f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornSeedling.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornSeedling.cs index 4faa80b9..76f1b5fe 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornSeedling.cs +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornSeedling.cs @@ -1,10 +1,11 @@ using System; using UniRx; using UnityEngine; -using Random = UnityEngine.Random; +using UnityEngine.EventSystems; public enum SeedlingStage { + Stage0, Stage1, Stage2, Stage3, @@ -18,17 +19,12 @@ public enum SeedlingRank Rank3 } -public class CornSeedling : MonoBehaviour +public class CornSeedling : MonoBehaviour, IPointerEnterHandler { - [SerializeField] private GameObject seedlingStage1; - [SerializeField] private GameObject seedlingStage2; - [SerializeField] private GameObject seedlingStage3; - [SerializeField] private GameObject seedlingStage4; - [SerializeField] private Animator growingArrow; - private readonly int growingTriggerHash = Animator.StringToHash("GrowingTrigger"); - private readonly int nextStageTriggerHash = Animator.StringToHash("NextStageTrigger"); - private static readonly float stage1End = 0.32f; - private static readonly float stage2End = 0.67f; + [SerializeField] private CornSeedlingView seedlingView; + private static readonly float stage0End = 0.25f; + private static readonly float stage1End = 0.50f; + private static readonly float stage2End = 0.75f; private static readonly float stage3End = 1f; private int period; @@ -36,28 +32,32 @@ public class CornSeedling : MonoBehaviour private SeedlingRank seedlingRank; // 苗の良さ(1~3 private bool completed; + public IObservable Harvested => harvested; + private readonly Subject harvested = new Subject(); private readonly ReactiveProperty seedlingStage = new ReactiveProperty(); private readonly CompositeDisposable compositeDisposable = new CompositeDisposable(); private void Start() { + harvested.AddTo(this); seedlingStage.AddTo(this); compositeDisposable.AddTo(this); } private void ResetGrowth() { - seedlingStage1.SetActive(false); - seedlingStage2.SetActive(false); - seedlingStage3.SetActive(false); - seedlingStage4.SetActive(false); + seedlingView.ResetView(); } - public void PromoteGrowth(int newPeriod) + public void PromoteGrowth(DateTime newTime) { - growingArrow.SetTrigger(growingTriggerHash); - period = newPeriod; + if (completed) + { + return; + } + beginTime = newTime; UpdateStage(); + seedlingView.EffectGrowth(); } public void SetSeedlingGene(DateTime dateTime, int periodTime, SeedlingRank rank) @@ -65,75 +65,34 @@ public class CornSeedling : MonoBehaviour completed = false; compositeDisposable.Clear(); ResetGrowth(); + seedlingStage.SetValueAndForceNotify(SeedlingStage.Stage0); beginTime = dateTime; period = periodTime; seedlingRank = rank; // resume対応 - // 途中からの場合アニメーションを勧めておく処理 - var stage = GetCurrentStage(); - seedlingStage.SetValueAndForceNotify(stage); - switch (stage) - { - case SeedlingStage.Stage1: - seedlingStage1.SetActive(true); - break; - case SeedlingStage.Stage2: - seedlingStage2.SetActive(true); - break; - case SeedlingStage.Stage3: - seedlingStage3.SetActive(true); - break; - case SeedlingStage.Stage4: - seedlingStage4.SetActive(true); - break; - default: - throw new ArgumentOutOfRangeException(); - } - - // 成長ロジック - seedlingStage - .TakeWhile(_ => !completed) - .Subscribe(x => - { - switch (x) - { - case SeedlingStage.Stage1: - break; - case SeedlingStage.Stage2: - seedlingStage1.GetComponent().SetTrigger(nextStageTriggerHash); - this.CallWaitForSeconds(.25f, () => - { - seedlingStage2.SetActive(true); - }); - break; - case SeedlingStage.Stage3: - seedlingStage2.GetComponent().SetTrigger(nextStageTriggerHash); - this.CallWaitForSeconds(.25f, () => - { - seedlingStage3.SetActive(true); - }); - break; - case SeedlingStage.Stage4: - seedlingStage3.GetComponent().SetTrigger(nextStageTriggerHash); - this.CallWaitForSeconds(.25f, () => - { - completed = true; - seedlingStage4.SetActive(true); - }); - break; - default: - throw new ArgumentOutOfRangeException(nameof(x), x, null); - } - }).AddTo(compositeDisposable); + // 苗の状態復元 + seedlingView.SetView(GetCurrentStage()); - // 成長進捗度 + // 成長進捗度更新 Observable.Interval(TimeSpan.FromSeconds(1f)) .TakeWhile(_ => !completed) .Subscribe(x => { UpdateStage(); }).AddTo(compositeDisposable); + + // 更新 + seedlingStage + .TakeWhile(_ => !completed) + .Subscribe(x => + { + seedlingView.ChangeState(x); + if (x == SeedlingStage.Stage4) + { + completed = true; + } + }).AddTo(compositeDisposable); } private void UpdateStage() @@ -144,7 +103,6 @@ public class CornSeedling : MonoBehaviour private SeedlingStage GetCurrentStage() { var elapsed = DateTime.Now.Subtract(beginTime).TotalSeconds / period; - Debug.Log($"{elapsed:F2}"); if (elapsed >= stage3End) { return SeedlingStage.Stage4; @@ -157,6 +115,15 @@ public class CornSeedling : MonoBehaviour { return SeedlingStage.Stage2; } - return SeedlingStage.Stage1; + if (elapsed >= stage0End) + { + return SeedlingStage.Stage1; + } + return SeedlingStage.Stage0; + } + + public void OnPointerEnter(PointerEventData eventData) + { + harvested.OnNext(Unit.Default); } } \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornSeedlingView.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornSeedlingView.cs new file mode 100644 index 00000000..51ef4e2c --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornSeedlingView.cs @@ -0,0 +1,101 @@ +using System; +using System.Runtime.CompilerServices; +using UniRx; +using UnityEngine; +using UnityEngine.EventSystems; + +public class CornSeedlingView : MonoBehaviour +{ + [SerializeField] private GameObject seedlingStage1; + [SerializeField] private GameObject seedlingStage2; + [SerializeField] private GameObject seedlingStage3; + [SerializeField] private GameObject seedlingStage4; + [SerializeField] private GameObject growingArrowPrefab; + private readonly int nextStageTriggerHash = Animator.StringToHash("NextStageTrigger"); + + public void ResetView() + { + seedlingStage1.SetActive(false); + seedlingStage2.SetActive(false); + seedlingStage3.SetActive(false); + seedlingStage4.SetActive(false); + } + + public void SetView(SeedlingStage stage) + { + switch (stage) + { + case SeedlingStage.Stage0: + break; + case SeedlingStage.Stage1: + seedlingStage1.SetActive(true); + break; + case SeedlingStage.Stage2: + seedlingStage2.SetActive(true); + break; + case SeedlingStage.Stage3: + seedlingStage3.SetActive(true); + break; + case SeedlingStage.Stage4: + seedlingStage4.SetActive(true); + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + // 一段階成長するときアニメーションを再生して次の段階の素材に切り替え + // アニメーション再生中0:15で次の段階の素材に切り替え、アニメーションは最後まで再生 + public void ChangeState(SeedlingStage stage) + { + switch (stage) + { + case SeedlingStage.Stage0: + break; + case SeedlingStage.Stage1: + seedlingStage1.SetActive(true); + break; + case SeedlingStage.Stage2: + seedlingStage1.GetComponent().SetTrigger(nextStageTriggerHash); + this.CallWaitForSeconds(.25f, () => + { + seedlingStage2.SetActive(true); + }); + this.CallWaitForSeconds(.33f, () => + { + seedlingStage1.SetActive(false); + }); + break; + case SeedlingStage.Stage3: + seedlingStage2.GetComponent().SetTrigger(nextStageTriggerHash); + this.CallWaitForSeconds(.25f, () => + { + seedlingStage3.SetActive(true); + }); + this.CallWaitForSeconds(.33f, () => + { + seedlingStage2.SetActive(false); + }); + break; + case SeedlingStage.Stage4: + seedlingStage3.GetComponent().SetTrigger(nextStageTriggerHash); + this.CallWaitForSeconds(.25f, () => + { + seedlingStage4.SetActive(true); + }); + this.CallWaitForSeconds(.33f, () => + { + seedlingStage3.SetActive(false); + }); + break; + default: + throw new ArgumentOutOfRangeException(nameof(stage), stage, null); + } + } + + public void EffectGrowth() + { + var arrow = Instantiate(growingArrowPrefab, transform); + this.CallWaitForSeconds(0.5f, () => Destroy(arrow)); + } +} \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornSeedlingView.cs.meta b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornSeedlingView.cs.meta new file mode 100644 index 00000000..4b22bd8f --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornSeedlingView.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: dc986cc5c74043e08218a00c53d6f418 +timeCreated: 1626832646 \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PlantLine.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PlantLine.cs new file mode 100644 index 00000000..4db24318 --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PlantLine.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +public enum LineName +{ + +} +public class PlantLine : MonoBehaviour +{ + [SerializeField] private int plantId; + [SerializeField] private CornSeedling seedling1; + [SerializeField] private CornSeedling seedling2; + [SerializeField] private CornSeedling seedling3; +} diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PlantLine.cs.meta b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PlantLine.cs.meta new file mode 100644 index 00000000..da8afbda --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PlantLine.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1657f65ff2fe42ba87efbe278055bb7d +timeCreated: 1626828650 \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PromoteGrowthButton.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PromoteGrowthButton.cs new file mode 100644 index 00000000..16d41928 --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PromoteGrowthButton.cs @@ -0,0 +1,27 @@ +using System; +using UniRx; +using UniRx.Triggers; +using UnityEngine; +using UnityEngine.UI; + +public class PromoteGrowthButton : MonoBehaviour +{ + [SerializeField] private Button growthButton; + [SerializeField] private GameObject onObject; + [SerializeField] private GameObject offObject; + + private void Start() + { + onObject.SetActive(false); + offObject.SetActive(true); + growthButton.OnPointerDownAsObservable() + .Select(_ => true) + .Merge(growthButton.OnPointerUpAsObservable().Select(_ => false)) + .Pairwise() + .Subscribe(x => + { + onObject.SetActive(x.Current); + offObject.SetActive(!x.Current); + }).AddTo(this); + } +} diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PromoteGrowthButton.cs.meta b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PromoteGrowthButton.cs.meta new file mode 100644 index 00000000..e3810373 --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/PromoteGrowthButton.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5700583b026d457ea83897470f6485ca +timeCreated: 1626828650 \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/Main/Prefabs/Canvas.prefab b/popcorn/Assets/MyGame/Scenes/Main/Prefabs/Canvas.prefab index 9e7755cc..5f2f452c 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Prefabs/Canvas.prefab +++ b/popcorn/Assets/MyGame/Scenes/Main/Prefabs/Canvas.prefab @@ -85,7 +85,6 @@ GameObject: - component: {fileID: 118497225} - component: {fileID: 118497228} - component: {fileID: 118497227} - - component: {fileID: 118497226} m_Layer: 5 m_Name: Button_off m_TagString: Untagged @@ -151,49 +150,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!114 &118497226 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 118497224} - 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: 118497227} - m_OnClick: - m_PersistentCalls: - m_Calls: [] --- !u!1 &130281749 GameObject: m_ObjectHideFlags: 0 @@ -203,6 +159,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 130281750} + - component: {fileID: 6119163445458718855} + - component: {fileID: 7809777061605929427} m_Layer: 5 m_Name: Button_growth m_TagString: Untagged @@ -227,11 +185,69 @@ RectTransform: m_Father: {fileID: 3664916832844628215} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -215, y: -212} - m_SizeDelta: {x: 100, y: -2108} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 373, y: -203} + m_SizeDelta: {x: 237.56934, y: 125.794174} m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6119163445458718855 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 130281749} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5700583b026d457ea83897470f6485ca, type: 3} + m_Name: + m_EditorClassIdentifier: + growthButton: {fileID: 7809777061605929427} + onObject: {fileID: 2041305253} + offObject: {fileID: 118497224} +--- !u!114 &7809777061605929427 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 130281749} + 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: 0 + 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: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &320398123 GameObject: m_ObjectHideFlags: 0 @@ -807,7 +823,6 @@ GameObject: - component: {fileID: 2041305254} - component: {fileID: 2041305257} - component: {fileID: 2041305256} - - component: {fileID: 2041305255} m_Layer: 5 m_Name: Button_push m_TagString: Untagged @@ -873,49 +888,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!114 &2041305255 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2041305253} - 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: 2041305256} - m_OnClick: - m_PersistentCalls: - m_Calls: [] --- !u!1 &3664916832564167473 GameObject: m_ObjectHideFlags: 0