3002e48350
* add mouse controller * support different control styles in options deprecate old input check methods * fully functional input actions system * btsds InputAction * blue bear InputAction * more games fix bugs with some input related systems * coin toss re-toss * cheer readers touch * dog ninja touch * multiple games * last of the easy games' touch * more specialized games * specialized games 2 * finish ktb games * remove legacy settings disclaimer * "only" two games left * karate man touch * rockers touch still needs fixes and bad judge strum * DSGuy flicking animation * playstyle chart property * improve performance of minigame preloading * improve look of cursor make assetbundles use chunk-based compression refactor assetbundle loading methods a bit * prime conductor stream playback to stabilize seeking operations * fix air rally swing on pad release * use virtual mouse pointer * add UniTask * make BeatAction use UniTask * implement UniTask to replace some coroutines * add touch style UI elements and effects games now support the ability to define two cursor colours if they need split screen touch inputs * update plugins and buildscript * implement thresholded pointer position clipping * fix clamping * instant show / hide fix discord game SDK crashes
43 lines
870 B
C#
43 lines
870 B
C#
using UnityEngine;
|
|
|
|
public class ScaleByVelocity : MonoBehaviour
|
|
{
|
|
public enum Axis { X, Y }
|
|
|
|
public float bias = 1f;
|
|
public float strength = 1f;
|
|
public Axis axis = Axis.Y;
|
|
public float size;
|
|
|
|
public new Rigidbody2D rigidbody;
|
|
|
|
private Vector2 startScale;
|
|
|
|
private void Start()
|
|
{
|
|
startScale = transform.localScale;
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
var velocity = rigidbody.velocity.magnitude;
|
|
|
|
/*if (Mathf.Approximately (velocity, 0f))
|
|
return;*/
|
|
|
|
var amount = velocity * strength + bias;
|
|
var inverseAmount = 1.0f;
|
|
if (velocity > 0.4f)
|
|
inverseAmount = (1f / amount) * startScale.magnitude;
|
|
|
|
switch (axis)
|
|
{
|
|
case Axis.X:
|
|
transform.localScale = new Vector3(amount - 0.414214f, inverseAmount, 1f);
|
|
return;
|
|
case Axis.Y:
|
|
transform.localScale = new Vector3(Mathf.Clamp(inverseAmount, 0.6f, 1f), amount, 1f);
|
|
return;
|
|
}
|
|
}
|
|
} |