This commit is contained in:
Rapandrasmus 2023-10-07 18:12:05 +02:00
parent 67276a3b17
commit e26406b72d
2 changed files with 35 additions and 5 deletions

View file

@ -524,10 +524,11 @@ MonoBehaviour:
_monkeysLong: {fileID: -3114631264593203074, guid: f52ef60e472be3047bb77f54d5a3229d, type: 3} _monkeysLong: {fileID: -3114631264593203074, guid: f52ef60e472be3047bb77f54d5a3229d, type: 3}
_monkeysShort: {fileID: 7370747047491091311, guid: 0dfca7cb5fedf0d40aa26ffd9b4595ae, type: 3} _monkeysShort: {fileID: 7370747047491091311, guid: 0dfca7cb5fedf0d40aa26ffd9b4595ae, type: 3}
_scroll: {fileID: 6038557817912069913} _scroll: {fileID: 6038557817912069913}
_playerMonkeyAnim: {fileID: 1240570777207442752}
_jumpDistance: 8 _jumpDistance: 8
_jumpDistanceGiraffe: 32 _jumpDistanceGiraffe: 32
_jumpStartCameraDistance: 3 _jumpStartCameraDistance: 3
_giraffeCameraZoom: 10 _giraffeCameraZoom: 12
--- !u!1 &9154566379104488428 --- !u!1 &9154566379104488428
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -619,6 +620,11 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8c681a700cd16784580f97e7f10a53e6, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 8c681a700cd16784580f97e7f10a53e6, type: 3}
--- !u!95 &1240570777207442752 stripped
Animator:
m_CorrespondingSourceObject: {fileID: 6945261984245565766, guid: 8c681a700cd16784580f97e7f10a53e6, type: 3}
m_PrefabInstance: {fileID: 8166682498639938566}
m_PrefabAsset: {fileID: 0}
--- !u!4 &2661844662320053337 stripped --- !u!4 &2661844662320053337 stripped
Transform: Transform:
m_CorrespondingSourceObject: {fileID: 6171382744519440479, guid: 8c681a700cd16784580f97e7f10a53e6, type: 3} m_CorrespondingSourceObject: {fileID: 6171382744519440479, guid: 8c681a700cd16784580f97e7f10a53e6, type: 3}

View file

@ -13,6 +13,15 @@ namespace HeavenStudio.Games.Loaders
{ {
return new Minigame("animalAcrobat", "Animal Acrobat", "FFFFFF", false, false, new List<GameAction>() return new Minigame("animalAcrobat", "Animal Acrobat", "FFFFFF", false, false, new List<GameAction>()
{ {
new GameAction("bop", "Bop")
{
function = delegate
{
var e = eventCaller.currentEntity;
AnimalAcrobat.instance.Bop(e.beat, e.length);
},
resizable = true
},
new GameAction("elephant", "Elephant") new GameAction("elephant", "Elephant")
{ {
defaultLength = 4 defaultLength = 4
@ -53,6 +62,7 @@ namespace HeavenStudio.Games
[Header("Components")] [Header("Components")]
[SerializeField] private Transform _scroll; [SerializeField] private Transform _scroll;
[SerializeField] private Animator _playerMonkeyAnim;
[Header("Values")] [Header("Values")]
[SerializeField] private float _jumpDistance = 8; [SerializeField] private float _jumpDistance = 8;
@ -97,7 +107,6 @@ namespace HeavenStudio.Games
private bool _lastAnimalWasGiraffe = false; private bool _lastAnimalWasGiraffe = false;
private Util.EasingFunction.Function _funcEaseInOut; private Util.EasingFunction.Function _funcEaseInOut;
private Util.EasingFunction.Function _funcEaseIn;
private Util.EasingFunction.Function _funcEaseOut; private Util.EasingFunction.Function _funcEaseOut;
private Util.EasingFunction.Function _funcSharp; private Util.EasingFunction.Function _funcSharp;
@ -107,7 +116,6 @@ namespace HeavenStudio.Games
{ {
instance = this; instance = this;
_funcEaseInOut = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseInOutQuad); _funcEaseInOut = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseInOutQuad);
_funcEaseIn = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseInQuad);
_funcEaseOut = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseOutQuad); _funcEaseOut = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseOutQuad);
_funcSharp = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseOutQuart); _funcSharp = Util.EasingFunction.GetEasingFunction(Util.EasingFunction.Ease.EaseOutQuart);
} }
@ -120,6 +128,22 @@ namespace HeavenStudio.Games
CameraUpdate(cond); CameraUpdate(cond);
} }
public void Bop(double beat, float length)
{
if (!_playerMonkeyAnim.gameObject.activeSelf) return;
List<BeatAction.Action> actions = new();
for (int i = 0; i < length; i++)
{
actions.Add(new BeatAction.Action(beat + i, delegate
{
_playerMonkeyAnim.DoScaledAnimationAsync("PlayerBop", 0.5f);
}));
}
BeatAction.New(this, actions);
}
private int _animalCameraIndex = 0; private int _animalCameraIndex = 0;
private float _lastCameraX = 0; private float _lastCameraX = 0;
private double _cameraHoldTime = 1; private double _cameraHoldTime = 1;
@ -145,8 +169,8 @@ namespace HeavenStudio.Games
{ {
if (normalizedTravel < 0.5) if (normalizedTravel < 0.5)
{ {
float normalizedOut = Mathf.Clamp01(cond.GetPositionFromBeat(currentAnimal.startBeat - _cameraHoldTime, 1)); float normalizedOut = cond.GetPositionFromBeat(currentAnimal.startBeat - _cameraHoldTime, 1);
newZ = _funcSharp(0, _giraffeCameraZoom, normalizedOut); newZ = _funcSharp(0, _giraffeCameraZoom, Mathf.Clamp01(normalizedOut));
} }
else else
{ {