From 606d55999c6d118e4a0d1ba88b4b67ef97c84626 Mon Sep 17 00:00:00 2001 From: Patrice Vignola Date: Sat, 22 Aug 2015 02:23:39 -0400 Subject: [PATCH] Add the basic movements and jump for the child --- Assets/Prefabs/Child.prefab | Bin 8804 -> 10020 bytes Assets/Prefabs/InputManager.prefab | Bin 4460 -> 4460 bytes Assets/Scenes/PatScene.unity | Bin 17444 -> 17444 bytes Assets/Scripts/Child.cs | 43 ++++++++++++++++++++++++++--- Assets/Scripts/ChildController.cs | 15 ++++++++-- ProjectSettings/TagManager.asset | Bin 4236 -> 4316 bytes 6 files changed, 52 insertions(+), 6 deletions(-) diff --git a/Assets/Prefabs/Child.prefab b/Assets/Prefabs/Child.prefab index beacf7f4de78ee709575c576f2b523739e46f872..dd17061d840b6ad20efc8bd4ee5f1f39fe349135 100644 GIT binary patch delta 1192 zcmYjQTS${(7=HhMS{@dbYw5H#x3mM+Oew60nt2L|way2kuCblkaTr?|f`}|7N)6WwZ9^hRt)KW7FR&=f8fk zBj~_{w^bb&A&RepmIIUmlt-lC!@N7qbBPSU5n>x)2Fd_~S7`?ROQ3R|azK%JRC1dr z?l9bFX`1)>qWYHRKvy)Zi`NV7YxhPpEkJFtP^2ZS`!$mG%GUOfw(CT<=8tZrRy`a$ z6=)1<{*#lD-0PM#gGe>~_Q!TH8%%Z$9sYVPx$(3W+&Mr6_|&7N7TlNHE0rQqlV7e> ziJ9CI#Vsxu*Fb(&%<{eb8e0{-xbb|TL5^=U?iNmq#g06*6X1~xf$Wj1#BNK8jTeP^ zX#rpiu5d*BpcpTymMiwd!W9+*nN@zoYI>k@-bKt)1!}8u^)YDdU(9qCe-;|^7N)cK zK4{D@W*Yq7NKn(Y#&Azhm$+Ga#JZOQ>Rt&+g>(MY9jK1Z;&uNlig#|GYH!uNc{SB$q-GA8n&mf z?EuGrCtVJPaVMsvS04Ih8$YPQblZu}pSf)G!L}av7sP)trNr4~6XK5}ub!8|WAe$2 z&+&XRd0FPilJ#=M6US=t-C-8%9MdMOTR0t->i9PHJbG#SW4?)4&%j_ZOC<5maj+1Z zlm~T1t;;HW6~7c8EL+5^BUcPLj}|37L@yfIN&ci_q{1qGJKNB?*_r(#%QW~>jFhqu Ou2C*LuEiqHW&RJH+VnyI delta 411 zcmZ4D_r%4IfkB>ufk7z+Nbm#M3P75{RL@Y)D9w=J-~a#r899LhAjal~Dz$rY!b)$S zr)^&;-E-LT*_6l1eAx-#G`qe{YfovE1gbOH=-0`l@0pj9TEPI+@;`n3cJ0*_Umi+6 zUiQ@G@x>n2An*RvdDZ{I!!8=fzfsvG0o0?h(a)J_@*!4@%@S;Lgf~0O|~hn zf(b-{!9gI&2*&^ag9NOK*g+J-2_ObJodt{`axSNofjkBV1E7WuAT18Y5V-~Gj6hNh zI~XVXDM~SYV4R$#C>3S^v?u^5>IlXVm0z;fffO<{0OeeOG{`$eU=ap}b1NZoCxCJu zKrvA86oK8xz_1|wJ1a<;0Q2N;iu)$1^Gw!JzA`yMm1A;&ipJzWsyvhbs_{&AP}P|H hK;;4>!{m*sb0^!WYE3p!^Pz0RoeK4;m3qZmEa2F@s39A~{~r$DHB_?Q%9%?o$amYMXK>)&A_6GY)6Z=s2D|({qr4p}`)8Cns8I RY~EpWf|ZeDbEDH@MgZGO8)X0h delta 66 zcmZ3|!MLP@aYKfU#=%#8cGn&V?q?2(w%a3PXMgt08HcnqHb-OQ;sXo}4fZfRInhdE R^A4L6tc(ns8=V$20swqv7>ob_ diff --git a/Assets/Scripts/Child.cs b/Assets/Scripts/Child.cs index 9ff814d..cf312a4 100644 --- a/Assets/Scripts/Child.cs +++ b/Assets/Scripts/Child.cs @@ -5,27 +5,62 @@ using System.Collections; public class Child : MonoBehaviour { public float Speed = 10f; + public float JumpForce = 10f; + public GameObject GroundCheck; private Rigidbody _rb; + private bool _isGrounded = false; + private float _xValue; + private float _zValue; void Awake() { _rb = GetComponent(); } - public void Move(float xValue, float zValue) + void Update() + { + _isGrounded = IsGrounded(); + + Debug.Log(_isGrounded); + } + + void FixedUpdate() { // We move the child depending on the camera orientation Vector3 forwardDir = Camera.main.transform.forward; Vector3 rightDir = Camera.main.transform.right; - forwardDir.y = 0f; - forwardDir *= zValue * Speed; + forwardDir *= _zValue * Speed; + forwardDir.y = _rb.velocity.y; + rightDir *= _xValue * Speed; rightDir.y = 0f; - rightDir *= xValue * Speed; _rb.velocity = forwardDir + rightDir; } + + private bool IsGrounded() + { + Collider[] colliders = Physics.OverlapSphere(GroundCheck.transform.position, 0.5f, 1 << LayerMask.NameToLayer("Ground")); + + return colliders.Length > 0; + } + + public void Move(float xValue, float zValue) + { + _xValue = xValue; + _zValue = zValue; + } + + public void Jump() + { + if (_isGrounded) + { + _isGrounded = false; + + _rb.AddForce(new Vector3(0f, JumpForce, 0f)); + } + } } diff --git a/Assets/Scripts/ChildController.cs b/Assets/Scripts/ChildController.cs index cc9a375..54826bf 100644 --- a/Assets/Scripts/ChildController.cs +++ b/Assets/Scripts/ChildController.cs @@ -14,12 +14,13 @@ public class ChildController : MonoBehaviour void Awake() { InputManager.Instance.PushActiveContext("Gameplay", (int)PlayerNumber); - InputManager.Instance.AddCallback((int)PlayerNumber, HandlePlayerInput); + InputManager.Instance.AddCallback((int)PlayerNumber, HandlePlayerAxis); + InputManager.Instance.AddCallback((int)PlayerNumber, HandlePlayerButtons); _child = GetComponent(); } - private void HandlePlayerInput(MappedInput input) + private void HandlePlayerAxis(MappedInput input) { if (this == null) return; @@ -48,4 +49,14 @@ public class ChildController : MonoBehaviour _child.Move(xValue, zValue); } + private void HandlePlayerButtons(MappedInput input) + { + if (this == null) return; + + if (input.Actions.Contains("Jump")) + { + _child.Jump(); + } + } + } diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index d015127354ba6c573e36c5f26537fcf455c2afb1..c5fdf55dac9c56aa73ac2e46a70049d4d03ab671 100644 GIT binary patch delta 163 zcmeBCyrU@2z`*p2fkEI70|Ns;kOoo=45oU98^s?oG2YqylZl@ZWJOBUy