code cleanup

This commit is contained in:
Mytiaoga 2024-02-14 02:17:03 +08:00
parent ead3f3c7f6
commit fc1e2e8ecb
6 changed files with 93 additions and 959 deletions

View file

@ -613,15 +613,15 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
SoundSequences: [] SoundSequences: []
scheduledInputs: [] scheduledInputs: []
labGuy: {fileID: 2166375559639248018} labGuy: {fileID: 2071272534245185769}
labGuyHead: {fileID: 2213739574016045658} labGuyHead: {fileID: 2213739574016045658}
labGuyArm: {fileID: 6425664033193447254} labGuyArm: {fileID: 3334649167652614689}
labGirl: {fileID: 2679407609467283902} labGirl: {fileID: 4056063042128174322}
labGirlHead: {fileID: 3393587621863104861} labGirlHead: {fileID: 3393587621863104861}
labGirlArm: {fileID: 2801754847648881029} labGirlArm: {fileID: 3730766283391058276}
labAssistant: {fileID: 4557519451044364801} labAssistant: {fileID: 7144185182759799523}
labAssistantHead: {fileID: 7230862986891120656} labAssistantHead: {fileID: 7230862986891120656}
labAssistantArm: {fileID: 8475969050307686821} labAssistantArm: {fileID: 7892431487122312915}
flask: {fileID: 0} flask: {fileID: 0}
labFlaskObj: {fileID: 6033749656558512970, guid: 95f2093cb48221e4fa1961a03fdcffee, type: 3} labFlaskObj: {fileID: 6033749656558512970, guid: 95f2093cb48221e4fa1961a03fdcffee, type: 3}
labGirlFlaskObj: {fileID: 6033749656558512970, guid: 7509505865426904dbc2986ec719a8d7, type: 3} labGirlFlaskObj: {fileID: 6033749656558512970, guid: 7509505865426904dbc2986ec719a8d7, type: 3}
@ -631,12 +631,12 @@ MonoBehaviour:
flaskMatForGirl: {fileID: 2100000, guid: b2dbb11b3c0a41946965a07ccdbf1dcd, type: 2} flaskMatForGirl: {fileID: 2100000, guid: b2dbb11b3c0a41946965a07ccdbf1dcd, type: 2}
flaskMatForWeird: {fileID: 2100000, guid: 225807b262eb3084b8644e27873f3978, type: 2} flaskMatForWeird: {fileID: 2100000, guid: 225807b262eb3084b8644e27873f3978, type: 2}
boyLiquidColor: {r: 0.02909997, g: 0.4054601, b: 0.97, a: 1} boyLiquidColor: {r: 0.02909997, g: 0.4054601, b: 0.97, a: 1}
girlLiquidColor: {r: 0.81, g: 0.2984211, b: 0, a: 1} girlLiquidColor: {r: 0.972549, g: 0.3764706, b: 0.03137255, a: 1}
weirdLiquidColor: {r: 0.8313726, g: 0.2039216, b: 0.5058824, a: 1} weirdLiquidColor: {r: 0.8313726, g: 0.2039216, b: 0.5058824, a: 1}
flaskSpriteRend: {fileID: 4957942349382571606} flaskSpriteRend: {fileID: 4957942349382571606}
girlFlaskSpriteRend: {fileID: 4174149414944176317} girlFlaskSpriteRend: {fileID: 4174149414944176317}
weirdFlaskSpriteRend: {fileID: 7917972493379982696} weirdFlaskSpriteRend: {fileID: 7917972493379982696}
heartBox: {fileID: 2938495750069376480} heartBox: {fileID: 6043310135498338089}
spotlightShader: {fileID: 5748955415339632706} spotlightShader: {fileID: 5748955415339632706}
spotlightShaderCone: {fileID: 2784226145224311011} spotlightShaderCone: {fileID: 2784226145224311011}
spotlightCone: {fileID: 5070524962511805796} spotlightCone: {fileID: 5070524962511805796}

View file

@ -84,7 +84,7 @@ Material:
m_Colors: m_Colors:
- _AddColor: {r: 0, g: 0, b: 0, a: 0} - _AddColor: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1}
- _ColorAlpha: {r: 0.81, g: 0.2984211, b: 0, a: 1} - _ColorAlpha: {r: 0.972549, g: 0.3764706, b: 0.03137255, a: 1}
- _ColorBravo: {r: 1, g: 1, b: 1, a: 1} - _ColorBravo: {r: 1, g: 1, b: 1, a: 1}
- _ColorDelta: {r: 1, g: 1, b: 1, a: 1} - _ColorDelta: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View file

@ -551,9 +551,9 @@ RectTransform:
m_Father: {fileID: 574002313} m_Father: {fileID: 574002313}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: -21}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5} m_Pivot: {x: 0, y: 0.5}
--- !u!114 &9435782 --- !u!114 &9435782
@ -4176,9 +4176,9 @@ RectTransform:
m_Father: {fileID: 539838476} m_Father: {fileID: 539838476}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 32, y: -21}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5} m_Pivot: {x: 1, y: 0.5}
--- !u!114 &121871281 --- !u!114 &121871281
@ -4400,9 +4400,9 @@ RectTransform:
m_Father: {fileID: 539838476} m_Father: {fileID: 539838476}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 72, y: -21}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5} m_Pivot: {x: 1, y: 0.5}
--- !u!114 &129013734 --- !u!114 &129013734
@ -4536,9 +4536,9 @@ RectTransform:
m_Father: {fileID: 539838476} m_Father: {fileID: 539838476}
m_RootOrder: 2 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 112, y: -21}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5} m_Pivot: {x: 1, y: 0.5}
--- !u!114 &151246938 --- !u!114 &151246938
@ -16665,7 +16665,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -50} m_AnchoredPosition: {x: 0, y: -50.000015}
m_SizeDelta: {x: -48, y: -148} m_SizeDelta: {x: -48, y: -148}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &572765323 --- !u!114 &572765323
@ -26859,7 +26859,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 1589389271} m_HandleRect: {fileID: 1589389271}
m_Direction: 2 m_Direction: 2
m_Value: 0 m_Value: 0
m_Size: 0.9995103 m_Size: 1
m_NumberOfSteps: 0 m_NumberOfSteps: 0
m_OnValueChanged: m_OnValueChanged:
m_PersistentCalls: m_PersistentCalls:
@ -37258,9 +37258,9 @@ RectTransform:
m_Father: {fileID: 574002313} m_Father: {fileID: 574002313}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 40, y: -21}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5} m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1345846031 --- !u!114 &1345846031
@ -46884,9 +46884,9 @@ RectTransform:
m_Father: {fileID: 574002313} m_Father: {fileID: 574002313}
m_RootOrder: 2 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 80, y: -21}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5} m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1783491359 --- !u!114 &1783491359

View file

