diff --git a/Assets/Prefabs/yieldRock.prefab b/Assets/Prefabs/yieldRock.prefab
new file mode 100644
index 0000000..323cc17
--- /dev/null
+++ b/Assets/Prefabs/yieldRock.prefab
@@ -0,0 +1,221 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &6962989255644195630
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6962989255644195631}
+ - component: {fileID: 6072713849781841816}
+ - component: {fileID: -1491803373025033585}
+ - component: {fileID: 2238237770060079311}
+ - component: {fileID: 3600016298306940116}
+ m_Layer: 0
+ m_Name: yieldRock
+ m_TagString: Resource
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6962989255644195631
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6962989255644195630}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -6.61, y: -0.638, z: 1.8112363}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 6962989256011107500}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1839735485 &6072713849781841816
+Tilemap:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6962989255644195630}
+ m_Enabled: 0
+ m_Tiles: {}
+ m_AnimatedTiles: {}
+ m_TileAssetArray: []
+ m_TileSpriteArray: []
+ m_TileMatrixArray: []
+ m_TileColorArray: []
+ m_TileObjectToInstantiateArray: []
+ m_AnimationFrameRate: 1
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Origin: {x: 0, y: 0, z: 0}
+ m_Size: {x: 0, y: 0, z: 1}
+ m_TileAnchor: {x: 0.5, y: 0.5, z: 0}
+ m_TileOrientation: 0
+ m_TileOrientationMatrix:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+--- !u!50 &-1491803373025033585
+Rigidbody2D:
+ serializedVersion: 4
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6962989255644195630}
+ m_BodyType: 0
+ m_Simulated: 1
+ m_UseFullKinematicContacts: 0
+ m_UseAutoMass: 0
+ m_Mass: 1
+ m_LinearDrag: 0
+ m_AngularDrag: 0.05
+ m_GravityScale: 0
+ m_Material: {fileID: 0}
+ m_Interpolate: 0
+ m_SleepingMode: 1
+ m_CollisionDetection: 0
+ m_Constraints: 4
+--- !u!61 &2238237770060079311
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6962989255644195630}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0.02, y: -0.01}
+ 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: 0.27, y: 0.33}
+ m_EdgeRadius: 0
+--- !u!114 &3600016298306940116
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6962989255644195630}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9dd6bad38b516d64e8e23a5822ca37bb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _resourceMakingAmount: 10
+ _resourceChoice: 0
+--- !u!1 &6962989256011107503
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6962989256011107500}
+ - component: {fileID: 6962989256011107501}
+ m_Layer: 0
+ m_Name: exmeple
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6962989256011107500
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6962989256011107503}
+ m_LocalRotation: {x: 0, y: -0, z: 0.7071068, w: -0.7071068}
+ m_LocalPosition: {x: 0.0259, y: 0.01, z: 0}
+ m_LocalScale: {x: 0.5394133, y: 0.56488746, z: 0.9686}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 6962989255644195631}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 270}
+--- !u!212 &6962989256011107501
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6962989256011107503}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ 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: 4
+ m_Sprite: {fileID: 21300000, guid: 79f48ca2dd34ed7498565c98d95db6cb, 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.06, y: 1.69}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
diff --git a/Assets/Prefabs/yieldRock.prefab.meta b/Assets/Prefabs/yieldRock.prefab.meta
new file mode 100644
index 0000000..6811008
--- /dev/null
+++ b/Assets/Prefabs/yieldRock.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 484f0eca1c74ae34694692de56a36739
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Resource/ResourceMaker.cs b/Assets/Scripts/Resource/ResourceMaker.cs
new file mode 100644
index 0000000..31eed0f
--- /dev/null
+++ b/Assets/Scripts/Resource/ResourceMaker.cs
@@ -0,0 +1,57 @@
+using System.Collections;
+using UnityEngine;
+///
+/// Gère la production de ressource et sert de minuteur pour laisser la ressource sur le sol.
+///
+public class ResourceMaker : MonoBehaviour
+{
+ [SerializeField]
+ private int _resourceMakingAmount;
+ [SerializeField]
+ private ResourceManager.ResourceChoice _resourceChoice;
+ private ResourceManager _resourceManagerInstance;
+
+ private void Awake()
+ {
+ _resourceManagerInstance = ResourceManager.Instance;
+ Debug.Log("Birth");
+ }
+
+ ///
+ /// D'après le choix de resource à générer, choisi le prefab à instancier
+ ///
+ public void GenerateResource()
+ {
+ switch (_resourceChoice)
+ {
+ case ResourceManager.ResourceChoice.Rock:
+ _resourceManagerInstance.RockAmount = _resourceMakingAmount;
+ break;
+ case ResourceManager.ResourceChoice.Wood:
+ _resourceManagerInstance.WoodAmount = _resourceMakingAmount;
+ break;
+ case ResourceManager.ResourceChoice.Food:
+ _resourceManagerInstance.FoodAmount = _resourceMakingAmount;
+ break;
+ }
+ Destroy(gameObject);
+ }
+
+ private void Update()
+ {
+ if (Input.GetMouseButtonDown(0))
+ {
+ Vector2 clickPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
+ RaycastHit2D hit = Physics2D.Raycast(clickPoint, transform.up);
+ if (hit.collider != null)
+ {
+ if (hit.collider.CompareTag("Resource"))
+ {
+ Debug.Log("I have been summoned");
+ GenerateResource();
+
+ }
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/Resource/ResourceMaker.cs.meta b/Assets/Scripts/Resource/ResourceMaker.cs.meta
new file mode 100644
index 0000000..2a5c437
--- /dev/null
+++ b/Assets/Scripts/Resource/ResourceMaker.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9dd6bad38b516d64e8e23a5822ca37bb
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Resource/ResourceManager.cs b/Assets/Scripts/Resource/ResourceManager.cs
index 978905e..5adffc4 100644
--- a/Assets/Scripts/Resource/ResourceManager.cs
+++ b/Assets/Scripts/Resource/ResourceManager.cs
@@ -1,16 +1,28 @@
using UnityEngine;
using System.Collections;
+
///
/// Sert d'inventaire et gère l'accès aux ressources
///
public class ResourceManager : MonoBehaviour
{
private static ResourceManager _instance = null;
+ [SerializeField][Range(0.0f, 10.0f)]
+ private float _randoLimiter = 5.0f;
+ [SerializeField]
+ private GameObject _dropPrefab;
private int _rockAmount = 20;
private int _woodAmount = 20;
private int _foodAmount = 20;
+ public enum ResourceChoice
+ {
+ Rock,
+ Wood,
+ Food
+ };
+
public enum AddOrRemove
{
Add,
@@ -91,6 +103,14 @@ public class ResourceManager : MonoBehaviour
return false;
}
-
+ public void SpawnResource(ResourceChoice type, Vector2 position)
+ {
+ //Instantiate prefab at random position
+ //var position = new Vector3(Random.Range(-10.0f, 10.0f), 0, Random.Range(-10.0f, 10.0f));
+ //Instantiate(prefab, position, Quaternion.identity);
+ Vector3 droppedPosition = new Vector3(Random.Range(-1.0f, 1.0f),-1.0f);
+ Instantiate(_dropPrefab, droppedPosition, Quaternion.identity);
+
+ }
}
diff --git a/Assets/Scripts/Tiles/ResourceTile.cs b/Assets/Scripts/Tiles/ResourceTile.cs
index b63bb6c..1a474c3 100644
--- a/Assets/Scripts/Tiles/ResourceTile.cs
+++ b/Assets/Scripts/Tiles/ResourceTile.cs
@@ -18,7 +18,7 @@ public class ResourceTile : LevelTile
public override void LevelUpdate()
{
- if (!Occupied) return;
+ //if (!Occupied) return;
_yieldCounter += Time.deltaTime * _yieldSpeed;
diff --git a/Assets/Tiles/Farm.asset b/Assets/Tiles/Farm.asset
new file mode 100644
index 0000000..8334d17
--- /dev/null
+++ b/Assets/Tiles/Farm.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 84b05f2a26f63da46a1028488482d079, type: 3}
+ m_Name: Farm
+ m_EditorClassIdentifier:
+ _sprite: {fileID: 21300000, guid: b1e6b8ebeb2e25f4f8c5de93a31dd6a2, type: 3}
+ _yieldPrefab: {fileID: 6962989255644195630, guid: 484f0eca1c74ae34694692de56a36739, type: 3}
+ _yieldSpeed: 1
diff --git a/Assets/Tiles/Farm.asset.meta b/Assets/Tiles/Farm.asset.meta
new file mode 100644
index 0000000..260cdc8
--- /dev/null
+++ b/Assets/Tiles/Farm.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 953a02bba997b9348bee7f306f609a96
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Tiles/Forest.asset b/Assets/Tiles/Forest.asset
new file mode 100644
index 0000000..6dcdd52
--- /dev/null
+++ b/Assets/Tiles/Forest.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 84b05f2a26f63da46a1028488482d079, type: 3}
+ m_Name: Forest
+ m_EditorClassIdentifier:
+ _sprite: {fileID: 21300000, guid: 5c630d8b4d37f5d4f974d38f670ad5c1, type: 3}
+ _yieldPrefab: {fileID: 6962989255644195630, guid: 484f0eca1c74ae34694692de56a36739, type: 3}
+ _yieldSpeed: 1
diff --git a/Assets/Tiles/Forest.asset.meta b/Assets/Tiles/Forest.asset.meta
new file mode 100644
index 0000000..7492f62
--- /dev/null
+++ b/Assets/Tiles/Forest.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e0b1d2d816ae5624c99b09a2bebb2a39
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Tiles/Mountain.asset b/Assets/Tiles/Mountain.asset
new file mode 100644
index 0000000..0c6bca9
--- /dev/null
+++ b/Assets/Tiles/Mountain.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 84b05f2a26f63da46a1028488482d079, type: 3}
+ m_Name: Mountain
+ m_EditorClassIdentifier:
+ _sprite: {fileID: 21300000, guid: 6298844400e212d40bce870425ac2a5b, type: 3}
+ _yieldPrefab: {fileID: 6962989255644195630, guid: 484f0eca1c74ae34694692de56a36739, type: 3}
+ _yieldSpeed: 1
diff --git a/Assets/Tiles/Mountain.asset.meta b/Assets/Tiles/Mountain.asset.meta
new file mode 100644
index 0000000..1ee5766
--- /dev/null
+++ b/Assets/Tiles/Mountain.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e0d57b3c128ba1447920637cdb289530
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset
index f63a055..cb52e17 100644
--- a/ProjectSettings/TagManager.asset
+++ b/ProjectSettings/TagManager.asset
@@ -6,6 +6,7 @@ TagManager:
tags:
- Opponent
- Ally
+ - Resource
layers:
- Default
- TransparentFX