diff --git a/Assets/Prefab/GameWin.prefab b/Assets/Prefab/GameWin.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..bce7f565d3a54075f47be046f4e64a31afdfc991
--- /dev/null
+++ b/Assets/Prefab/GameWin.prefab
@@ -0,0 +1,49 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &4334850820553036048
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2388334960364419616}
+  - component: {fileID: 3814219544740361507}
+  m_Layer: 0
+  m_Name: GameWin
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2388334960364419616
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4334850820553036048}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 4.5898275, y: 3.887589, z: 0.94433594}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3814219544740361507
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4334850820553036048}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d3674a5cdecf6e14abe5d88e6f0f7618, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  housePrefab: {fileID: 7607310651946833762, guid: 118ed7528555d45418acb5a87b330000,
+    type: 3}
+  workerPrefab: {fileID: 548039319383633024, guid: 7dc194a2047a39340a91ca7636a56290,
+    type: 3}
diff --git a/Assets/Prefab/GameWin.prefab.meta b/Assets/Prefab/GameWin.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d3c5c32464a6079ae9a2b49b443a08dc373cb29b
--- /dev/null
+++ b/Assets/Prefab/GameWin.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 80a61f8911aa37046a2d5e13d579c221
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity
index 055c24e5dfc849de9a88ee10f9904d9aa8709668..dd88652b855b484e6d890314f629b613246d0e74 100644
--- a/Assets/Scenes/MainScene.unity
+++ b/Assets/Scenes/MainScene.unity
@@ -207,6 +207,736 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 1d269887e77657841a2e967e56313d5a, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+--- !u!1 &427384613
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 427384614}
+  - component: {fileID: 427384617}
+  - component: {fileID: 427384616}
+  - component: {fileID: 427384615}
+  m_Layer: 0
+  m_Name: City+
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &427384614
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 427384613}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 1, y: 1, z: -1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 896722857}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &427384615
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 427384613}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2d496a86a17b9d0489876dbf81a4e9bc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!212 &427384616
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 427384613}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300004, guid: 96af674e67bc4b521aa75450c40dfcbf, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!61 &427384617
+BoxCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 427384613}
+  m_Enabled: 1
+  m_Density: 1
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  m_SpriteTilingProperty:
+    border: {x: 0, y: 0, z: 0, w: 0}
+    pivot: {x: 0.5, y: 0.5}
+    oldSize: {x: 1, y: 1}
+    newSize: {x: 1, y: 1}
+    adaptiveTilingThreshold: 0.5
+    drawMode: 0
+    adaptiveTiling: 0
+  m_AutoTiling: 0
+  serializedVersion: 2
+  m_Size: {x: 1, y: 0.66}
+  m_EdgeRadius: 0
+--- !u!1 &486053699
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 486053700}
+  - component: {fileID: 486053702}
+  - component: {fileID: 486053701}
+  m_Layer: 0
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &486053700
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 486053699}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0.25, y: 0, z: 1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 896722857}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &486053701
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 486053699}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9dfa4cb8b74a55949bb9087ebc8eafef, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!61 &486053702
+BoxCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 486053699}
+  m_Enabled: 1
+  m_Density: 1
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  m_SpriteTilingProperty:
+    border: {x: 0, y: 0, z: 0, w: 0}
+    pivot: {x: 0, y: 0}
+    oldSize: {x: 0, y: 0}
+    newSize: {x: 0, y: 0}
+    adaptiveTilingThreshold: 0
+    drawMode: 0
+    adaptiveTiling: 0
+  m_AutoTiling: 0
+  serializedVersion: 2
+  m_Size: {x: 3, y: 3.2}
+  m_EdgeRadius: 0
+--- !u!1 &601622693
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 601622694}
+  - component: {fileID: 601622697}
+  - component: {fileID: 601622696}
+  - component: {fileID: 601622695}
+  m_Layer: 0
+  m_Name: Capacity+
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &601622694
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 601622693}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 1, y: 0.33, z: -1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 896722857}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &601622695
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 601622693}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 94999d051d3d2a4438290a189966dcf8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!212 &601622696
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 601622693}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300010, guid: 96af674e67bc4b521aa75450c40dfcbf, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!61 &601622697
+BoxCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 601622693}
+  m_Enabled: 1
+  m_Density: 1
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  m_SpriteTilingProperty:
+    border: {x: 0, y: 0, z: 0, w: 0}
+    pivot: {x: 0.5, y: 0.5}
+    oldSize: {x: 1, y: 1}
+    newSize: {x: 1, y: 1}
+    adaptiveTilingThreshold: 0.5
+    drawMode: 0
+    adaptiveTiling: 0
+  m_AutoTiling: 0
+  serializedVersion: 2
+  m_Size: {x: 1, y: 0.67}
+  m_EdgeRadius: 0
+--- !u!1 &777869849
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 777869850}
+  - component: {fileID: 777869852}
+  - component: {fileID: 777869851}
+  m_Layer: 0
+  m_Name: OpenShop
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &777869850
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 777869849}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.1, y: 0, z: -2}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 896722857}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &777869851
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 777869849}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2cc06fd360e0e1b44b66092a664bafe1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!61 &777869852
+BoxCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 777869849}
+  m_Enabled: 1
+  m_Density: 1
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  m_SpriteTilingProperty:
+    border: {x: 0, y: 0, z: 0, w: 0}
+    pivot: {x: 0, y: 0}
+    oldSize: {x: 0, y: 0}
+    newSize: {x: 0, y: 0}
+    adaptiveTilingThreshold: 0
+    drawMode: 0
+    adaptiveTiling: 0
+  m_AutoTiling: 0
+  serializedVersion: 2
+  m_Size: {x: 1.25, y: 1.35}
+  m_EdgeRadius: 0
+--- !u!1 &896722853
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 896722857}
+  - component: {fileID: 896722856}
+  - component: {fileID: 896722855}
+  m_Layer: 0
+  m_Name: ShopTrigger
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!61 &896722855
+BoxCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 896722853}
+  m_Enabled: 1
+  m_Density: 1
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  m_SpriteTilingProperty:
+    border: {x: 0, y: 0, z: 0, w: 0}
+    pivot: {x: 0.5, y: 0.5}
+    oldSize: {x: 1, y: 1}
+    newSize: {x: 1, y: 1}
+    adaptiveTilingThreshold: 0.5
+    drawMode: 0
+    adaptiveTiling: 0
+  m_AutoTiling: 0
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1.35}
+  m_EdgeRadius: 0
+--- !u!212 &896722856
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 896722853}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 0
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!4 &896722857
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 896722853}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 7.2, y: 7, z: -1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 601622694}
+  - {fileID: 427384614}
+  - {fileID: 2068356688}
+  - {fileID: 1968252523}
+  - {fileID: 999856098}
+  - {fileID: 1268468382}
+  - {fileID: 486053700}
+  - {fileID: 777869850}
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &999856097
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 999856098}
+  - component: {fileID: 999856101}
+  - component: {fileID: 999856100}
+  - component: {fileID: 999856099}
+  m_Layer: 0
+  m_Name: Population+
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &999856098
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999856097}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: -1, z: -1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 896722857}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &999856099
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999856097}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 515574251ae631045a8464c9761619c7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!212 &999856100
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999856097}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300014, guid: 96af674e67bc4b521aa75450c40dfcbf, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!61 &999856101
+BoxCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999856097}
+  m_Enabled: 1
+  m_Density: 1
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  m_SpriteTilingProperty:
+    border: {x: 0, y: 0, z: 0, w: 0}
+    pivot: {x: 0.5, y: 0.5}
+    oldSize: {x: 1, y: 1}
+    newSize: {x: 1, y: 1}
+    adaptiveTilingThreshold: 0.5
+    drawMode: 0
+    adaptiveTiling: 0
+  m_AutoTiling: 0
+  serializedVersion: 2
+  m_Size: {x: 1, y: 0.66}
+  m_EdgeRadius: 0
+--- !u!1 &1268468381
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1268468382}
+  - component: {fileID: 1268468385}
+  - component: {fileID: 1268468384}
+  - component: {fileID: 1268468383}
+  m_Layer: 0
+  m_Name: Speed+
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &1268468382
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1268468381}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 1, y: -0.33, z: -1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 896722857}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1268468383
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1268468381}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9c1faba44d65021418a87209c49f7953, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!212 &1268468384
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1268468381}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300008, guid: 96af674e67bc4b521aa75450c40dfcbf, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!61 &1268468385
+BoxCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1268468381}
+  m_Enabled: 1
+  m_Density: 1
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  m_SpriteTilingProperty:
+    border: {x: 0, y: 0, z: 0, w: 0}
+    pivot: {x: 0.5, y: 0.5}
+    oldSize: {x: 1, y: 1}
+    newSize: {x: 1, y: 1}
+    adaptiveTilingThreshold: 0.5
+    drawMode: 0
+    adaptiveTiling: 0
+  m_AutoTiling: 0
+  serializedVersion: 2
+  m_Size: {x: 1, y: 0.67}
+  m_EdgeRadius: 0
 --- !u!1001 &1357879259
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -331,6 +1061,244 @@ PrefabInstance:
       objectReference: {fileID: 8300000, guid: a5c5c1c02f056e04ca16e3277134468a, type: 3}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 530bea3a047bd31458b647c456257c63, type: 3}
+--- !u!1 &1968252522
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1968252523}
+  - component: {fileID: 1968252526}
+  - component: {fileID: 1968252525}
+  - component: {fileID: 1968252524}
+  m_Layer: 0
+  m_Name: Efficiency+
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &1968252523
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1968252522}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 896722857}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1968252524
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1968252522}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 06839e5c330959c45a2523fafd4a33ab, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!212 &1968252525
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1968252522}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300012, guid: 96af674e67bc4b521aa75450c40dfcbf, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!61 &1968252526
+BoxCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1968252522}
+  m_Enabled: 1
+  m_Density: 1
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  m_SpriteTilingProperty:
+    border: {x: 0, y: 0, z: 0, w: 0}
+    pivot: {x: 0.5, y: 0.5}
+    oldSize: {x: 1, y: 1}
+    newSize: {x: 1, y: 1}
+    adaptiveTilingThreshold: 0.5
+    drawMode: 0
+    adaptiveTiling: 0
+  m_AutoTiling: 0
+  serializedVersion: 2
+  m_Size: {x: 1, y: 0.66}
+  m_EdgeRadius: 0
+--- !u!1 &2068356687
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2068356688}
+  - component: {fileID: 2068356691}
+  - component: {fileID: 2068356690}
+  - component: {fileID: 2068356689}
+  m_Layer: 0
+  m_Name: Collector+
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &2068356688
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2068356687}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 1, y: -1, z: -1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 896722857}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2068356689
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2068356687}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fb47c1de3fd43ba4384f11aad63ef0a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!212 &2068356690
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2068356687}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300006, guid: 96af674e67bc4b521aa75450c40dfcbf, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!61 &2068356691
+BoxCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2068356687}
+  m_Enabled: 1
+  m_Density: 1
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  m_SpriteTilingProperty:
+    border: {x: 0, y: 0, z: 0, w: 0}
+    pivot: {x: 0.5, y: 0.5}
+    oldSize: {x: 1, y: 1}
+    newSize: {x: 1, y: 1}
+    adaptiveTilingThreshold: 0.5
+    drawMode: 0
+    adaptiveTiling: 0
+  m_AutoTiling: 0
+  serializedVersion: 2
+  m_Size: {x: 1, y: 0.66}
+  m_EdgeRadius: 0
 --- !u!1001 &5792638251041000132
 PrefabInstance:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/City.cs b/Assets/Scripts/City.cs
