From 098cdefe142441649222ea5acc9604f69c4f65e3 Mon Sep 17 00:00:00 2001 From: Patrice Vignola Date: Sat, 22 Aug 2015 05:31:34 -0400 Subject: [PATCH] Add the behavior of the floor changing color when the mom enters the room --- Assets/Materials/LavaFloor.mat | Bin 0 -> 4896 bytes Assets/Materials/LavaFloor.mat.meta | 8 ++++ Assets/Materials/NormalFloor.mat | Bin 0 -> 4896 bytes Assets/Materials/NormalFloor.mat.meta | 8 ++++ Assets/Prefabs/Child.prefab | Bin 10132 -> 10236 bytes Assets/Prefabs/Floor.prefab | Bin 0 -> 7444 bytes Assets/Prefabs/Floor.prefab.meta | 8 ++++ Assets/Scenes/PatScene.unity | Bin 33444 -> 31064 bytes Assets/Scripts/Child.cs | 10 ++++- Assets/Scripts/Floor.cs | 35 ++++++++++++++++++ Assets/Scripts/Floor.cs.meta | 12 ++++++ Assets/Scripts/IMomObserver.cs | 8 ++++ Assets/Scripts/IMomObserver.cs.meta | 12 ++++++ Assets/Scripts/MomBehavior.cs | 51 ++++++++++++++++++++------ 14 files changed, 139 insertions(+), 13 deletions(-) create mode 100644 Assets/Materials/LavaFloor.mat create mode 100644 Assets/Materials/LavaFloor.mat.meta create mode 100644 Assets/Materials/NormalFloor.mat create mode 100644 Assets/Materials/NormalFloor.mat.meta create mode 100644 Assets/Prefabs/Floor.prefab create mode 100644 Assets/Prefabs/Floor.prefab.meta create mode 100644 Assets/Scripts/Floor.cs create mode 100644 Assets/Scripts/Floor.cs.meta create mode 100644 Assets/Scripts/IMomObserver.cs create mode 100644 Assets/Scripts/IMomObserver.cs.meta diff --git a/Assets/Materials/LavaFloor.mat b/Assets/Materials/LavaFloor.mat new file mode 100644 index 0000000000000000000000000000000000000000..d15539c2c99384653b94699a4c228def7cb71393 GIT binary patch literal 4896 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 I+@;6=0BpG!p#T5? literal 0 HcmV?d00001 diff --git a/Assets/Materials/NormalFloor.mat.meta b/Assets/Materials/NormalFloor.mat.meta new file mode 100644 index 0000000..b1c4564 --- /dev/null +++ b/Assets/Materials/NormalFloor.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 32997c9d92ac99e4aa7f4a0f558d918e +timeCreated: 1440235608 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Child.prefab b/Assets/Prefabs/Child.prefab index 9102e2f173465375aa571d1fd509923a9372757c..80ded236d4dcc019cb29bbf6ba8ac703e832b3e5 100644 GIT binary patch delta 229 zcmbQ@|Hof|fkD}WfkFKb0|Ns;ke#qm;1QE(xNV?c(62KR4yBvL{=3L9DFbDjHu||U zP4;8m#;{#-Icd zpPVSEIoXKKSu7x+q{v3aH$T@YH6yVsGr!1=0m#{0!nROqvV`IV$pWDI|3FX#q(R`^ r%5`A6V=|+XG~jCKf3tvc0rTVnb&kyqY9fpPNgFc% delta 154 zcmez4KgC~wfkEjF1B3b$1_lOx1_ot@jRKFDM5AH^L+`O4dOZEMQL^Oq*P#kP+3bye z?o5;YSocg0V$0rqg>8Y<g8YIX2fQr!Y@a)0ixv{ssVr-!HlV diff --git a/Assets/Prefabs/Floor.prefab b/Assets/Prefabs/Floor.prefab new file mode 100644 index 0000000000000000000000000000000000000000..8819686f10e92b94017195573d36ab9521dc79a1 GIT binary patch literal 7444 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 delta 3629 zcma)8dr*|u6~A{`JFBDx@~JdErDAMB<)*47AIrlv7{dVS4`Qj1NE+M*)2=U~LLWmWZM=**_C1oY|_m_z;=I7_79l$M2 zKJ4FBH~Rh77f$sacfB3>gQf4JvwjXp!rp`}D;p#1 zNl^)`5yb0qLF{kZwu)MoSc)8AV|r7t?E=qs@wNupII z)AdZNOrfT%jnT=Jo~!~ZM3pmFj*TAC9F`RWL!t4Kog094z&~$+ANshVnCjQg4DG~T z9)Ud;ECtDG-B$!f*~C1EeeuKoS-(!rg;>U5wT^S4TfuUnmott>3X?=3!%U2?pugr> z`_pwHqzPg>qKTC`V*%I8d=Gdo&q@&QLV_!SmtxFOZDCo!rC{%F@a!d1;Z&Axm4doW zxg9S-$WGW8=SDXs#d~n>2hZVgZ|b;7^;pdL>Nq^!Irplhj5^D>>dtCjE!9ebggtS0 z^20cL`WfczX$^yTkes_baks{H5br5(0oS|p40yKhPq@C7VbIN6VyTt!+pM9P4OX5$k$uz3H5qgMn*!=XbWmPeFNT*GceMlR9dwDL9I9B z8yQwmThKG0K~FI?!@Vx=NPrFZdIq(IVYPI~<5vn=PzxN=+Fb0YVaPuc2ziD>^$p-^ z4u(eBTuq*_ZN4DDUN*RZ)eH{|YBaI6jPkeTMsMZbF%{(_=nsDI&p$sgdH;8Q_58Kp z-FbHAZ+wonb232u@V!w^UsSD^OKEClw#+9-kyUP>UFMCLKW^rExQOScimW{wu!7G? zDyT+vgA@;7&Q~PYkx#pR?dgrkJK(agOur`eGRExiX=j|v@{n&38K>}?BAQ>9n8r{g z0^~9J-~4}kO>U2V&~!r9e)ruDK5@d0E9?NTSES#V#|_yGWKQ5UigeitLspnXzuj#& zO(fBU-S#!%l&@OJ9lxMX+D)3;ZAr~DxE-lf;DQ>}HjLnMlt)4Mt?hJao8Og|?=bG&m)6hH#ExztD zaq(dgzcw_TxHJ2}b2-h1?0Y+X%EOtJ^e)mE<<$zdb{Vn)jQoiU zhy=CY%(m^@Se6dAd}s27EAi%7Y=*2bllHgRP5w;!MvJ{-7MhDw)A32?Lu{oq>#N>R zWj8jkY%+`9Yq6);@U{O5*w1OM#Zoa1j<1c2iu9nP#)8X`od7Y? zP?5fujfQLt-;2fGPriTM1645#+2X>TzSKU#vSfTu;^G@ueWN`*#=BMDj;AriZ>Han zP38-63^G2?R->l|44DI+wF7vyB7LJ?L*|9795|MPbeYePMb_dd+!aM4oo(H`47nGx zkG+OBt}mKvwWojd`~0Jq+SfF^yxwD9`#|n%l-Tx1`mAj`)w+hInNGXzk%`gsu5U`Y zgqqubM6GT|bgTPWNw0LSkV*7r=SFh$n(3M+9siePR~6K1x-3b_?CAL#%6H{cBxI&= zR~Qnx?*;OA*`DbhQ`YKfx_cj%t#NN5|EQTtJId8K;nv4U$5u!`>d>Xto^o(aomF_B z>~zq1k40(!Wq&z2dJK!v*`C4#!??4*og(|p_y_k&e-+->)%(5yo(~Odp&RXH@(<+D z?GBro&kmF?U^)AB%;_ywSlC;t#uUpZCC9P<;En%Y{uctZJy5%uz1~j#I UgRb_ik+mk&$a%nK#urfh57~w^k^lez diff --git a/Assets/Scripts/Child.cs b/Assets/Scripts/Child.cs index 00b4420..c58226f 100644 --- a/Assets/Scripts/Child.cs +++ b/Assets/Scripts/Child.cs @@ -2,12 +2,13 @@ using System.Collections; [RequireComponent(typeof(Rigidbody))] -public class Child : MonoBehaviour +public class Child : MonoBehaviour { public float Speed = 10f; public float JumpForce = 10f; public GameObject GroundCheck; public Pillow pillow; + public MomBehavior Mom; private Rigidbody _rb; private bool _isGrounded = false; @@ -37,6 +38,13 @@ public class Child : MonoBehaviour void Update() { _isGrounded = IsGrounded(); + + if (Mom.IsInRoom && !_isSleeping) + { + // TODO: Remove a life, kill the player, end the game, etc. + + Debug.Log("Player " + _index + " is being spotted by mom."); + } } void OnTriggerEnter(Collider other) { diff --git a/Assets/Scripts/Floor.cs b/Assets/Scripts/Floor.cs new file mode 100644 index 0000000..70e0792 --- /dev/null +++ b/Assets/Scripts/Floor.cs @@ -0,0 +1,35 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(MeshRenderer))] +public class Floor : MonoBehaviour +{ + public MomBehavior Mom; + public Material NormalMaterial; + public Material LavaMaterial; + + private MeshRenderer _renderer; + + void Awake() + { + _renderer = GetComponent(); + Mom.OnEnterRoom += ChangeToNormalFloor; + Mom.OnLeaveRoom += ChangeToLavaFloor; + } + + private void ChangeToNormalFloor() + { + _renderer.material = NormalMaterial; + } + + private void ChangeToLavaFloor() + { + _renderer.material = LavaMaterial; + } + + void OnDestroy() + { + Mom.OnEnterRoom -= ChangeToNormalFloor; + Mom.OnLeaveRoom -= ChangeToLavaFloor; + } +} diff --git a/Assets/Scripts/Floor.cs.meta b/Assets/Scripts/Floor.cs.meta new file mode 100644 index 0000000..7128f7e --- /dev/null +++ b/Assets/Scripts/Floor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 02652121580aeae49b2763bdc924ad87 +timeCreated: 1440233203 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/IMomObserver.cs b/Assets/Scripts/IMomObserver.cs new file mode 100644 index 0000000..5ad39b3 --- /dev/null +++ b/Assets/Scripts/IMomObserver.cs @@ -0,0 +1,8 @@ +using UnityEngine; +using System.Collections; + +public interface IMomObserver +{ + void NotifyWarning(); + void Notify(); +} diff --git a/Assets/Scripts/IMomObserver.cs.meta b/Assets/Scripts/IMomObserver.cs.meta new file mode 100644 index 0000000..e2b30e7 --- /dev/null +++ b/Assets/Scripts/IMomObserver.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b12285e2e2df80d409ada81aa2ba22be +timeCreated: 1440233305 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MomBehavior.cs b/Assets/Scripts/MomBehavior.cs index 4c681b7..b6f95ac 100644 --- a/Assets/Scripts/MomBehavior.cs +++ b/Assets/Scripts/MomBehavior.cs @@ -1,24 +1,35 @@ using UnityEngine; using System.Collections; using UnityEngine.UI; +using System.Collections.Generic; +using System; public class MomBehavior : MonoBehaviour { - public Child[] Children; + public Action OnWarning; + public Action OnEnterRoom; + public Action OnLeaveRoom; public Text WarningText; public float MinTriggerTime = 60f; public float MaxTriggerTime = 90f; public float WarningHeadsupTime = 5f; + public float MotherStayTime = 2f; private float _elapsedTime = 0f; private float _nextTriggerTime; + private bool _isInRoom; + + public bool IsInRoom + { + get { return _isInRoom; } + } + void Awake() { _nextTriggerTime = GetNextTriggerTime(); - Debug.Log("NextTrigger: " + _nextTriggerTime); } void Update() @@ -30,23 +41,39 @@ public class MomBehavior : MonoBehaviour if (_elapsedTime >= _nextTriggerTime - WarningHeadsupTime && _elapsedTime < _nextTriggerTime) { WarningText.gameObject.SetActive(true); + + if (OnWarning != null) + { + OnWarning(); + } } else if (_elapsedTime >= _nextTriggerTime) { WarningText.gameObject.SetActive(false); _nextTriggerTime = GetNextTriggerTime(); - foreach (Child child in Children) - { - if (!child.IsSleeping) - { - // TODO: Do something (end the game? kill the player? make him lose 1 life? etc.) - - Debug.Log("Child " + child.Index + " got found by Mommy."); - } - } - _elapsedTime = 0f; + + StartCoroutine(StayInRoom()); + } + } + + private IEnumerator StayInRoom() + { + if (OnEnterRoom != null) + { + OnEnterRoom(); + } + + _isInRoom = true; + + yield return new WaitForSeconds(MotherStayTime); + + _isInRoom = false; + + if (OnLeaveRoom != null) + { + OnLeaveRoom(); } }