base for jumppad
This commit is contained in:
parent
87f7b42ec3
commit
10555f646c
|
@ -2,15 +2,60 @@
|
||||||
using SHADE_Scripting.Audio;
|
using SHADE_Scripting.Audio;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
|
|
||||||
public class JumpPad : Script
|
public class JumpPad : Script
|
||||||
{
|
{
|
||||||
|
private Transform tran;
|
||||||
|
private float defaultScale;
|
||||||
|
public float scaleMaxSize = 2.0f;
|
||||||
|
public float scaleDuration = 0.25f;
|
||||||
|
private bool landed = false;
|
||||||
|
private bool scaleUpDone = false;
|
||||||
|
|
||||||
|
[NonSerialized]
|
||||||
|
private TweenThread scaleUp;
|
||||||
|
[NonSerialized]
|
||||||
|
private TweenThread scaleDown;
|
||||||
|
|
||||||
protected override void awake()
|
protected override void awake()
|
||||||
{
|
{
|
||||||
AudioHandler.audioClipHandlers["SFXJumpPad"] = Audio.CreateAudioClip("event:/Props/jumppad_boing");
|
AudioHandler.audioClipHandlers["SFXJumpPad"] = Audio.CreateAudioClip("event:/Props/jumppad_boing");
|
||||||
|
|
||||||
|
tran = GameObject.GetComponent<Transform>();
|
||||||
|
if (!tran)
|
||||||
|
Debug.LogError("NO TRANSFORM");
|
||||||
|
|
||||||
|
defaultScale = tran.LocalScale.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
scaleUp = TweenManager.CreateTweenThread(scaleDuration, tran.LocalScale.y, scaleMaxSize, EASING_METHOD.EASE_IN_SINE);
|
||||||
|
scaleDown = TweenManager.CreateTweenThread(scaleDuration, tran.LocalScale.y, defaultScale, EASING_METHOD.EASE_IN_SINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void update()
|
protected override void update()
|
||||||
{
|
{
|
||||||
|
if (landed && tran)
|
||||||
|
{
|
||||||
|
tran.LocalScale = new Vector3(tran.LocalScale.x, scaleUp.GetValue(), tran.LocalScale.z);
|
||||||
|
if (scaleUp.IsCompleted())
|
||||||
|
{
|
||||||
|
landed = false;
|
||||||
|
scaleUpDone = true;
|
||||||
|
scaleDown.Reset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (scaleUpDone && !landed)
|
||||||
|
{
|
||||||
|
tran.LocalScale = new Vector3(tran.LocalScale.x, scaleDown.GetValue(), tran.LocalScale.z);
|
||||||
|
if (scaleDown.IsCompleted())
|
||||||
|
{
|
||||||
|
scaleUpDone = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void onCollisionEnter(CollisionInfo info)
|
protected override void onCollisionEnter(CollisionInfo info)
|
||||||
|
@ -20,7 +65,10 @@ public class JumpPad : Script
|
||||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXJumpPad"], GameObject.EntityId);
|
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXJumpPad"], GameObject.EntityId);
|
||||||
AudioHandler.audioClipHandlers["SFXJumpPad"].Play();
|
AudioHandler.audioClipHandlers["SFXJumpPad"].Play();
|
||||||
info.GameObject.GetScript<PlayerController>().landedOnJumpPad = true;
|
info.GameObject.GetScript<PlayerController>().landedOnJumpPad = true;
|
||||||
|
landed = true;
|
||||||
|
scaleUp.Reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,6 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace SHADE_Scripting.UI
|
|
||||||
{
|
|
||||||
|
|
||||||
public enum EASING_METHOD
|
public enum EASING_METHOD
|
||||||
{
|
{
|
||||||
EASE_IN_SINE,
|
EASE_IN_SINE,
|
||||||
|
@ -26,15 +23,18 @@ namespace SHADE_Scripting.UI
|
||||||
case EASING_METHOD.EASE_IN_SINE:
|
case EASING_METHOD.EASE_IN_SINE:
|
||||||
{
|
{
|
||||||
return EaseInSine(value);
|
return EaseInSine(value);
|
||||||
}break;
|
}
|
||||||
|
break;
|
||||||
case EASING_METHOD.EASE_OUT_SINE:
|
case EASING_METHOD.EASE_OUT_SINE:
|
||||||
{
|
{
|
||||||
return EaseOutSine(value);
|
return EaseOutSine(value);
|
||||||
}break;
|
}
|
||||||
|
break;
|
||||||
case EASING_METHOD.EASE_OUT_BOUNCE:
|
case EASING_METHOD.EASE_OUT_BOUNCE:
|
||||||
{
|
{
|
||||||
return EaseOutBounce(value);
|
return EaseOutBounce(value);
|
||||||
}break;
|
}
|
||||||
|
break;
|
||||||
case EASING_METHOD.EASE_IN_BOUNCE:
|
case EASING_METHOD.EASE_IN_BOUNCE:
|
||||||
{
|
{
|
||||||
return EaseInBounce(value);
|
return EaseInBounce(value);
|
||||||
|
@ -71,7 +71,8 @@ namespace SHADE_Scripting.UI
|
||||||
if (value < 1.0f / d1)
|
if (value < 1.0f / d1)
|
||||||
{
|
{
|
||||||
return n1 * value * value;
|
return n1 * value * value;
|
||||||
} else if (value < 2.0f / d1)
|
}
|
||||||
|
else if (value < 2.0f / d1)
|
||||||
{
|
{
|
||||||
return n1 * (value -= 2.25f / d1) * value + 0.9375f;
|
return n1 * (value -= 2.25f / d1) * value + 0.9375f;
|
||||||
}
|
}
|
||||||
|
@ -96,4 +97,4 @@ namespace SHADE_Scripting.UI
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -4,10 +4,6 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
|
|
||||||
namespace SHADE_Scripting.UI
|
|
||||||
{
|
|
||||||
|
|
||||||
public class TweenThread
|
public class TweenThread
|
||||||
{
|
{
|
||||||
private float timer = 0.0f;
|
private float timer = 0.0f;
|
||||||
|
@ -167,7 +163,6 @@ namespace SHADE_Scripting.UI
|
||||||
if (Instance == null)
|
if (Instance == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
|
||||||
TweenThread thread = new TweenThread(duration, startValue, endValue, method);
|
TweenThread thread = new TweenThread(duration, startValue, endValue, method);
|
||||||
Instance.threadList.Add(thread);
|
Instance.threadList.Add(thread);
|
||||||
thread.Reset();
|
thread.Reset();
|
||||||
|
@ -187,7 +182,4 @@ namespace SHADE_Scripting.UI
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue