rabidus-test/Assets/LeanTween/Examples/Archived/TestingPunch.cs

183 lines
6.6 KiB
C#
Raw Permalink Normal View History

2023-07-24 16:38:13 +03:00
using UnityEngine;
using System.Collections;
using DentedPixel;
public class TestingPunch : MonoBehaviour {
public AnimationCurve exportCurve;
public float overShootValue = 1f;
private LTDescr descr;
void Start () {
//LeanTween.rotateAround(gameObject, gameObject.transform.rotation.eulerAngles, 360f, 5f).setDelay(1f).setEase(LeanTweenType.easeOutBounce);
Debug.Log( "exported curve:" + curveToString(exportCurve) );
}
void Update ()
{
LeanTween.dtManual = Time.deltaTime;
if (Input.GetKeyDown(KeyCode.Q))
{
//LeanTween.scale(this.gameObject, Vector3.one*3f, 1.0f).setEase(LeanTweenType.easeSpring).setUseManualTime(true);
//print("scale punch time independent!");
LeanTween.moveLocalX(gameObject, 5, 1).setOnComplete( () => {
Debug.Log("on complete move local X");
}).setOnCompleteOnStart(true);
GameObject light = GameObject.Find("DirectionalLight");
Light lt = light.GetComponent<Light>();
LeanTween.value(lt.gameObject, lt.intensity, 0.0f, 1.5f)
.setEase(LeanTweenType.linear)
.setLoopPingPong()
.setRepeat(-1)
.setOnUpdate((float val)=>{
lt.intensity = val;
});
}
if (Input.GetKeyDown(KeyCode.S))
{
print("scale punch!");
tweenStatically( this.gameObject );
LeanTween.scale(this.gameObject, new Vector3(1.15f, 1.15f, 1.15f), 0.6f);
LeanTween.rotateAround(this.gameObject, Vector3.forward, -360f, 0.3f).setOnComplete(() =>
{
LeanTween.rotateAround(this.gameObject, Vector3.forward, -360f, 0.4f).setOnComplete(() =>
{
LeanTween.scale(this.gameObject, new Vector3(1f, 1f, 1f), 0.1f);
LeanTween.value(this.gameObject, (v) =>
{
}, 0, 1, 0.3f).setDelay(1);
});
});
}
if (Input.GetKeyDown(KeyCode.T))
{
Vector3[] pts = new Vector3[] {new Vector3(-1f,0f,0f), new Vector3(0f,0f,0f), new Vector3(4f,0f,0f), new Vector3(20f,0f,0f)};
descr = LeanTween.move(gameObject, pts, 15f).setOrientToPath(true).setDirection(1f).setOnComplete( ()=>{
Debug.Log("move path finished");
});
}
if (Input.GetKeyDown(KeyCode.Y)) // Reverse the move path
{
descr.setDirection(-descr.direction);
}
if (Input.GetKeyDown(KeyCode.R))
{
// LeanTween.rotate(this.gameObject, Vector3.one, 1.0f).setEase(LeanTweenType.punch);
LeanTween.rotateAroundLocal(this.gameObject, this.transform.forward, -80f, 5.0f).setPoint(new Vector3(1.25f, 0f, 0f));
print("rotate punch!");
}
if (Input.GetKeyDown(KeyCode.M))
{
// LeanTween.move(this.gameObject, new Vector3(0f,0f,1f), 1.0f).setEase(LeanTweenType.punch);
print("move punch!");
Time.timeScale = 0.25f;
float start = Time.realtimeSinceStartup;
LeanTween.moveX( this.gameObject, 1f, 1f).setOnComplete( destroyOnComp ).setOnCompleteParam( this.gameObject ).setOnComplete( ()=>{
float end = Time.realtimeSinceStartup;
float diff = end - start;
Debug.Log("start:"+start+" end:"+end+" diff:"+diff+" x:"+this.gameObject.transform.position.x);
}).setEase(LeanTweenType.easeInBack).setOvershoot( overShootValue ).setPeriod(0.3f);
}
if (Input.GetKeyDown(KeyCode.C))
{
LeanTween.color( this.gameObject, new Color(1f, 0f, 0f, 0.5f), 1f);
Color to = new Color(Random.Range(0f,1f),0f,Random.Range(0f,1f),0.0f);
GameObject l = GameObject.Find("LCharacter");
LeanTween.color( l, to, 4.0f ).setLoopPingPong(1).setEase(LeanTweenType.easeOutBounce);
}
if (Input.GetKeyDown(KeyCode.E))
{
LeanTween.delayedCall(gameObject,0.3f, delayedMethod).setRepeat(4).setOnCompleteOnRepeat(true).setOnCompleteParam( "hi" );
}
if (Input.GetKeyDown(KeyCode.V))
{
LeanTween.value( gameObject, updateColor, new Color(1.0f,0.0f,0.0f,1.0f), Color.blue, 4.0f );//.setRepeat(2).setLoopPingPong().setEase(LeanTweenType.easeOutBounce);
}
if (Input.GetKeyDown(KeyCode.P))
{
LeanTween.delayedCall(0.05f, enterMiniGameStart).setOnCompleteParam( new object[]{""+5} );
}
if(Input.GetKeyDown(KeyCode.U)){
#if !UNITY_FLASH
LeanTween.value(gameObject, (Vector2 val)=>{
// Debug.Log("tweening vec2 val:"+val);
transform.position = new Vector3(val.x, transform.position.y, transform.position.z);
}, new Vector2(0f,0f), new Vector2(5f,100f), 1f ).setEase(LeanTweenType.easeOutBounce);
GameObject l = GameObject.Find("LCharacter");
Debug.Log("x:"+l.transform.position.x+" y:"+l.transform.position.y);
LeanTween.value(l, new Vector2( l.transform.position.x, l.transform.position.y), new Vector2( l.transform.position.x, l.transform.position.y+5), 1f ).setOnUpdate(
(Vector2 val)=>{
Debug.Log("tweening vec2 val:"+val);
l.transform.position = new Vector3(val.x, val.y, transform.position.z);
}
);
#endif
}
}
static void tweenStatically( GameObject gameObject ){
Debug.Log("Starting to tween...");
LeanTween.value(gameObject, (val)=>{
Debug.Log("tweening val:"+val);
}, 0f, 1f, 1f);
}
void enterMiniGameStart( object val ){
object[] arr = (object [])val;
int lvl = int.Parse((string)arr[0]);
Debug.Log("level:"+lvl);
}
void updateColor( Color c ){
GameObject l = GameObject.Find("LCharacter");
// Debug.Log("new col:"+c);
l.GetComponent<Renderer>().material.color = c;
}
void delayedMethod( object myVal ){
string castBack = myVal as string;
Debug.Log("delayed call:"+Time.time +" myVal:"+castBack);
}
void destroyOnComp( object p ){
GameObject g = (GameObject)p;
Destroy( g );
}
string curveToString( AnimationCurve curve) {
string str = "";
for(int i = 0; i < curve.length; i++){
str += "new Keyframe("+curve[i].time+"f, "+curve[i].value+"f)";
if(i<curve.length-1)
str += ", ";
}
return "new AnimationCurve( "+str+" )";
}
}