index 70cde618b91a0c1e7c726ddcddb0d00a1343a741..4886609f5fc63f9995dc146d10566b4958420929 100644
--- a/Assets/Scripts/City.cs
+++ b/Assets/Scripts/City.cs
@@ -63,8 +63,8 @@ public class City : MonoBehaviour
 
         GameObject go = Instantiate<GameObject>(worker);
         this.workerlista.Add(go);
-
-        go.transform.position = new Vector3();
+        
+        go.transform.position = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y);
 
         
         this.population++;
@@ -75,20 +75,22 @@ public class City : MonoBehaviour
      *  Kayttaa resurssia r, maaran 'amount' verran (amount >= 0).
      *  Voidaan kayttaa maximissaan sen verran resursseja mita niita on kaytossa.
      */
-    public void UseResource(Resource r, int amount)
+    public int UseResource(Resource r, int amount)
     {
         if (amount<0)
         {
-            return;
+            return 0;
         }
+        int otettuMaara = 0;
         ResourcePool[] lista = gameObject.GetComponents<ResourcePool>();
         for (int i = 0; i < lista.Length; i++)
         {
             if (lista[i].GetResource().GetType().Equals(r.GetType()))
             {
-                lista[i].UseResource(amount);
+                otettuMaara = lista[i].UseResource(amount);
             }
         }
+        return otettuMaara;
     }
 
     public void AddPopulation(int v)
