HeavenStudioPlus/Assets/Scripts/Games/LumBEARjack/LBJMissObject.cs
Rapandrasmus e1f4c0a38d 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

58 lines
2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HeavenStudio.Util;
namespace HeavenStudio.Games.Scripts_LumBEARjack
{
public class LBJMissObject : SuperCurveObject
{
[Header("Properties")]
[SerializeField] private float _rot;
[SerializeField] private float _height;
[SerializeField] private float _beatDuration;
[SerializeField] private float _jumpDistanceX;
[SerializeField] private float _jumpDistanceY;
private Path _path;
private SpriteRenderer _objectSr;
private double _startBeat;
private bool _right;
private void Awake()
{
_path = new Path()
{
positions = new PathPos[2],
};
_path.positions[0].height = _height;
_path.positions[0].duration = _beatDuration;
}
public void Activate(Transform objectToMove, SpriteRenderer objectSr)
{
_startBeat = Conductor.instance.songPositionInBeatsAsDouble;
_objectSr = objectSr;
transform.position = objectToMove.position;
objectToMove.SetParent(transform, true);
_right = objectToMove.localEulerAngles.z <= 180;
_path.positions[0].pos = transform.localPosition;
_path.positions[1].pos = transform.localPosition + new Vector3(_right ? _jumpDistanceX : -_jumpDistanceX, _jumpDistanceY);
Update();
}
private void Update()
{
float normalized = Mathf.Max(Conductor.instance.GetPositionFromBeat(_startBeat, _beatDuration, false), 0);
_objectSr.color = new Color(1, 1, 1, 1 - Mathf.Clamp01(normalized));
transform.localPosition = GetPathPositionFromBeat(_path, Conductor.instance.songPositionInBeatsAsDouble, _startBeat);
float newRot = Mathf.Lerp(0, _right ? _rot : -_rot, normalized);
transform.localEulerAngles = new Vector3(0, 0, newRot);
if (normalized > 1) Destroy(gameObject);
}
}
}