only allow using elevator while on it
This commit is contained in:
@@ -43,7 +43,8 @@ GameObject:
|
||||
- component: {fileID: 8648774459861283546}
|
||||
- component: {fileID: 716647553232511872}
|
||||
- component: {fileID: 2841556225424433569}
|
||||
m_Layer: 0
|
||||
- component: {fileID: 5292547662050914046}
|
||||
m_Layer: 7
|
||||
m_Name: Elevator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -101,6 +102,27 @@ Animator:
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!65 &5292547662050914046
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1636625108852260585}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 2, z: 1}
|
||||
m_Center: {x: 0, y: 1, z: 0}
|
||||
--- !u!1 &2903613370134496792
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -272,7 +294,7 @@ Transform:
|
||||
- {fileID: 6915102081068721723}
|
||||
- {fileID: 4453669748914392433}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -1
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6525843738508825059
|
||||
MonoBehaviour:
|
||||
|
||||
@@ -8,7 +8,7 @@ using LogType = EscapeRoomEngine.Engine.Runtime.Utilities.LogType;
|
||||
|
||||
namespace Station46.Modules.Elevated_Platform.Scripts
|
||||
{
|
||||
[RequireComponent(typeof(Animator))]
|
||||
[RequireComponent(typeof(Animator), typeof(Collider))]
|
||||
public class PlatformElevator : MonoBehaviour
|
||||
{
|
||||
public enum Status
|
||||
@@ -34,7 +34,11 @@ namespace Station46.Modules.Elevated_Platform.Scripts
|
||||
case Status.Bottom:
|
||||
case Status.Top:
|
||||
ReleasePlayer();
|
||||
_button.Enable();
|
||||
if (!_leftElevatorWhileMoving)
|
||||
{
|
||||
_button.Enable();
|
||||
}
|
||||
_leftElevatorWhileMoving = false;
|
||||
break;
|
||||
case Status.Moving:
|
||||
_button.Disable();
|
||||
@@ -49,6 +53,7 @@ namespace Station46.Modules.Elevated_Platform.Scripts
|
||||
private Status _status = Status.Bottom;
|
||||
private Animator _animator;
|
||||
private Transform _previousPlayerParent;
|
||||
private bool _leftElevatorWhileMoving;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
@@ -104,5 +109,28 @@ namespace Station46.Modules.Elevated_Platform.Scripts
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (_status != Status.Moving && other.CompareTag("MainCamera"))
|
||||
{
|
||||
_button.Enable();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
if (other.CompareTag("MainCamera"))
|
||||
{
|
||||
if (_status == Status.Moving)
|
||||
{
|
||||
_leftElevatorWhileMoving = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
_button.Disable();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user