@@ -145,4 +147,12 @@ public class City : MonoBehaviour
             UseResource(lista[i].GetResource(), a[0]);
         }
     }
+    public List<GameObject> GetWorkerList()
+    {
+        return workerlista;
+    }
+    public void OnMouseDown()
+    {
+        AddCollector();
+    }
 }
diff --git a/Assets/Scripts/EventSystem/EventType.cs b/Assets/Scripts/EventSystem/EventType.cs
index 80cd57fcd4908c637f7cab71b66433fde216ead5..5802558d9e2edfabfed034e331d3da4c40c1d539 100644
--- a/Assets/Scripts/EventSystem/EventType.cs
+++ b/Assets/Scripts/EventSystem/EventType.cs
@@ -10,7 +10,8 @@ public enum EventType
     CitySmall, 
     CityBig, 
     HuntingSmall,
-    HuntingBig, 
+    HuntingBig,
+    WinMusic,
     //effects
     WoodChopped, 
     StoneCut, 
diff --git a/Assets/Scripts/GameEnd.meta b/Assets/Scripts/GameEnd.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c8eeb410ce05a432ddf5c3cdb6921197f6520fbc
--- /dev/null
+++ b/Assets/Scripts/GameEnd.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cf62eacc43e8a40469118b61f12a5364
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/GameEnd/MoveRandomly.cs b/Assets/Scripts/GameEnd/MoveRandomly.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9db50ad0882f21a98bb1ee0435c331a9b8d73f29
--- /dev/null
+++ b/Assets/Scripts/GameEnd/MoveRandomly.cs
@@ -0,0 +1,29 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class MoveRandomly : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        StartCoroutine("moveAround");
+    }
+
+    private IEnumerator moveAround() {
+        while (true)
+        {
+            float moveTime = Random.value * 2;
+            float timeSpent = 0;
+            Vector3 direction = new Vector3(Random.value*2-1,Random.value*2-1, 0);
+
+            while (timeSpent < moveTime)
+            {
+                transform.position = transform.position + direction*0.01f;
+                yield return null;
+                timeSpent += Time.deltaTime;
+
+            }
+        }
+    }
+}
diff --git a/Assets/Scripts/GameEnd/MoveRandomly.cs.meta b/Assets/Scripts/GameEnd/MoveRandomly.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bd2dc1b097a707426f83a4b0db133d5cd34a8451
--- /dev/null
+++ b/Assets/Scripts/GameEnd/MoveRandomly.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d3063605b31636c4e9998676be17db5d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/GameEnd/WinGame.cs b/Assets/Scripts/GameEnd/WinGame.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8f9521481ca41a3b2acee82444f417455be27c35
--- /dev/null
+++ b/Assets/Scripts/GameEnd/WinGame.cs
@@ -0,0 +1,62 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class WinGame : MonoBehaviour
+{
+    [SerializeField]
+    private GameObject housePrefab = null;
+    [SerializeField]
+    private GameObject workerPrefab = null;
+
+    private List<GameObject> houses = new List<GameObject>();
+
+    void Start()
+    {
+        StartCoroutine("MoveCamera");
+        StartCoroutine("EndGame");
+    }
+    private IEnumerator MoveCamera()
+    {
+        while (Camera.main.orthographicSize < 9f) {
+            Camera.main.orthographicSize += 0.01f;
+            yield return null;
+        }
+    }
+
+    private IEnumerator EndGame()
+    {
+        EventSystem.EventHappened(EventType.WinMusic);
+        float spawnRate = 5f;
+        int count = 0;
+        while (count < 9)
+        {
+            GameObject go = Instantiate<GameObject>(housePrefab);
+            houses.Add(go);
+            go.transform.position = new Vector3(Random.Range(1f, 14f), Random.Range(1f, 14f),-5);
+            spawnRate -= 0.5f;
+            yield return new WaitForSeconds(spawnRate);
+            count++;
+        }
+        for (int i = 0; i < 3; i++) {
+            GameObject go = Instantiate<GameObject>(housePrefab);
+            houses.Add(go);
+            go.transform.position = new Vector3(Random.Range(1f, 14f), Random.Range(1f, 14f), -5);
+            yield return new WaitForSeconds(spawnRate);
+        }
+        count = 0;
+        EventSystem.EventHappened(EventType.TimePeriodChanged);
+        while (count < 150)
+        {
+            GameObject go = Instantiate<GameObject>(workerPrefab);
+            int index = Random.Range(0, houses.Count);
+            go.transform.position = houses[index].transform.position;
+            go.AddComponent<MoveRandomly>();
+            Destroy(go.GetComponent<Collector>());
+            Destroy(go.GetComponent<Rigidbody2D>());
+            yield return new WaitForSeconds(0.1f);
+            count++;
+        }
+    }
+    
+}
diff --git a/Assets/Scripts/GameEnd/WinGame.cs.meta b/Assets/Scripts/GameEnd/WinGame.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a6fa2a8111d55b06cef7ef6d9d7d9b0fa36d9e3d
--- /dev/null
+++ b/Assets/Scripts/GameEnd/WinGame.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d3674a5cdecf6e14abe5d88e6f0f7618
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/ResourcePool.cs b/Assets/Scripts/ResourcePool.cs
index d09e1d331c3347873579f40640e86d0fba171f94..ce51047eb39df40df55b8882cc5c703731eb0c74 100644
--- a/Assets/Scripts/ResourcePool.cs
+++ b/Assets/Scripts/ResourcePool.cs
@@ -30,15 +30,19 @@ public class ResourcePool : MonoBehaviour
     /**
      * Kayttaa resurssia maaran X verran
      */
