HeavenStudioPlus/Assets/Scripts/Games/LumBEARjack/LBJObjectRotate.cs

64 lines
2.4 KiB
C#
Raw Normal View History

LumBEARjack (#734) * Heh * prefab cat * minigame script + sounds imported * more catgrab * oops * functional objects non visual * More cat ghrab 2 * persist/stretchy logs + cue disable sound + sigh * finished cat grab * sdfsdfsdf * oops * Oops. * Freedom * More * more anime * anims almost dune * all anims * Oops. * Fixing bad animation * I have made a severe and continuous lapse in judgement * bear bop + cut + whiff visuals implemented * rest visuals implemented * added log visuals cut * accomadation for persist/stretch * Oops345 * CATS! * sorting layer oops * fix catgrab object being flipped * bug fix and huh choice * sorting layer fix * anim fixes * upscale almost * upscale done * Huge zoom in * left cat put * two main cats done * particles for main logs * Particles implemented * particle tweaks * bg cats placed * bg cats + zoom toggle * slide offset * more bg cat * new object sheet * bg cats final * more particle * particles fr * Oops * catdance update * I have created an Issue * fixed a lot of shit * Paricle fix * particle fix again im sorry * object upscale wip and more * Mistakes * freezer particle and tweaks * resorted * more particle nonsense im sorry everything hurts * freezer break implement * penguin fix * sorry * halves + upscales done + particles done * fixed particles * particle fixes 2000 * fixed cat dance and rest * snow * icon * oops232323 * Sigh * snow implementation * baby done * layering fix * actual layering fix * particle tweaks * windsnowshit * new rotation * rotation pivots set * all particles should be good now * bat fix * bg cats work better * miss implemented * layer arm fix * rotation changed * expose camera ease + spam prevention * it was just 1 beat long * custom objects * custom objects initial implementation * bomb + ball fix * new sounds * oops * More * big ball implementation 2 * Oops. * Update LBJCatMove.cs --------- Co-authored-by: ev <85412919+iloveoatmeal2022@users.noreply.github.com> Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
2024-03-04 03:50:39 +00:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HeavenStudio.Util;
namespace HeavenStudio.Games.Scripts_LumBEARjack
{
public class LBJObjectRotate : MonoBehaviour
{
[Header("Parameters")]
[SerializeField] private float _rotationLeft = 22f;
[SerializeField] private float _rotationRight = -22f;
[SerializeField] private EasingFunction.Ease _ease = EasingFunction.Ease.EaseInOutQuad;
[Header("References")]
[SerializeField] private Transform _pivotLeft;
[SerializeField] private Transform _pivotRight;
[SerializeField] private Transform _pivotSingle;
[SerializeField] private Transform[] _objectsToMove;
public void Move(double beat, double length, bool right)
{
float normalized = Conductor.instance.GetPositionFromBeat(beat - length, length * 2, false);
if (!right) normalized = 1 - normalized;
var func = EasingFunction.GetEasingFunction(_ease);
if (normalized <= 0.5f)
{
foreach (var o in _objectsToMove)
{
if (o.parent != _pivotRight) o.SetParent(_pivotRight, true);
}
float newRotation = Mathf.Min(func(_rotationRight, -_rotationRight, normalized), 0);
_pivotRight.localEulerAngles = new Vector3(0, 0, newRotation);
}
else
{
foreach (var o in _objectsToMove)
{
if (o.parent != _pivotLeft) o.SetParent(_pivotLeft, true);
}
float newRotation = Mathf.Max(func(-_rotationLeft, _rotationLeft, normalized), 0);
_pivotLeft.localEulerAngles = new Vector3(0, 0, newRotation);
}
}
public void SingleMove(double beat, double length, bool right)
{
float normalized = Conductor.instance.GetPositionFromBeat(beat - length, length * 2, false);
if (!right) normalized = 1 - normalized;
var func = EasingFunction.GetEasingFunction(_ease);
foreach (var o in _objectsToMove)
{
if (o.parent != _pivotSingle) o.SetParent(_pivotSingle, true);
}
float newRotation = func(_rotationRight, _rotationLeft, normalized);
_pivotSingle.localEulerAngles = new Vector3(0, 0, newRotation);
}
}
}