From 482fc2c17871a339631ee37c1dd8ec46ec120f84 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Fri, 23 Jun 2023 14:53:21 -0400 Subject: [PATCH 1/4] =?UTF-8?q?ResourceMaker=20d=C3=A9place=20la=20ressour?= =?UTF-8?q?ce=20=C3=A0=20ramasser=20vers=20un=20point=20fixe=20avant=20d'a?= =?UTF-8?q?ugmenter=20la=20quantit=C3=A9=20de=20ressources=20du=20joueur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ResourceTile produit des yields que lorsqu'une yield prefab a été déterminé --- Assets/Scripts/Resource/ResourceMaker.cs | 52 ++++++++++++++++-------- Assets/Scripts/Tiles/ResourceTile.cs | 14 ++++--- 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/Assets/Scripts/Resource/ResourceMaker.cs b/Assets/Scripts/Resource/ResourceMaker.cs index aa2f870..db117ae 100644 --- a/Assets/Scripts/Resource/ResourceMaker.cs +++ b/Assets/Scripts/Resource/ResourceMaker.cs @@ -10,29 +10,49 @@ public class ResourceMaker : MonoBehaviour [SerializeField] private Enum.ResourceChoice _resourceChoice; private ResourceManager _resourceManagerInstance; + [SerializeField] + private Vector2 _endPosition; + private Vector2 _startPosition; + private float _desiredTime = 1.5f; + private float _timePassed = 0f; + private bool _isPlaying = false; private void Start() { _resourceManagerInstance = ResourceManager.Instance; + _startPosition = transform.position; + } + + private void Update() + { + if (_isPlaying) + { + _timePassed += Time.deltaTime; + float duration = _timePassed / _desiredTime; + duration = duration * duration * (3.0f - 2.0f * duration); + transform.position = Vector2.Lerp(_startPosition, _endPosition, duration); + if(Vector2.Distance(transform.position,_endPosition) < 0.01f) + { + _isPlaying = false; + switch (_resourceChoice) + { + case Enum.ResourceChoice.Rock: + _resourceManagerInstance.RockAmount = _resourceMakingAmount; + break; + case Enum.ResourceChoice.Wood: + _resourceManagerInstance.WoodAmount = _resourceMakingAmount; + break; + case Enum.ResourceChoice.Food: + _resourceManagerInstance.FoodAmount = _resourceMakingAmount; + break; + } + Destroy(gameObject); + } + } } /// /// D'après le choix de resource à générer, choisi le prefab à instancier /// - public void GenerateResource() - { - switch (_resourceChoice) - { - case Enum.ResourceChoice.Rock: - _resourceManagerInstance.RockAmount = _resourceMakingAmount; - break; - case Enum.ResourceChoice.Wood: - _resourceManagerInstance.WoodAmount = _resourceMakingAmount; - break; - case Enum.ResourceChoice.Food: - _resourceManagerInstance.FoodAmount = _resourceMakingAmount; - break; - } - Destroy(gameObject); - } + public void GenerateResource(){_isPlaying = true;} } diff --git a/Assets/Scripts/Tiles/ResourceTile.cs b/Assets/Scripts/Tiles/ResourceTile.cs index 7a7ab28..6f594a1 100644 --- a/Assets/Scripts/Tiles/ResourceTile.cs +++ b/Assets/Scripts/Tiles/ResourceTile.cs @@ -23,12 +23,14 @@ public class ResourceTile : LevelTile { _yieldCounter += Time.deltaTime * _yieldSpeed; if (_yieldCounter < 1) return; - - _yieldCounter = 0; - float rangeConfig = 0.5f + _randomPositionConfig; - Vector3 yieldPosition = new Vector3(Position.x + Random.Range(-rangeConfig, rangeConfig), Position.y, Position.z); - var yielded = Instantiate(_yieldPrefab, yieldPosition, Quaternion.identity); - yielded.transform.SetParent(LevelManager.Instance.LevelTransform); + if(_yieldPrefab != null) + { + _yieldCounter = 0; + float rangeConfig = 0.5f + _randomPositionConfig; + Vector3 yieldPosition = new Vector3(Position.x + Random.Range(-rangeConfig, rangeConfig), Position.y, Position.z); + var yielded = Instantiate(_yieldPrefab, yieldPosition, Quaternion.identity); + yielded.transform.SetParent(LevelManager.Instance.LevelTransform); + } } public override bool Equals(ILevelObject other) { From e55b1c85071f4b06cb05fe06dd7d1cb29afb5bbf Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 25 Jun 2023 16:17:22 -0400 Subject: [PATCH 2/4] Merge commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ajout d'arrière-plan à l'affichage des ressources dans la scène TestDragAndDrop Déterminé une destination fixe réaliste pour les yields Suppression du Meat tile pour éviter une redondance avec le Farm tile --- Assets/Prefabs/Yield/yieldFood.prefab | 1 + Assets/Prefabs/Yield/yieldRock.prefab | 1 + Assets/Prefabs/Yield/yieldWood.prefab | 1 + Assets/Scenes/TestDragAndDrop.unity | 126 ++++++++++++++++++++++- Assets/Scenes/TestResource.unity | 13 --- Assets/Scripts/Resource/ResourceMaker.cs | 6 +- Assets/Tiles/Meat.asset | 19 ---- Assets/Tiles/Meat.asset.meta | 8 -- 8 files changed, 129 insertions(+), 46 deletions(-) delete mode 100644 Assets/Tiles/Meat.asset delete mode 100644 Assets/Tiles/Meat.asset.meta diff --git a/Assets/Prefabs/Yield/yieldFood.prefab b/Assets/Prefabs/Yield/yieldFood.prefab index 71fdf36..24ed98e 100644 --- a/Assets/Prefabs/Yield/yieldFood.prefab +++ b/Assets/Prefabs/Yield/yieldFood.prefab @@ -135,6 +135,7 @@ MonoBehaviour: m_EditorClassIdentifier: _resourceMakingAmount: 10 _resourceChoice: 2 + _endPosition: {x: -2, y: 5} --- !u!1 &6962989256011107503 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Yield/yieldRock.prefab b/Assets/Prefabs/Yield/yieldRock.prefab index 0629a24..82c5113 100644 --- a/Assets/Prefabs/Yield/yieldRock.prefab +++ b/Assets/Prefabs/Yield/yieldRock.prefab @@ -135,6 +135,7 @@ MonoBehaviour: m_EditorClassIdentifier: _resourceMakingAmount: 10 _resourceChoice: 0 + _endPosition: {x: -10, y: 5} --- !u!1 &6962989256011107503 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Yield/yieldWood.prefab b/Assets/Prefabs/Yield/yieldWood.prefab index a6c6bf3..eaebb14 100644 --- a/Assets/Prefabs/Yield/yieldWood.prefab +++ b/Assets/Prefabs/Yield/yieldWood.prefab @@ -135,6 +135,7 @@ MonoBehaviour: m_EditorClassIdentifier: _resourceMakingAmount: 10 _resourceChoice: 1 + _endPosition: {x: -5, y: 0} --- !u!1 &6962989256011107503 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/TestDragAndDrop.unity b/Assets/Scenes/TestDragAndDrop.unity index c6e68d7..d6adc12 100644 --- a/Assets/Scenes/TestDragAndDrop.unity +++ b/Assets/Scenes/TestDragAndDrop.unity @@ -1723,6 +1723,8 @@ GameObject: m_Component: - component: {fileID: 1364544234} - component: {fileID: 1364544236} + - component: {fileID: 1364544238} + - component: {fileID: 1364544237} m_Layer: 5 m_Name: Wood m_TagString: Untagged @@ -1770,7 +1772,7 @@ MonoBehaviour: m_Top: 0 m_Bottom: 0 m_ChildAlignment: 4 - m_Spacing: 0 + m_Spacing: 5 m_ChildForceExpandWidth: 0 m_ChildForceExpandHeight: 0 m_ChildControlWidth: 0 @@ -1778,6 +1780,44 @@ MonoBehaviour: m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!114 &1364544237 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1364544233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: a9a9dd4da2d899b4fbf1bdac279f205f, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1364544238 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1364544233} + m_CullTransparentMesh: 1 --- !u!1 &1461572642 GameObject: m_ObjectHideFlags: 0 @@ -1864,6 +1904,8 @@ GameObject: m_Component: - component: {fileID: 1472986333} - component: {fileID: 1472986335} + - component: {fileID: 1472986337} + - component: {fileID: 1472986336} m_Layer: 5 m_Name: Food m_TagString: Untagged @@ -1911,7 +1953,7 @@ MonoBehaviour: m_Top: 0 m_Bottom: 0 m_ChildAlignment: 4 - m_Spacing: 0 + m_Spacing: 5 m_ChildForceExpandWidth: 0 m_ChildForceExpandHeight: 0 m_ChildControlWidth: 0 @@ -1919,6 +1961,44 @@ MonoBehaviour: m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!114 &1472986336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1472986332} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b4ecdeb6795f5c944befcf087eef850c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1472986337 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1472986332} + m_CullTransparentMesh: 1 --- !u!1 &1577235757 GameObject: m_ObjectHideFlags: 0 @@ -2009,6 +2089,8 @@ GameObject: m_Component: - component: {fileID: 1843606528} - component: {fileID: 1843606529} + - component: {fileID: 1843606531} + - component: {fileID: 1843606530} m_Layer: 5 m_Name: Rock m_TagString: Untagged @@ -2056,7 +2138,7 @@ MonoBehaviour: m_Top: 0 m_Bottom: 0 m_ChildAlignment: 4 - m_Spacing: 0 + m_Spacing: 5 m_ChildForceExpandWidth: 0 m_ChildForceExpandHeight: 0 m_ChildControlWidth: 0 @@ -2064,6 +2146,44 @@ MonoBehaviour: m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!114 &1843606530 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1843606527} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c0fa0883074be5b4cb030fc39eb9d3c7, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1843606531 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1843606527} + m_CullTransparentMesh: 1 --- !u!1 &1932921574 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/TestResource.unity b/Assets/Scenes/TestResource.unity index 9ca2a1b..45e14c8 100644 --- a/Assets/Scenes/TestResource.unity +++ b/Assets/Scenes/TestResource.unity @@ -554,7 +554,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 588027704} - - component: {fileID: 588027705} - component: {fileID: 588027706} m_Layer: 5 m_Name: GameManager @@ -583,18 +582,6 @@ RectTransform: m_AnchoredPosition: {x: 423, y: 178} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &588027705 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 588027703} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 45e6e814b8c91334ca1d6d0e7f530fef, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!114 &588027706 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Resource/ResourceMaker.cs b/Assets/Scripts/Resource/ResourceMaker.cs index db117ae..f2f18c7 100644 --- a/Assets/Scripts/Resource/ResourceMaker.cs +++ b/Assets/Scripts/Resource/ResourceMaker.cs @@ -23,6 +23,9 @@ public class ResourceMaker : MonoBehaviour _startPosition = transform.position; } + /// + /// D'après le choix de resource à générer, choisi le prefab à instancier + /// private void Update() { if (_isPlaying) @@ -51,8 +54,5 @@ public class ResourceMaker : MonoBehaviour } } - /// - /// D'après le choix de resource à générer, choisi le prefab à instancier - /// public void GenerateResource(){_isPlaying = true;} } diff --git a/Assets/Tiles/Meat.asset b/Assets/Tiles/Meat.asset deleted file mode 100644 index 41adbe1..0000000 --- a/Assets/Tiles/Meat.asset +++ /dev/null @@ -1,19 +0,0 @@ -%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: Meat - m_EditorClassIdentifier: - _sprite: {fileID: 21300000, guid: b1e6b8ebeb2e25f4f8c5de93a31dd6a2, type: 3} - _isCollidable: 0 - _yieldPrefab: {fileID: 6962989255644195630, guid: a2dc5d9672c10074fa9c35c12f6339c1, type: 3} - _yieldSpeed: 0.5 - _randomPositionConfig: 0.5 diff --git a/Assets/Tiles/Meat.asset.meta b/Assets/Tiles/Meat.asset.meta deleted file mode 100644 index 50829fc..0000000 --- a/Assets/Tiles/Meat.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a19b3b6859986b449aac7484e064097a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: From f9e9abe43a2dad4f410a3524d1baeda3979c851b Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 25 Jun 2023 18:25:08 -0400 Subject: [PATCH 3/4] =?UTF-8?q?ResourceMaker=20d=C3=A9marre=20le=20yield?= =?UTF-8?q?=20en=20hauteur,=20puis=20=20il=20descend=20vers=20le=20sol?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Resource/ResourceMaker.cs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/Resource/ResourceMaker.cs b/Assets/Scripts/Resource/ResourceMaker.cs index f2f18c7..caf188e 100644 --- a/Assets/Scripts/Resource/ResourceMaker.cs +++ b/Assets/Scripts/Resource/ResourceMaker.cs @@ -21,6 +21,9 @@ public class ResourceMaker : MonoBehaviour { _resourceManagerInstance = ResourceManager.Instance; _startPosition = transform.position; + transform.position = new Vector2(transform.position.x, transform.position.y + 0.5f); + gameObject.GetComponent().AddForce(transform.up * 20.0f); + gameObject.GetComponent().gravityScale = 0.1f; } /// @@ -28,13 +31,19 @@ public class ResourceMaker : MonoBehaviour /// private void Update() { + if (Vector2.Distance(transform.position, _startPosition) < 0.01f) + { + gameObject.GetComponent().gravityScale = 0.0f; + gameObject.GetComponent().velocity = Vector2.zero; + } + if (_isPlaying) { _timePassed += Time.deltaTime; float duration = _timePassed / _desiredTime; duration = duration * duration * (3.0f - 2.0f * duration); - transform.position = Vector2.Lerp(_startPosition, _endPosition, duration); - if(Vector2.Distance(transform.position,_endPosition) < 0.01f) + transform.position = Vector2.Lerp(transform.position, _endPosition, duration); + if(Vector2.Distance(transform.position,_endPosition) < 0.001f) { _isPlaying = false; switch (_resourceChoice) @@ -54,5 +63,9 @@ public class ResourceMaker : MonoBehaviour } } - public void GenerateResource(){_isPlaying = true;} + public void GenerateResource(){ + _isPlaying = true; + gameObject.GetComponent().gravityScale = 0.0f; + gameObject.GetComponent().velocity = Vector2.zero; + } } From 1dcca774d5e0922c483dc4957845a875e574c942 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Fri, 30 Jun 2023 10:33:54 -0400 Subject: [PATCH 4/4] Correction des commentaires de merge pour ResourceMaker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit _rigidbody est la variable contenant Rigidbody2D Corrigé l'indentation de GenerateResource --- Assets/Scripts/Resource/ResourceMaker.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Assets/Scripts/Resource/ResourceMaker.cs b/Assets/Scripts/Resource/ResourceMaker.cs index caf188e..f07df52 100644 --- a/Assets/Scripts/Resource/ResourceMaker.cs +++ b/Assets/Scripts/Resource/ResourceMaker.cs @@ -13,6 +13,7 @@ public class ResourceMaker : MonoBehaviour [SerializeField] private Vector2 _endPosition; private Vector2 _startPosition; + private Rigidbody2D _rigidbody; private float _desiredTime = 1.5f; private float _timePassed = 0f; private bool _isPlaying = false; @@ -22,8 +23,9 @@ public class ResourceMaker : MonoBehaviour _resourceManagerInstance = ResourceManager.Instance; _startPosition = transform.position; transform.position = new Vector2(transform.position.x, transform.position.y + 0.5f); - gameObject.GetComponent().AddForce(transform.up * 20.0f); - gameObject.GetComponent().gravityScale = 0.1f; + _rigidbody = GetComponent(); + _rigidbody.AddForce(transform.up * 20.0f); + _rigidbody.gravityScale = 0.1f; } /// @@ -33,8 +35,8 @@ public class ResourceMaker : MonoBehaviour { if (Vector2.Distance(transform.position, _startPosition) < 0.01f) { - gameObject.GetComponent().gravityScale = 0.0f; - gameObject.GetComponent().velocity = Vector2.zero; + _rigidbody.gravityScale = 0.0f; + _rigidbody.velocity = Vector2.zero; } if (_isPlaying) @@ -63,9 +65,10 @@ public class ResourceMaker : MonoBehaviour } } - public void GenerateResource(){ + public void GenerateResource() + { _isPlaying = true; - gameObject.GetComponent().gravityScale = 0.0f; - gameObject.GetComponent().velocity = Vector2.zero; + _rigidbody.gravityScale = 0.0f; + _rigidbody.velocity = Vector2.zero; } }