-    public void UseResource(int x)
+    public int UseResource(int x)
     {
+        int otettuMaara = 0;
         if (this.amount - x <= 0)
         {
+            otettuMaara = this.amount;
             this.amount = 0;
+            return otettuMaara;
         }
         else
         {
             this.amount -= x;
+            return x;
         }
     }
     /**
diff --git a/Assets/Scripts/UI.meta b/Assets/Scripts/UI.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2f2f6134de3e2746fcd41a1f0512a72e9e77b8aa
--- /dev/null
+++ b/Assets/Scripts/UI.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6c8bd6d1b4693cf40af60b640e73f52b
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/UI/Border.cs b/Assets/Scripts/UI/Border.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7bd13f3068ec0a1912a081a704fc8049b658bcab
--- /dev/null
+++ b/Assets/Scripts/UI/Border.cs
@@ -0,0 +1,23 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Border : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    private void OnMouseEnter()
+    {
+        //Debug.Log("Kauppa kiinni");
+    }
+}
diff --git a/Assets/Scripts/UI/Border.cs.meta b/Assets/Scripts/UI/Border.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e8bcd2a12422a67f5310b4bb61f5200963e7d963
--- /dev/null
+++ b/Assets/Scripts/UI/Border.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9dfa4cb8b74a55949bb9087ebc8eafef
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/UI/BuyCapacity.cs b/Assets/Scripts/UI/BuyCapacity.cs
new file mode 100644
index 0000000000000000000000000000000000000000..eccf28eae58ff6dcadbd47880cf91e40f7b71933
--- /dev/null
+++ b/Assets/Scripts/UI/BuyCapacity.cs
@@ -0,0 +1,26 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BuyCapacity : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    private void OnMouseOver()
+    {
+        if (Input.GetMouseButtonDown(1))
+        {
+            Debug.Log("Ostit Tilaa");
+        }
+    }
+}
diff --git a/Assets/Scripts/UI/BuyCapacity.cs.meta b/Assets/Scripts/UI/BuyCapacity.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8e0e095416d028465ebb23f3d77ea0831b184e1b
--- /dev/null
+++ b/Assets/Scripts/UI/BuyCapacity.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 94999d051d3d2a4438290a189966dcf8
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/UI/BuyCity.cs b/Assets/Scripts/UI/BuyCity.cs
new file mode 100644
index 0000000000000000000000000000000000000000..15579e1350f7af60ab4aaf5f47c438d87d500f62
--- /dev/null
+++ b/Assets/Scripts/UI/BuyCity.cs
@@ -0,0 +1,26 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BuyCity : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    private void OnMouseOver()
+    {
+        if (Input.GetMouseButtonDown(1))
+        {
+            Debug.Log("Ostit Voiton");
+        }
+    }
+}
diff --git a/Assets/Scripts/UI/BuyCity.cs.meta b/Assets/Scripts/UI/BuyCity.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3e6ad98965d876b4a35f8d5697c72d440cca168e
--- /dev/null
+++ b/Assets/Scripts/UI/BuyCity.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2d496a86a17b9d0489876dbf81a4e9bc
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/UI/BuyCollector.cs b/Assets/Scripts/UI/BuyCollector.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3af7ce3e8a5ff41fb4619d9f3678e49d27136026
--- /dev/null
+++ b/Assets/Scripts/UI/BuyCollector.cs
@@ -0,0 +1,26 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BuyCollector : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    private void OnMouseOver()
+    {
+        if (Input.GetMouseButtonDown(1))
+        {
+            Debug.Log("Ostit Tyovoimaa");
+        }
+    }
+}
diff --git a/Assets/Scripts/UI/BuyCollector.cs.meta b/Assets/Scripts/UI/BuyCollector.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..143bfbd866abb6f9bd9ba38032e3cb690b34802b
--- /dev/null
+++ b/Assets/Scripts/UI/BuyCollector.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fb47c1de3fd43ba4384f11aad63ef0a0
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/UI/BuyEfficiency.cs b/Assets/Scripts/UI/BuyEfficiency.cs
new file mode 100644
index 0000000000000000000000000000000000000000..50172b1576985f21dad78e6f98a05039592e748e
--- /dev/null
+++ b/Assets/Scripts/UI/BuyEfficiency.cs
@@ -0,0 +1,26 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BuyEfficiency : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    private void OnMouseOver()
+    {
+        if (Input.GetMouseButtonDown(1))
+        {
+            Debug.Log("Ostit Tehokkuutta");
+        }
+    }
+}
diff --git a/Assets/Scripts/UI/BuyEfficiency.cs.meta b/Assets/Scripts/UI/BuyEfficiency.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ab79b9d43d9d588acb246796b2b95711334a9f0c
--- /dev/null
+++ b/Assets/Scripts/UI/BuyEfficiency.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 06839e5c330959c45a2523fafd4a33ab
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/UI/BuyPopulation.cs b/Assets/Scripts/UI/BuyPopulation.cs
new file mode 100644
index 0000000000000000000000000000000000000000..705b1df9c008e728882d0539847afbad9d921d50
--- /dev/null
+++ b/Assets/Scripts/UI/BuyPopulation.cs
@@ -0,0 +1,26 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BuyPopulation : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    private void OnMouseOver()
+    {
+        if (Input.GetMouseButtonDown(1))
+        {
+            Debug.Log("Ostit Ihmisia");
+        }
+    }
+}
diff --git a/Assets/Scripts/UI/BuyPopulation.cs.meta b/Assets/Scripts/UI/BuyPopulation.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..770845de136e1667d4011aecd445061e85e911ba
--- /dev/null
+++ b/Assets/Scripts/UI/BuyPopulation.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 515574251ae631045a8464c9761619c7
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/UI/BuySpeed.cs b/Assets/Scripts/UI/BuySpeed.cs
new file mode 100644
index 0000000000000000000000000000000000000000..52b0f92d83270581be0f57948b97a4105fc2f952
--- /dev/null
+++ b/Assets/Scripts/UI/BuySpeed.cs
@@ -0,0 +1,26 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BuySpeed : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    private void OnMouseOver()
+    {
+        if (Input.GetMouseButtonDown(1))
+        {
+            Debug.Log("Ostit Nopeutta");
+        }
+    }
+}
diff --git a/Assets/Scripts/UI/BuySpeed.cs.meta b/Assets/Scripts/UI/BuySpeed.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..53eecdd1e054a28405fcf76f5aee5fc7de596419
--- /dev/null
+++ b/Assets/Scripts/UI/BuySpeed.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9c1faba44d65021418a87209c49f7953
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/UI/UpgradeShop.cs b/Assets/Scripts/UI/UpgradeShop.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6bc7625d99fcb4cac9387818aa7f1ed0133eeb69
--- /dev/null
+++ b/Assets/Scripts/UI/UpgradeShop.cs
@@ -0,0 +1,25 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class UpgradeShop : MonoBehaviour
+{ 
+    private bool shopVisible;
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        shopVisible = false;
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    private void OnMouseEnter()
+    {
+        //Debug.Log("Kauppa auki");
+    }
+}
diff --git a/Assets/Scripts/UI/UpgradeShop.cs.meta b/Assets/Scripts/UI/UpgradeShop.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..95f16717eb97dbc99f12523998639cb61f23c7f3
--- /dev/null
+++ b/Assets/Scripts/UI/UpgradeShop.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2cc06fd360e0e1b44b66092a664bafe1
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Sprites/Cloud.png.meta b/Assets/Sprites/Cloud.png.meta
index 572ab4d325d6f7ed40aa0c7c513c3df4947dc9c4..4dd83a4f0813a85ed2674a35eacf5a49365cce33 100644
--- a/Assets/Sprites/Cloud.png.meta
+++ b/Assets/Sprites/Cloud.png.meta
@@ -1,5 +1,9 @@
 fileFormatVersion: 2
+<<<<<<< HEAD
 guid: da2fdc4d65b035247a30af613a6d2912
+=======
+guid: 038ab914524b2d64a93a0e9c7e9ca39f
+>>>>>>> f671c3e28cd26c667fb91d7dd0a7069ea183ba1b
 TextureImporter:
   fileIDToRecycleName: {}
   externalObjects: {}
@@ -75,7 +79,11 @@ TextureImporter:
     outline: []
     physicsShape: []
     bones: []
+<<<<<<< HEAD
     spriteID: 235b5f67a33d4d84ba767361f3abdaa3
+=======
+    spriteID: 54d1cffd83aa8054d820d7fd4a638695
+>>>>>>> f671c3e28cd26c667fb91d7dd0a7069ea183ba1b
     vertices: []
     indices: 
     edges: []
diff --git a/Assets/Sprites/Destination_b.png.meta b/Assets/Sprites/Destination_b.png.meta
index 9289363e0897e6c4ff4954c305819577058fc1b3..03e74084d614f2ce0dde40040ec2b3a239746a8e 100644
--- a/Assets/Sprites/Destination_b.png.meta
+++ b/Assets/Sprites/Destination_b.png.meta
@@ -1,5 +1,9 @@
 fileFormatVersion: 2
+<<<<<<< HEAD
 guid: cc3fda645f53128429f61de79b1fcea8
+=======
+guid: 5bc9a60b2f7a5b64cb1fc21d50461158
+>>>>>>> f671c3e28cd26c667fb91d7dd0a7069ea183ba1b
 TextureImporter:
   fileIDToRecycleName: {}
   externalObjects: {}
@@ -75,7 +79,11 @@ TextureImporter:
     outline: []
     physicsShape: []
     bones: []
+<<<<<<< HEAD
     spriteID: fa90c29f4d4f2264c8a3bd45097be72b
+=======
+    spriteID: b03e8f4f2e4e47f4eac90d76c774a40e
+>>>>>>> f671c3e28cd26c667fb91d7dd0a7069ea183ba1b
     vertices: []
     indices: 
     edges: []
diff --git a/Assets/Sprites/Destination_pointer.png.meta b/Assets/Sprites/Destination_pointer.png.meta
index 97907e2d41ed3b50088a837e47d006cfc0690e85..1a6bea4fb2b447db83ff30a58dd1dbcc0da3953b 100644
--- a/Assets/Sprites/Destination_pointer.png.meta
+++ b/Assets/Sprites/Destination_pointer.png.meta
@@ -1,5 +1,9 @@
 fileFormatVersion: 2
+<<<<<<< HEAD
 guid: 5f1dd03bd2b18f74f8bdf8a7643e95cd
+=======
+guid: d3c9bafef3c25ef48b06b098ee1e0d12
+>>>>>>> f671c3e28cd26c667fb91d7dd0a7069ea183ba1b
 TextureImporter:
   fileIDToRecycleName: {}
   externalObjects: {}
@@ -75,7 +79,11 @@ TextureImporter:
     outline: []
     physicsShape: []
     bones: []
+<<<<<<< HEAD
     spriteID: 7bd4f1e7ac076824889ec633e10e0ca8
+=======
+    spriteID: 5a0b38d14e376af42b2ac4c7cab18d7a
+>>>>>>> f671c3e28cd26c667fb91d7dd0a7069ea183ba1b
     vertices: []
     indices: 
     edges: []
diff --git a/Assets/Sprites/Ground.xcf b/Assets/Sprites/Ground.xcf
index ff8d57744e11c2991942ea87d2013b2a9293f804..202a670723728f5954a0a05ee868edc8b82fbadb 100644
Binary files a/Assets/Sprites/Ground.xcf and b/Assets/Sprites/Ground.xcf differ