@ -9,7 +9,6 @@ using UnityEngine.Sprites;
namespace HeavenStudio.Games.Loaders namespace HeavenStudio.Games.Loaders
{ {
using static Minigames; using static Minigames;
public static class NtrLabLoader public static class NtrLabLoader
{ {
public static Minigame AddGame(EventCaller e) public static Minigame AddGame(EventCaller e)
@ -51,41 +50,6 @@ namespace HeavenStudio.Games.Loaders
priority = 1 priority = 1
}, },
new GameAction("1Heart", "1 Heart")
{
preFunction = delegate { LoveLab.queueFlask(e.currentEntity.beat, LoveLab.flaskHeart.oneHeart); },
preFunctionLength = 1f,
defaultLength = 4f
},
new GameAction("1HeartOffbeat", "1 Heart Offbeat")
{
preFunction = delegate { LoveLab.queueFlask(e.currentEntity.beat, LoveLab.flaskHeart.oneOffHeart); },
preFunctionLength = 1f,
defaultLength = 4f
},
new GameAction("2Heart", "2 Heart")
{
preFunction = delegate { LoveLab.queueFlask(e.currentEntity.beat, LoveLab.flaskHeart.twoHeart); },
preFunctionLength = 1f,
defaultLength = 4f
},
new GameAction("3Heart", "3 Heart")
{
preFunction = delegate { LoveLab.queueFlask(e.currentEntity.beat, LoveLab.flaskHeart.threeHeart); },
preFunctionLength = 1f,
defaultLength = 10f
},
new GameAction("5Heart", "5 Heart")
{
preFunction = delegate { LoveLab.queueFlask(e.currentEntity.beat, LoveLab.flaskHeart.fiveHeart); },
preFunctionLength = 1f,
defaultLength = 10f
},
new GameAction("boxGuy", "Box Guy") new GameAction("boxGuy", "Box Guy")
{ {
function = delegate { LoveLab.instance.mainBoxGuy(e.currentEntity.beat, e.currentEntity["type"]); }, function = delegate { LoveLab.instance.mainBoxGuy(e.currentEntity.beat, e.currentEntity["type"]); },
@ -155,19 +119,19 @@ namespace HeavenStudio.Games
public static LoveLab instance { get; set; } public static LoveLab instance { get; set; }
[Header("Lab Guy")] [Header("Lab Guy")]
[SerializeField] private GameObject labGuy; [SerializeField] private Animator labGuy;
public Animator labGuyHead; public Animator labGuyHead;
public GameObject labGuyArm; public Animator labGuyArm;
[Header("Lab Girl")] [Header("Lab Girl")]
[SerializeField] private GameObject labGirl; [SerializeField] private Animator labGirl;
public Animator labGirlHead; public Animator labGirlHead;
public GameObject labGirlArm; public Animator labGirlArm;
[Header("Lab Weird")] [Header("Lab Weird")]
[SerializeField] private GameObject labAssistant; [SerializeField] private Animator labAssistant;
[SerializeField] private Animator labAssistantHead; [SerializeField] private Animator labAssistantHead;
public GameObject labAssistantArm; public Animator labAssistantArm;
[Header("Flask")] [Header("Flask")]
public GameObject flask; public GameObject flask;
@ -179,7 +143,7 @@ namespace HeavenStudio.Games
public Material flaskMatForGirl; public Material flaskMatForGirl;
public Material flaskMatForWeird; public Material flaskMatForWeird;
public Color boyLiquidColor = new Color(0.02909997f, 0.4054601f, 0.97f); //216, 97, 97 0868F8 public Color boyLiquidColor = new Color(0.02909997f, 0.4054601f, 0.97f); //216, 97, 97 0868F8
public Color girlLiquidColor = new Color(0.81f, 0.2984211f, 0f); //22, 100, 81 CF4C00 public Color girlLiquidColor = new Color(0.972549f, 0.3764706f, 0.03137255f); //F86008
public Color weirdLiquidColor = new Color(0.8313726f, 0.2039216f, 0.5058824f); //331, 75, 83 D43481 public Color weirdLiquidColor = new Color(0.8313726f, 0.2039216f, 0.5058824f); //331, 75, 83 D43481
public SpriteRenderer flaskSpriteRend; public SpriteRenderer flaskSpriteRend;
public SpriteRenderer girlFlaskSpriteRend; public SpriteRenderer girlFlaskSpriteRend;
@ -189,7 +153,7 @@ namespace HeavenStudio.Games
public List<heartDetails> reqHeartsContainer = new List<heartDetails>(); public List<heartDetails> reqHeartsContainer = new List<heartDetails>();
[Header("Misc")] [Header("Misc")]
[SerializeField] GameObject heartBox; [SerializeField] Animator heartBox;
[SerializeField] GameObject spotlightShader; [SerializeField] GameObject spotlightShader;
[SerializeField] GameObject spotlightShaderCone; [SerializeField] GameObject spotlightShaderCone;
[SerializeField] GameObject spotlightCone; [SerializeField] GameObject spotlightCone;
@ -343,7 +307,7 @@ namespace HeavenStudio.Games
private void SetIntervalStart(double beat, float interval, double gameSwitchBeat, bool autoPassTurn) private void SetIntervalStart(double beat, float interval, double gameSwitchBeat, bool autoPassTurn)
{ {
List<RiqEntity> reqShakeEvents = GetAllSpeaksInBetweenBeat(beat, beat + interval); List<RiqEntity> reqShakeEvents = GetAllFlaskBetween(beat, beat + interval);
reqShakeEvents.Sort((x, y) => x.beat.CompareTo(y.beat)); reqShakeEvents.Sort((x, y) => x.beat.CompareTo(y.beat));
spawnCustomFlask(reqShakeEvents[0].beat); spawnCustomFlask(reqShakeEvents[0].beat);
@ -378,7 +342,7 @@ namespace HeavenStudio.Games
BeatAction.New(this, queuedFlasks); BeatAction.New(this, queuedFlasks);
} }
private List<RiqEntity> GetAllSpeaksInBetweenBeat(double beat, double endBeat) private List<RiqEntity> GetAllFlaskBetween(double beat, double endBeat)
{ {
List<RiqEntity> speakEvents = EventCaller.GetAllInGameManagerList("loveLab", new string[] { "boy shakes" }); List<RiqEntity> speakEvents = EventCaller.GetAllInGameManagerList("loveLab", new string[] { "boy shakes" });
List<RiqEntity> tempEvents = new(); List<RiqEntity> tempEvents = new();
@ -417,14 +381,14 @@ namespace HeavenStudio.Games
if (!hasStartedInterval) if (!hasStartedInterval)
{ {
SoundByte.PlayOneShotGame("loveLab/LeftCatch", beat, forcePlay: true); SoundByte.PlayOneShotGame("loveLab/LeftCatch", beat, forcePlay: true);
labGuyArm.GetComponent<Animator>().Play("GrabFlask"); labGuyArm.Play("GrabFlask");
hasStartedInterval = true; hasStartedInterval = true;
//spawnCustomFlask(beat); //spawnCustomFlask(beat);
} }
else if(beat > firstBeatOfInterval) else if(beat > firstBeatOfInterval)
{ {
SoundByte.PlayOneShotGame("loveLab/shakeDown"); SoundByte.PlayOneShotGame("loveLab/shakeDown");
labGuyArm.GetComponent<Animator>().Play("ShakeFlaskDown"); labGuyArm.Play("ShakeFlaskDown");
} }
}), }),
@ -432,23 +396,21 @@ namespace HeavenStudio.Games
if(lastBeatOfInterval > beat + length) if(lastBeatOfInterval > beat + length)
{ {
SoundByte.PlayOneShotGame("loveLab/shakeUp"); SoundByte.PlayOneShotGame("loveLab/shakeUp");
labGuyArm.GetComponent<Animator>().Play("ShakeFlaskUp"); labGuyArm.Play("ShakeFlaskUp");
} }
else else
{ {
SoundByte.PlayOneShotGame("loveLab/leftThrow"); SoundByte.PlayOneShotGame("loveLab/leftThrow");
labGuyArm.GetComponent<Animator>().Play("ThrowFlask"); labGuyArm.Play("ThrowFlask");
spawnFlaskForGirlCustom((beat + length) + 1f, speedType); spawnFlaskForGirlCustom((beat + length) + 1f, speedType);
} }
}), }),
}); });
} }
private void BoyPassToGirl(double beat, double intervalBeat, double endBeat, float length, int counter) private void BoyPassToGirl(double beat, double intervalBeat, double endBeat, float length, int counter)
{ {
var inputs = GetAllSpeaksInBetweenBeat(intervalBeat, endBeat); var inputs = GetAllFlaskBetween(intervalBeat, endBeat);
inputs.Sort((x, y) => x.beat.CompareTo(y.beat)); inputs.Sort((x, y) => x.beat.CompareTo(y.beat));
float addDelay = 0f; float addDelay = 0f;
@ -503,9 +465,9 @@ namespace HeavenStudio.Games
new BeatAction.Action(endBeat + 1f, delegate new BeatAction.Action(endBeat + 1f, delegate
{ {
labGuyHead.Play("GuyFaceIdle"); labGuyHead.Play("GuyFaceIdle");
if (labGuyArm.GetComponent<Animator>().IsAnimationNotPlaying()) if (labGuyArm.IsAnimationNotPlaying())
{ {
labGuyArm.GetComponent<Animator>().Play("ArmIdle"); labGuyArm.Play("ArmIdle");
} }
}) })
}); });
@ -518,14 +480,14 @@ namespace HeavenStudio.Games
{ {
instance.isHolding = true; instance.isHolding = true;
SoundByte.PlayOneShotGame("loveLab/RightCatch"); SoundByte.PlayOneShotGame("loveLab/RightCatch");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask"); instance.labGirlArm.DoScaledAnimationAsync("GrabFlask");
LoveLab.instance.girlInstantiatedFlask[0].GetComponent<LoveLabForGirlFlask>().destroyThisObj(); LoveLab.instance.girlInstantiatedFlask[0].GetComponent<LoveLabForGirlFlask>().destroyThisObj();
} }
else if(instance.counter > 1 && instance.isHolding) else if(instance.counter > 1 && instance.isHolding)
{ {
SoundByte.PlayOneShotGame("loveLab/shakeDown"); SoundByte.PlayOneShotGame("loveLab/shakeDown");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown"); instance.labGirlArm.DoScaledAnimationAsync("ShakeFlaskDown");
} }
} }
@ -533,14 +495,14 @@ namespace HeavenStudio.Games
public static void onUpAuto(PlayerActionEvent caller, float beat) public static void onUpAuto(PlayerActionEvent caller, float beat)
{ {
SoundByte.PlayOneShotGame("loveLab/shakeUp"); SoundByte.PlayOneShotGame("loveLab/shakeUp");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskUp"); instance.labGirlArm.DoScaledAnimationAsync("ShakeFlaskUp");
} }
public static void onRelease(PlayerActionEvent caller, float beat) public static void onRelease(PlayerActionEvent caller, float beat)
{ {
instance.labGirlHead.DoScaledAnimationAsync("GirlIdleFace"); instance.labGirlHead.DoScaledAnimationAsync("GirlIdleFace");
SoundByte.PlayOneShotGame("loveLab/rightThrowNoShake"); SoundByte.PlayOneShotGame("loveLab/rightThrowNoShake");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask"); instance.labGirlArm.DoScaledAnimationAsync("ThrowFlask");
instance.isHolding = false; instance.isHolding = false;
instance.hasStartedInterval = false; instance.hasStartedInterval = false;
@ -553,9 +515,9 @@ namespace HeavenStudio.Games
new BeatAction.Action((caller.startBeat + caller.timer) + 1f, delegate new BeatAction.Action((caller.startBeat + caller.timer) + 1f, delegate
{ {
instance.labGirlHead.Play("GirlIdleFace"); instance.labGirlHead.Play("GirlIdleFace");
if (instance.labGirlArm.GetComponent<Animator>().IsAnimationNotPlaying()) if (instance.labGirlArm.IsAnimationNotPlaying())
{ {
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle"); instance.labGirlArm.DoScaledAnimationAsync("ArmIdle");
} }
SoundByte.PlayOneShotGame("loveLab/heartsCombine"); SoundByte.PlayOneShotGame("loveLab/heartsCombine");
@ -578,7 +540,7 @@ namespace HeavenStudio.Games
if(lastCounter == 1) if(lastCounter == 1)
{ {
SoundByte.PlayOneShotGame("loveLab/bagHeartLast"); SoundByte.PlayOneShotGame("loveLab/bagHeartLast");
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish"); instance.heartBox.DoScaledAnimationAsync("HeartBoxSquish");
} }
else else
{ {
@ -594,13 +556,13 @@ namespace HeavenStudio.Games
{ {
var pitchHearts = 0.14f; var pitchHearts = 0.14f;
SoundByte.PlayOneShotGame("loveLab/bagHeart", pitch: (1f + (pitchHearts * (x)))); SoundByte.PlayOneShotGame("loveLab/bagHeart", pitch: (1f + (pitchHearts * (x))));
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish"); instance.heartBox.DoScaledAnimationAsync("HeartBoxSquish");
} }
public void onDownFlaskCustom() public void onDownFlaskCustom()
{ {
SoundByte.PlayOneShotGame("loveLab/shakeDown"); SoundByte.PlayOneShotGame("loveLab/shakeDown");
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown"); labGirlArm.DoScaledAnimationAsync("ShakeFlaskDown");
} }
public void spawnFlaskForGirlCustom(double beat, int flaskHeart) //boy to girl public void spawnFlaskForGirlCustom(double beat, int flaskHeart) //boy to girl
@ -675,6 +637,12 @@ namespace HeavenStudio.Games
* make a function to make them still * make a function to make them still
*/ */
/*
* flask arc
* 1 mid and 1 top
*
*/
[SerializeField] SuperCurveObject.Path[] flaskBouncePath; [SerializeField] SuperCurveObject.Path[] flaskBouncePath;
public void spotlight(bool active, int whichType, int whichPos) public void spotlight(bool active, int whichType, int whichPos)
@ -720,7 +688,6 @@ namespace HeavenStudio.Games
girl girl
} }
public void UpdateMaterialColor(Color liquidCol, Color liquid2Col, Color liquid3Col) public void UpdateMaterialColor(Color liquidCol, Color liquid2Col, Color liquid3Col)
{ {
boyLiquidColor = liquidCol; boyLiquidColor = liquidCol;
@ -754,21 +721,6 @@ namespace HeavenStudio.Games
} }
} }
//private void destroyAllFlasks()
//{
// foreach(LoveLabForGirlFlask girl in girlInstantiatedFlask)
// {
// Destroy(girl);
// }
// girlInstantiatedFlask.Clear();
// foreach (LoveLabForGirlFlask weird in weirdInstantiatedFlask)
// {
// Destroy(weird);
// }
// weirdInstantiatedFlask.Clear();
//}
void preChecks(double beat) void preChecks(double beat)
{ {
List<RiqEntity> prevEntities = GameManager.instance.Beatmap.Entities.FindAll(c => c.datamodel.Split(0) == "loveLab"); List<RiqEntity> prevEntities = GameManager.instance.Beatmap.Entities.FindAll(c => c.datamodel.Split(0) == "loveLab");
@ -780,7 +732,7 @@ namespace HeavenStudio.Games
} }
else else
{ {
UpdateMaterialColor(new Color(0.02909997f, 0.4054601f, 0.97f), new Color(0.81f, 0.2984211f, 0f), new Color(0.8313726f, 0.2039216f, 0.5058824f)); UpdateMaterialColor(new Color(0.02909997f, 0.4054601f, 0.97f), new Color(0.972549f, 0.3764706f, 0.03137255f), new Color(0.8313726f, 0.2039216f, 0.5058824f));
} }
defaultShaders(); defaultShaders();
@ -952,92 +904,12 @@ namespace HeavenStudio.Games
public int heartCounter; public int heartCounter;
} }
public void spawnFlask(double beat, flaskHeart flaskHeart) //wall to boy
{
//flaskMatForBoy.SetColor("_ColorAlpha", instance.boyLiquidColor);
LoveLabFlask spawnedFlask = Instantiate(labFlaskObj, instance.transform).AddComponent<LoveLabFlask>();
switch (flaskHeart)
{
case flaskHeart.oneHeart:
spawnedFlask.Init(beat);
break;
case flaskHeart.oneOffHeart:
spawnedFlask.offBeat(beat);
break;
case flaskHeart.twoHeart:
spawnedFlask.twoHeart(beat);
break;
case flaskHeart.threeHeart:
spawnedFlask.threeHeart(beat);
break;
case flaskHeart.fiveHeart:
spawnedFlask.fiveHeart(beat);
break;
}
}
public void spawnFlaskForGirl(double beat, flaskHeart flaskHeart) //boy to girl
{
//flaskMatForBoy.SetColor("_ColorAlpha", instance.boyLiquidColor);
LoveLabForGirlFlask spawnedFlask = Instantiate(labFlaskObj, instance.transform).AddComponent<LoveLabForGirlFlask>();
switch (flaskHeart)
{
case flaskHeart.oneHeart:
spawnedFlask.heartType = flaskHeart.oneHeart;
spawnedFlask.FastInit(beat);
break;
case flaskHeart.oneOffHeart:
spawnedFlask.heartType = flaskHeart.oneOffHeart;
spawnedFlask.MidSlowInit(beat);
break;
case flaskHeart.twoHeart:
spawnedFlask.heartType = flaskHeart.twoHeart;
spawnedFlask.FastInit(beat);
break;
case flaskHeart.threeHeart:
spawnedFlask.heartType = flaskHeart.threeHeart;
spawnedFlask.SlowInit(beat);
break;
case flaskHeart.fiveHeart:
spawnedFlask.heartType = flaskHeart.fiveHeart;
spawnedFlask.FastInit(beat);
break;
}
girlInstantiatedFlask.Add(spawnedFlask.GetComponent<LoveLabForGirlFlask>());
}
public void spawnFlaskForWeird(double beat) public void spawnFlaskForWeird(double beat)
{ {
LoveLabForGirlFlask spawnedFlask = Instantiate(labGirlFlaskObj, instance.transform).AddComponent<LoveLabForGirlFlask>(); LoveLabForGirlFlask spawnedFlask = Instantiate(labGirlFlaskObj, instance.transform).AddComponent<LoveLabForGirlFlask>();
spawnedFlask.ForWeirdInit(beat + 1f); spawnedFlask.ForWeirdInit(beat + 1f);
weirdInstantiatedFlask.Add(spawnedFlask.GetComponent<LoveLabForGirlFlask>()); weirdInstantiatedFlask.Add(spawnedFlask.GetComponent<LoveLabForGirlFlask>());
} }
public static void queueFlask(double beat, flaskHeart flaskHeart)
{
//if (!instance.canCallForFlask) return;
if (GameManager.instance.currentGame != "loveLab")
{
queuedFlask.Add(new QueuedFlask()
{
beat = beat,
type = flaskHeart
});
}
else
{
instance.spawnFlask(beat, flaskHeart);
}
SoundByte.PlayOneShotGame("loveLab/LeftCatch", beat, forcePlay: true);
}
#endregion #endregion
private void Update() private void Update()
@ -1058,24 +930,7 @@ namespace HeavenStudio.Games
{ {
switch (flask.type) switch (flask.type)
{ {
case flaskHeart.oneHeart:
spawnFlask(flask.beat, flaskHeart.oneHeart);
break;
case flaskHeart.oneOffHeart:
spawnFlask(flask.beat, flaskHeart.oneOffHeart);
break;
case flaskHeart.twoHeart:
spawnFlask(flask.beat, flaskHeart.twoHeart);
break;
case flaskHeart.threeHeart:
spawnFlask(flask.beat, flaskHeart.threeHeart);
break;
case flaskHeart.fiveHeart:
spawnFlask(flask.beat, flaskHeart.fiveHeart);
break;
//case flaskHeart.customHeart:
// spawnFlask(flask.beat, flaskHeart.customHeart);
// break;
} }
} }
queuedFlask.Clear(); queuedFlask.Clear();
@ -1092,12 +947,12 @@ namespace HeavenStudio.Games
#region whiff grab #region whiff grab
if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPressing) && !isHoldingWhiff) if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPressing) && !isHoldingWhiff)
{ {
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("WhiffGrab"); labGirlArm.DoScaledAnimationAsync("WhiffGrab");
isHoldingWhiff = true; isHoldingWhiff = true;
} }
else if (PlayerInput.GetIsAction(InputAction_BasicRelease) && !IsExpectingInputNow(InputAction_BasicRelease)) else if (PlayerInput.GetIsAction(InputAction_BasicRelease) && !IsExpectingInputNow(InputAction_BasicRelease))
{ {
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle"); labGirlArm.DoScaledAnimationAsync("ArmIdle");
isHoldingWhiff = false; isHoldingWhiff = false;
} }
@ -1125,13 +980,13 @@ namespace HeavenStudio.Games
// isHoldingWhiffPressed = false; // isHoldingWhiffPressed = false;
//} //}
//if (isHoldingWhiffAlt && isHoldingWhiff && !isHoldingWhiffPressed && labGirlArm.GetComponent<Animator>().IsAnimationNotPlaying()) //if (isHoldingWhiffAlt && isHoldingWhiff && !isHoldingWhiffPressed && labGirlArm.IsAnimationNotPlaying())
//{ //{
// labGirlArm.GetComponent<Animator>().DoNormalizedAnimation("WhiffUp"); // labGirlArm.DoNormalizedAnimation("WhiffUp");
//} //}
//else if(isHoldingWhiffAlt && isHoldingWhiff && isHoldingWhiffPressed && labGirlArm.GetComponent<Animator>().IsAnimationNotPlaying()) //else if(isHoldingWhiffAlt && isHoldingWhiff && isHoldingWhiffPressed && labGirlArm.IsAnimationNotPlaying())
//{ //{
// labGirlArm.GetComponent<Animator>().DoNormalizedAnimation("WhiffDown"); // labGirlArm.DoNormalizedAnimation("WhiffDown");
//} //}
#endregion #endregion
@ -1149,17 +1004,17 @@ namespace HeavenStudio.Games
{ {
new BeatAction.Action(beat + i, delegate new BeatAction.Action(beat + i, delegate
{ {
if (!bopRight && labGuy.GetComponent<Animator>().IsAnimationNotPlaying()) if (!bopRight && labGuy.IsAnimationNotPlaying())
{ {
labGuy.GetComponent<Animator>().DoScaledAnimationAsync("GuyBopRight", .5f); labGuy.DoScaledAnimationAsync("GuyBopRight", .5f);
labGirl.GetComponent<Animator>().DoScaledAnimationAsync("GirlBopRight", .5f); labGirl.DoScaledAnimationAsync("GirlBopRight", .5f);
labAssistant.GetComponent<Animator>().DoScaledAnimationAsync("AssistantBopRight", .5f); labAssistant.DoScaledAnimationAsync("AssistantBopRight", .5f);
} }
else else
{ {
labGuy.GetComponent<Animator>().DoScaledAnimationAsync("GuyBopLeft", .5f); labGuy.DoScaledAnimationAsync("GuyBopLeft", .5f);
labGirl.GetComponent<Animator>().DoScaledAnimationAsync("GirlBopLeft", .5f); labGirl.DoScaledAnimationAsync("GirlBopLeft", .5f);
labAssistant.GetComponent<Animator>().DoScaledAnimationAsync("AssistantBopLeft", .5f); labAssistant.DoScaledAnimationAsync("AssistantBopLeft", .5f);
} }
bopRight = !bopRight; bopRight = !bopRight;
}) })
@ -1190,17 +1045,17 @@ namespace HeavenStudio.Games
{ {
if (canBop) if (canBop)
{ {
if (!bopRight && labGuy.GetComponent<Animator>().IsAnimationNotPlaying()) if (!bopRight && labGuy.IsAnimationNotPlaying())
{ {
labGuy.GetComponent<Animator>().DoScaledAnimationAsync("GuyBopRight", .5f); labGuy.DoScaledAnimationAsync("GuyBopRight", .5f);
labGirl.GetComponent<Animator>().DoScaledAnimationAsync("GirlBopRight", .5f); labGirl.DoScaledAnimationAsync("GirlBopRight", .5f);
labAssistant.GetComponent<Animator>().DoScaledAnimationAsync("AssistantBopRight", .5f); labAssistant.DoScaledAnimationAsync("AssistantBopRight", .5f);
} }
else else
{ {
labGuy.GetComponent<Animator>().DoScaledAnimationAsync("GuyBopLeft", .5f); labGuy.DoScaledAnimationAsync("GuyBopLeft", .5f);
labGirl.GetComponent<Animator>().DoScaledAnimationAsync("GirlBopLeft", .5f); labGirl.DoScaledAnimationAsync("GirlBopLeft", .5f);
labAssistant.GetComponent<Animator>().DoScaledAnimationAsync("AssistantBopLeft", .5f); labAssistant.DoScaledAnimationAsync("AssistantBopLeft", .5f);
} }
bopRight = !bopRight; bopRight = !bopRight;
} }
@ -1252,296 +1107,17 @@ namespace HeavenStudio.Games
} }
#endregion
#region Release Throws
public static void onReleaseThrow(PlayerActionEvent caller, float beat)
{
if (instance.hasMissed) return;
instance.flaskMatForGirl.SetColor("_ColorAlpha", instance.girlLiquidColor);
instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
BeatAction.New(instance, new List<BeatAction.Action>()
{
new BeatAction.Action(caller.startBeat, delegate
{
instance.labGirlHead.DoScaledAnimationAsync("GirlIdleFace");
SoundByte.PlayOneShotGame("loveLab/rightThrowNoShake");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
instance.spawnFlaskForWeird((caller.startBeat + caller.timer));
}),
new BeatAction.Action(caller.startBeat + 4f, delegate
{
SoundByte.PlayOneShotGame("loveLab/heartsCombine");
if (instance.labGirlArm.GetComponent<Animator>().IsAnimationNotPlaying())
{
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
}
}),
new BeatAction.Action(caller.startBeat + 5.25f, delegate
{
SoundByte.PlayOneShotGame("loveLab/bagHeartLast");
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
}),
});
}
public static void onReleaseOffThrow(PlayerActionEvent caller, float beat)
{
if (instance.hasMissed) return;
instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
BeatAction.New(instance, new List<BeatAction.Action>()
{
new BeatAction.Action(caller.startBeat, delegate
{
instance.labGirlHead.DoScaledAnimationAsync("GirlIdleFace");
SoundByte.PlayOneShotGame("loveLab/rightThrowNoShake");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
instance.spawnFlaskForWeird((caller.startBeat + caller.timer));
}),
new BeatAction.Action(caller.startBeat + 3.5f, delegate
{
SoundByte.PlayOneShotGame("loveLab/heartsCombine");
if (instance.labGirlArm.GetComponent<Animator>().IsAnimationNotPlaying())
{
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
}
}),
new BeatAction.Action(caller.startBeat + 4.75f, delegate
{
SoundByte.PlayOneShotGame("loveLab/bagHeartLast");
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
}),
});
}
public static void onRelease2Throw(PlayerActionEvent caller, float beat)
{
if (instance.hasMissed) return;
instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
BeatAction.New(instance, new List<BeatAction.Action>()
{
new BeatAction.Action(caller.startBeat, delegate
{
instance.labGirlHead.DoScaledAnimationAsync("GirlIdleFace");
SoundByte.PlayOneShotGame("loveLab/rightThrowNoShake");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
instance.spawnFlaskForWeird((caller.startBeat + caller.timer));
}),
new BeatAction.Action(caller.startBeat + 4f, delegate
{
SoundByte.PlayOneShotGame("loveLab/heartsCombine");
if (instance.labGirlArm.GetComponent<Animator>().IsAnimationNotPlaying())
{
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
}
}),
new BeatAction.Action(caller.startBeat + 5.25, delegate {
SoundByte.PlayOneShotGame("loveLab/bagHeart", beat , 1f);
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");}),
new BeatAction.Action(caller.startBeat + 5.312, delegate {
SoundByte.PlayOneShotGame("loveLab/bagHeartLast", beat , 1.1f);
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");})
});
}
public static void onReleaseLongThrow(PlayerActionEvent caller, float beat)
{
if (instance.hasMissed) return;
instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
BeatAction.New(instance, new List<BeatAction.Action>()
{
new BeatAction.Action(caller.startBeat, delegate
{
instance.labGirlHead.DoScaledAnimationAsync("GirlIdleFace");
SoundByte.PlayOneShotGame("loveLab/rightThrowNoShake");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
instance.spawnFlaskForWeird((caller.startBeat + caller.timer));
}),
new BeatAction.Action(caller.startBeat + 7f, delegate
{
SoundByte.PlayOneShotGame("loveLab/heartsCombine");
if (instance.labGirlArm.GetComponent<Animator>().IsAnimationNotPlaying())
{
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
}
}),
new BeatAction.Action(caller.startBeat + 8.25f, delegate
{
SoundByte.PlayOneShotGame("loveLab/bagHeart");
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
}),
new BeatAction.Action(caller.startBeat + 8.312f, delegate
{
SoundByte.PlayOneShotGame("loveLab/bagHeart", 0f, 1.1f);
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
}),
new BeatAction.Action(caller.startBeat + 8.375f, delegate
{
SoundByte.PlayOneShotGame("loveLab/bagHeartLast", 0f, 1.28f);
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
}),
});
}
public static void onReleaseLongestThrow(PlayerActionEvent caller, float beat)
{
if (instance.hasMissed) return;
instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
BeatAction.New(instance, new List<BeatAction.Action>()
{
new BeatAction.Action(caller.startBeat, delegate
{
instance.labGirlHead.DoScaledAnimationAsync("GirlIdleFace");
SoundByte.PlayOneShotGame("loveLab/rightThrowNoShake");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
instance.spawnFlaskForWeird((caller.startBeat + caller.timer));
}),
new BeatAction.Action(caller.startBeat + 8f, delegate
{
SoundByte.PlayOneShotGame("loveLab/heartsCombine");
if (instance.labGirlArm.GetComponent<Animator>().IsAnimationNotPlaying())
{
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
}
}),
new BeatAction.Action(caller.startBeat + 9.25f, delegate
{
SoundByte.PlayOneShotGame("loveLab/bagHeart");
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
}),
new BeatAction.Action(caller.startBeat + 9.312f, delegate
{
SoundByte.PlayOneShotGame("loveLab/bagHeart", 0f, 1.1f);
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
}),
new BeatAction.Action(caller.startBeat + 9.375f, delegate
{
SoundByte.PlayOneShotGame("loveLab/bagHeart", 0f, 1.28f);
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
}),
new BeatAction.Action(caller.startBeat + 9.438f, delegate
{
SoundByte.PlayOneShotGame("loveLab/bagHeart", 0f, 1.48f);
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
}),
new BeatAction.Action(caller.startBeat + 9.500f, delegate
{
SoundByte.PlayOneShotGame("loveLab/bagHeartLast", 0f, 1.68f);
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
}),
});
}
#endregion #endregion
#region Lab Girl Actions #region Lab Girl Actions
public static void onUpFlask(PlayerActionEvent caller, float beat)
{
SoundByte.PlayOneShotGame("loveLab/shakeUp");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskUp");
BeatAction.New(instance, new List<BeatAction.Action>()
{
new BeatAction.Action((caller.startBeat + caller.timer) + .25f, delegate { instance.onDownFlask(); })
});
if (instance.reqHeartsContainer[0].heartCounter > 0)
{
if (instance.reqHeartsContainer[0].heartType == flaskHeart.twoHeart)
{
instance.ScheduleInput(caller.startBeat, 3f, LoveLab.InputAction_BasicRelease, onRelease2Throw, onMissWhenHold, onEmpty);
heartDetails heart = instance.reqHeartsContainer[0];
heart.heartCounter--;
instance.reqHeartsContainer[0] = heart;
}
else if (instance.reqHeartsContainer[0].heartType == flaskHeart.threeHeart)
{
if (instance.reqHeartsContainer[0].heartCounter >= 2)
{
instance.ScheduleInput(caller.startBeat, caller.timer + .5f, LoveLab.InputAction_DPad, onUpFlask, onMissWhenHold, onEmpty);
}
else
{
instance.ScheduleInput(caller.startBeat, caller.timer + .5f, LoveLab.InputAction_BasicRelease, onReleaseLongThrow, onMissWhenHold, onEmpty);
}
heartDetails heart = instance.reqHeartsContainer[0];
heart.heartCounter--;
instance.reqHeartsContainer[0] = heart;
}
else if (instance.reqHeartsContainer[0].heartType == flaskHeart.fiveHeart)
{
if(instance.reqHeartsContainer[0].heartCounter == 3)
{
instance.ScheduleInput(caller.startBeat, caller.timer + 1f, LoveLab.InputAction_DPad, onUpFlask, onMissWhenHold, onEmpty);
}
else if (instance.reqHeartsContainer[0].heartCounter == 1)
{
instance.ScheduleInput(caller.startBeat, caller.timer + .5f, LoveLab.InputAction_BasicRelease, onReleaseLongestThrow, onMissWhenHold, onEmpty);
}
else
{
instance.ScheduleInput(caller.startBeat, caller.timer + .5f, LoveLab.InputAction_DPad, onUpFlask, onMissWhenHold, onEmpty);
}
heartDetails heart = instance.reqHeartsContainer[0];
heart.heartCounter--;
instance.reqHeartsContainer[0] = heart;
}
}
if (instance.reqHeartsContainer[0].heartCounter <= 0)
{
instance.reqHeartsContainer.RemoveAt(0);
}
}
public void onDownFlask()
{
SoundByte.PlayOneShotGame("loveLab/shakeDown");
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown");
}
public void onWhiffUp() public void onWhiffUp()
{ {
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("WhiffUp"); labGirlArm.DoScaledAnimationAsync("WhiffUp");
} }
public void onWhiffDown() public void onWhiffDown()
{ {
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("WhiffDown"); labGirlArm.DoScaledAnimationAsync("WhiffDown");
} }
#endregion #endregion
@ -1551,9 +1127,9 @@ namespace HeavenStudio.Games
//SoundByte.PlayOneShot("miss"); //SoundByte.PlayOneShot("miss");
//instance.hasMissed = true; //instance.hasMissed = true;
instance.labGuyHead.DoScaledAnimationAsync("GuyIdleFace"); instance.labGuyHead.DoScaledAnimationAsync("GuyIdleFace");
if (instance.labGuyArm.GetComponent<Animator>().IsAnimationNotPlaying()) if (instance.labGuyArm.IsAnimationNotPlaying())
{ {
instance.labGuyArm.GetComponent<Animator>().Play("ArmIdle"); instance.labGuyArm.Play("ArmIdle");
} }
//instance.reqHeartsContainer.RemoveAt(0); //instance.reqHeartsContainer.RemoveAt(0);

View file

@ -21,11 +21,6 @@ namespace HeavenStudio.Games.Scripts_LoveLab
conductor = Conductor.instance; conductor = Conductor.instance;
} }
void Start()
{
}
void Update() void Update()
{ {
double beat = conductor.songPositionInBeatsAsDouble; double beat = conductor.songPositionInBeatsAsDouble;
@ -59,436 +54,15 @@ namespace HeavenStudio.Games.Scripts_LoveLab
}); });
} }
#region 1 heart
public void Init(double beat)
{
//if (!game.canCallForFlask) return;
//game.canCallForFlask = false;
game.ScheduleInput(beat, 2f, LoveLab.InputAction_BasicPressing, onOneCatch, onMiss, onEmpty);
path = game.GetPath("GuyFlaskIn");
UpdateLastRealPos();
pathStartBeat = beat - 1f;
Vector3 pos = GetPathPositionFromBeat(path, pathStartBeat, pathStartBeat);
transform.position = pos;
gameObject.SetActive(true);
BeatAction.New(game, new List<BeatAction.Action>
{
new BeatAction.Action(beat, delegate
{
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask", .5f);
game.labGuyHead.DoScaledAnimationAsync("GuyRightFace");
Destroy(this.gameObject);
}),
new BeatAction.Action(beat + .5f, delegate
{
game.labGirlHead.DoScaledAnimationAsync("GirlLeftFace");
}),
//new BeatAction.Action(beat + .75f, delegate { game.canCallForFlask = true;} ),
new BeatAction.Action(beat + 1f, delegate
{
SoundByte.PlayOneShotGame("loveLab/leftThrow");
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
LoveLab.instance.spawnFlaskForGirl(beat + 2f, LoveLab.flaskHeart.oneHeart);
}),
});
}
public void onOneCatch(PlayerActionEvent caller, float beat)
{
if (LoveLab.instance.isHoldingWhiff) return;
LoveLab.instance.hasMissed = false;
LoveLab.instance.girlInstantiatedFlask[0].GetComponent<LoveLabForGirlFlask>().destroyThisObj();
LoveLab.instance.flaskMatForGirl.SetColor("_ColorAlpha", LoveLab.instance.girlLiquidColor);
if (LoveLab.instance.labGuyArm.GetComponent<Animator>().IsAnimationNotPlaying())
{
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
}
//Destroy(LoveLab.instance.flask);
//instance.altFlaskColor();
LoveLab.instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
SoundByte.PlayOneShotGame("loveLab/rightCatch");
LoveLab.instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask");
LoveLab.instance.ScheduleInput(caller.startBeat, 3f, LoveLab.InputAction_BasicRelease, LoveLab.onReleaseThrow, onMissWhenHold, onEmpty);
}
public void offBeat(double beat)
{
//if (!game.canCallForFlask) return;
//game.canCallForFlask = false;
game.ScheduleInput(beat, 2f, LoveLab.InputAction_BasicPressing, onOneOffCatch, onMiss, onEmpty);
path = game.GetPath("GuyFlaskIn");
UpdateLastRealPos();
pathStartBeat = beat - 1f;
Vector3 pos = GetPathPositionFromBeat(path, pathStartBeat, pathStartBeat);
transform.position = pos;
gameObject.SetActive(true);
BeatAction.New(game, new List<BeatAction.Action>
{
new BeatAction.Action(beat, delegate
{
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask", .5f);
game.labGuyHead.DoScaledAnimationAsync("GuyRightFace");
//SoundByte.PlayOneShotGame("loveLab/leftCatch", beat, forcePlay: true);
Destroy(this.gameObject);
}),
new BeatAction.Action(beat + .5f, delegate
{
game.labGirlHead.DoScaledAnimationAsync("GirlLeftFace");
SoundByte.PlayOneShotGame("loveLab/leftThrow");
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
LoveLab.instance.spawnFlaskForGirl(beat + 1.5f, LoveLab.flaskHeart.oneOffHeart);
}),
//new BeatAction.Action(beat + .75f, delegate { game.canCallForFlask = true;} ),
});
}
public void onOneOffCatch(PlayerActionEvent caller, float beat)
{
LoveLab.instance.hasMissed = false;
LoveLab.instance.girlInstantiatedFlask[0].GetComponent<LoveLabForGirlFlask>().destroyThisObj();
LoveLab.instance.flaskMatForGirl.SetColor("_ColorAlpha", LoveLab.instance.girlLiquidColor);
if (LoveLab.instance.labGuyArm.GetComponent<Animator>().IsAnimationNotPlaying())
{
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
}
LoveLab.instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
SoundByte.PlayOneShotGame("loveLab/rightCatch");
LoveLab.instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask");
LoveLab.instance.ScheduleInput(caller.startBeat, 2.5f, LoveLab.InputAction_BasicRelease, LoveLab.onReleaseOffThrow, onMissWhenHold, onEmpty);
}
#endregion
#region 2 hearts
public void twoHeart(double beat)
{
LoveLab.instance.hasMissed = false;
game.ScheduleInput(beat, 2f, LoveLab.InputAction_BasicPressing, onTwoCatch, onMiss, onEmpty);
path = game.GetPath("GuyFlaskIn");
UpdateLastRealPos();
pathStartBeat = beat - 1f;
Vector3 pos = GetPathPositionFromBeat(path, pathStartBeat, pathStartBeat);
transform.position = pos;
gameObject.SetActive(true);
BeatAction.New(LoveLab.instance, new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate
{
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask", .5f);
game.labGuyHead.DoScaledAnimationAsync("GuyRightFace");
Destroy(this.gameObject);
}),
new BeatAction.Action(beat + .5f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeUp");
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskUp");
game.labGirlHead.DoScaledAnimationAsync("GirlLeftFace");
}),
new BeatAction.Action(beat + .75f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeDown");
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown");
}),
new BeatAction.Action(beat + 1f, delegate
{
SoundByte.PlayOneShotGame("loveLab/leftThrow");
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
LoveLab.instance.spawnFlaskForGirl(beat + 2f, LoveLab.flaskHeart.twoHeart);
}),
});
LoveLab.heartDetails heart = new LoveLab.heartDetails();
heart.heartCounter = 1;
heart.heartType = LoveLab.flaskHeart.twoHeart;
Debug.LogWarning("counter: " + heart.heartCounter);
game.reqHeartsContainer.Add(heart);
}
public static void onTwoCatch(PlayerActionEvent caller, float beat)
{
LoveLab.instance.hasMissed = false;
LoveLab.instance.girlInstantiatedFlask[0].GetComponent<LoveLabForGirlFlask>().destroyThisObj();
LoveLab.instance.flaskMatForGirl.SetColor("_ColorAlpha", LoveLab.instance.girlLiquidColor);
if (LoveLab.instance.labGuyArm.GetComponent<Animator>().IsAnimationNotPlaying())
{
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
}
//Destroy(LoveLab.instance.girlInstantiatedFlask[0]);
//LoveLab.instance.girlInstantiatedFlask.RemoveAt(0);
LoveLab.instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
SoundByte.PlayOneShotGame("loveLab/rightCatch");
LoveLab.instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask");
LoveLab.instance.ScheduleInput(caller.startBeat, 2.5f, LoveLab.InputAction_DPad, LoveLab.onUpFlask, onMissWhenHold, onEmpty);
}
#endregion
#region 3 hearts
public void threeHeart(double beat)
{
game.hasMissed = false;
game.ScheduleInput(beat, 4f, LoveLab.InputAction_BasicPressing, onThreeCatch, onMiss, onEmpty);
path = game.GetPath("GuyFlaskIn");
UpdateLastRealPos();
pathStartBeat = beat - 1f;
Vector3 pos = GetPathPositionFromBeat(path, pathStartBeat, pathStartBeat);
transform.position = pos;
gameObject.SetActive(true);
BeatAction.New(LoveLab.instance, new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate
{
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask", .5f);
game.labGuyHead.DoScaledAnimationAsync("GuyRightFace");
Destroy(this.gameObject);
}),
new BeatAction.Action(beat + .5f, delegate { game.labGirlHead.DoScaledAnimationAsync("GirlLeftFace"); }),
new BeatAction.Action(beat + 1f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeUp");
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskUp");
}),
new BeatAction.Action(beat + 1.25f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeDown");
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown");
}),
new BeatAction.Action(beat + 1.5f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeUp");
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskUp");
}),
new BeatAction.Action(beat + 1.75f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeDown");
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown");
}),
new BeatAction.Action(beat + 2f, delegate
{
SoundByte.PlayOneShotGame("loveLab/leftThrow");
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
LoveLab.instance.spawnFlaskForGirl(beat + 3f, LoveLab.flaskHeart.threeHeart);
}),
new BeatAction.Action(beat + 3f, delegate
{
if (LoveLab.instance.labGuyArm.GetComponent<Animator>().IsAnimationNotPlaying())
{
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
}
})
});
}
public static void onThreeCatch(PlayerActionEvent caller, float beat)
{
LoveLab.instance.hasMissed = false;
LoveLab.instance.girlInstantiatedFlask[0].GetComponent<LoveLabForGirlFlask>().destroyThisObj();
LoveLab.instance.flaskMatForGirl.SetColor("_ColorAlpha", LoveLab.instance.girlLiquidColor);
Destroy(LoveLab.instance.flask);
LoveLab.instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
SoundByte.PlayOneShotGame("loveLab/rightCatch");
LoveLab.instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask");
BeatAction.New(LoveLab.instance, new List<BeatAction.Action>()
{
new BeatAction.Action(caller.startBeat + 7f, delegate
{
LoveLab.instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
})
});
LoveLab.instance.ScheduleInput(caller.startBeat, 5f, LoveLab.InputAction_DPad, LoveLab.onUpFlask, onMissWhenHold, onEmpty);
LoveLab.heartDetails heart = new LoveLab.heartDetails();
heart.heartCounter = 2;
heart.heartType = LoveLab.flaskHeart.threeHeart;
LoveLab.instance.reqHeartsContainer.Add(heart);
}
#endregion
#region 5 hearts
public void fiveHeart(double beat)
{
LoveLab.instance.hasMissed = false;
game.ScheduleInput(beat, 4f, LoveLab.InputAction_BasicPressing, onFiveCatch, onMiss, onEmpty);
path = game.GetPath("GuyFlaskIn");
UpdateLastRealPos();
pathStartBeat = beat - 1f;
Vector3 pos = GetPathPositionFromBeat(path, pathStartBeat, pathStartBeat);
transform.position = pos;
gameObject.SetActive(true);
BeatAction.New(LoveLab.instance, new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate
{
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask", .5f);
game.labGuyHead.DoScaledAnimationAsync("GuyRightFace");
Destroy(this.gameObject);
}),
new BeatAction.Action(beat + .5f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeUp");
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskUp");
game.labGirlHead.DoScaledAnimationAsync("GirlLeftFace");
}),
new BeatAction.Action(beat + .75f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeDown");
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown");
}),
new BeatAction.Action(beat + 1f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeUp");
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskUp");
}),
new BeatAction.Action(beat + 1.25f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeDown");
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown");
}),
new BeatAction.Action(beat + 2f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeUp");
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskUp");
}),
new BeatAction.Action(beat + 2.25f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeDown");
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown");
}),
new BeatAction.Action(beat + 2.5f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeUp");
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskUp");
}),
new BeatAction.Action(beat + 2.75f, delegate
{
SoundByte.PlayOneShotGame("loveLab/shakeDown");
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown");
}),
new BeatAction.Action(beat + 3f, delegate
{
SoundByte.PlayOneShotGame("loveLab/leftThrow");
game.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
LoveLab.instance.spawnFlaskForGirl(beat + 4f, LoveLab.flaskHeart.fiveHeart);
}),
new BeatAction.Action(beat + 4f, delegate
{
if (LoveLab.instance.labGuyArm.GetComponent<Animator>().IsAnimationNotPlaying())
{
LoveLab.instance.labGuyArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
}
})
});
}
public static void onFiveCatch(PlayerActionEvent caller, float beat)
{
LoveLab.instance.hasMissed = false;
LoveLab.instance.girlInstantiatedFlask[0].GetComponent<LoveLabForGirlFlask>().destroyThisObj();
LoveLab.instance.flaskMatForGirl.SetColor("_ColorAlpha", LoveLab.instance.girlLiquidColor);
Destroy(LoveLab.instance.flask);
LoveLab.instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
SoundByte.PlayOneShotGame("loveLab/rightCatch");
LoveLab.instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask");
LoveLab.instance.ScheduleInput(caller.startBeat, 4.5f, LoveLab.InputAction_DPad, LoveLab.onUpFlask, onMissWhenHold, onEmpty);
LoveLab.heartDetails heart = new LoveLab.heartDetails();
heart.heartCounter = 4;
heart.heartType = LoveLab.flaskHeart.fiveHeart;
LoveLab.instance.reqHeartsContainer.Add(heart);
}
#endregion
public static void onMiss(PlayerActionEvent caller) public static void onMiss(PlayerActionEvent caller)
{ {
//SoundByte.PlayOneShot("miss"); //SoundByte.PlayOneShot("miss");
//LoveLab.instance.hasMissed = true; //LoveLab.instance.hasMissed = true;
LoveLab.instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle"); LoveLab.instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
if (LoveLab.instance.labGuyArm.GetComponent<Animator>().IsAnimationNotPlaying()) if (LoveLab.instance.labGuyArm.IsAnimationNotPlaying())
{ {
LoveLab.instance.labGuyArm.GetComponent<Animator>().Play("ArmIdle"); LoveLab.instance.labGuyArm.Play("ArmIdle");
} }
//LoveLab.instance.reqHeartsContainer.RemoveAt(0); //LoveLab.instance.reqHeartsContainer.RemoveAt(0);
@ -513,11 +87,6 @@ namespace HeavenStudio.Games.Scripts_LoveLab
{ {
//empty //empty
} }
private void OnDestroy()
{
}
} }
} }

