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