safety checks

This commit is contained in:
Glence 2023-03-26 20:38:03 +08:00
parent 0f9afc2a18
commit 2abb1ce697
2 changed files with 65 additions and 66 deletions

View File

@ -36,9 +36,10 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
[NonSerialized] [NonSerialized]
public IEnumerable<Transform> patrolPointPool; public IEnumerable<Transform> patrolPointPool;
private Transform transform;
public void Reset() public void Reset()
{ {
Transform transform = GetComponent<Transform>();
StateMachine machine = GetScript<StateMachine>(); StateMachine machine = GetScript<StateMachine>();
if (transform && machine) if (transform && machine)
{ {
@ -68,11 +69,7 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
AudioHandler.audioClipHandlers["HO_footsteps"] = SHADE.Audio.CreateAudioClip("event:/Homeowner/homeowner_footsteps"); AudioHandler.audioClipHandlers["HO_footsteps"] = SHADE.Audio.CreateAudioClip("event:/Homeowner/homeowner_footsteps");
patrolPointPool = patrolPointParent.GetComponentsInChildren<Transform>(); patrolPointPool = patrolPointParent.GetComponentsInChildren<Transform>();
Transform transform = GetComponent<Transform>(); transform = GetComponent<Transform>();
if (transform)
{
startPos = transform.GlobalPosition;
}
atk = false; atk = false;
@ -81,6 +78,8 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
protected override void start() protected override void start()
{ {
//attackHitbox.SetActive(false); //attackHitbox.SetActive(false);
if (transform)
startPos = transform.GlobalPosition;
} }

View File

@ -7,67 +7,67 @@ using System.Threading.Tasks;
namespace SHADE_Scripting.UI namespace SHADE_Scripting.UI
{ {
public class SingleScaleBounce: Script public class SingleScaleBounce : Script
{
[NonSerialized]
TweenThread thread;
[NonSerialized]
Vector3 defaultScale;
public float durationUp = 0.15f;
public float durationDown = 0.3f;
public float scaleSize = 1.2f;
[NonSerialized]
private bool scaleUp = false;
private Transform trans;
protected override void awake()
{ {
[NonSerialized] trans = GetComponent<Transform>();
TweenThread thread; if (trans != null)
{
[NonSerialized] defaultScale = trans.LocalScale;
Vector3 defaultScale; }
public float durationUp = 0.15f;
public float durationDown = 0.3f;
public float scaleSize = 1.2f;
[NonSerialized]
private bool scaleUp = false;
protected override void awake()
{
Transform trans = GetComponent<Transform>();
if(trans != null)
{
defaultScale = trans.LocalScale;
}
}
protected override void start()
{
thread = TweenManager.CreateTweenThread(0.0f,1.0f,1.0f,EASING_METHOD.EASE_IN_SINE);
}
protected override void update()
{
if(scaleUp)
{
if(thread.IsCompleted())
{
scaleUp = false;
thread.duration = durationDown;
thread.ResetInvert();
}
}
Transform trans = GetComponent<Transform>();
if(trans != null)
{
trans.LocalScale = defaultScale * thread.GetValue();
}
}
public void ScaleBounceOnce()
{
scaleUp = true;
thread.duration = durationUp;
thread.Reset(1.0f, scaleSize);
}
} }
protected override void start()
{
if(thread != null)
thread = TweenManager.CreateTweenThread(0.0f, 1.0f, 1.0f, EASING_METHOD.EASE_IN_SINE);
}
protected override void update()
{
if (scaleUp)
{
if (thread != null && thread.IsCompleted())
{
scaleUp = false;
thread.duration = durationDown;
thread.ResetInvert();
}
}
if (trans && thread != null)
trans.LocalScale = defaultScale * thread.GetValue();
}
public void ScaleBounceOnce()
{
scaleUp = true;
if (thread != null)
{
thread.duration = durationUp;
thread.Reset(1.0f, scaleSize);
}
}
}
} }