View file

@ -99,27 +99,16 @@ namespace HeavenStudio.Games.Scripts_LoveLab
Destroy(this.gameObject); Destroy(this.gameObject);
LoveLab.instance.weirdInstantiatedFlask.RemoveAt(0); LoveLab.instance.weirdInstantiatedFlask.RemoveAt(0);
LoveLab.instance.labAssistantArm.GetComponent<Animator>().DoScaledAnimationAsync("MittenGrab", 1f); LoveLab.instance.labAssistantArm.DoScaledAnimationAsync("MittenGrab", 1f);
}), }),
new BeatAction.Action(beat + 2f, delegate new BeatAction.Action(beat + 1.5f, delegate
{ {
LoveLab.instance.labAssistantArm.GetComponent<Animator>().DoScaledAnimationAsync("MittenLetGo", 2f); LoveLab.instance.labAssistantArm.DoScaledAnimationAsync("MittenLetGo", 1f);
}), }),
}); });
} }
//public static void onMiss(PlayerActionEvent caller)
//{
// //SoundByte.PlayOneShot("miss");
// LoveLab.instance.hasMissed = true;
// LoveLab.instance.labGuyHead.DoScaledAnimationAsync("GuyFaceIdle");
// Destroy(LoveLab.instance.girlInstantiatedFlask[0].gameObject);
// LoveLab.instance.boyFlaskBreak.Play();
// LoveLab.instance.girlInstantiatedFlask.RemoveAt(0);
//}
public void onMissWhenHold(double beat) public void onMissWhenHold(double beat)
{ {