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:
SoundSequences: []
scheduledInputs: []
labGuy: {fileID: 2166375559639248018}
labGuy: {fileID: 2071272534245185769}
labGuyHead: {fileID: 2213739574016045658}
labGuyArm: {fileID: 6425664033193447254}
labGirl: {fileID: 2679407609467283902}
labGuyArm: {fileID: 3334649167652614689}
labGirl: {fileID: 4056063042128174322}
labGirlHead: {fileID: 3393587621863104861}
labGirlArm: {fileID: 2801754847648881029}
labAssistant: {fileID: 4557519451044364801}
labGirlArm: {fileID: 3730766283391058276}
labAssistant: {fileID: 7144185182759799523}
labAssistantHead: {fileID: 7230862986891120656}
labAssistantArm: {fileID: 8475969050307686821}
labAssistantArm: {fileID: 7892431487122312915}
flask: {fileID: 0}
labFlaskObj: {fileID: 6033749656558512970, guid: 95f2093cb48221e4fa1961a03fdcffee, type: 3}
labGirlFlaskObj: {fileID: 6033749656558512970, guid: 7509505865426904dbc2986ec719a8d7, type: 3}
@ -631,12 +631,12 @@ MonoBehaviour:
flaskMatForGirl: {fileID: 2100000, guid: b2dbb11b3c0a41946965a07ccdbf1dcd, type: 2}
flaskMatForWeird: {fileID: 2100000, guid: 225807b262eb3084b8644e27873f3978, type: 2}
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}
flaskSpriteRend: {fileID: 4957942349382571606}
girlFlaskSpriteRend: {fileID: 4174149414944176317}
weirdFlaskSpriteRend: {fileID: 7917972493379982696}
heartBox: {fileID: 2938495750069376480}
heartBox: {fileID: 6043310135498338089}
spotlightShader: {fileID: 5748955415339632706}
spotlightShaderCone: {fileID: 2784226145224311011}
spotlightCone: {fileID: 5070524962511805796}

View file

@ -84,7 +84,7 @@ Material:
m_Colors:
- _AddColor: {r: 0, g: 0, b: 0, a: 0}
- _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}
- _ColorDelta: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View file

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

View file

@ -9,7 +9,6 @@ using UnityEngine.Sprites;
namespace HeavenStudio.Games.Loaders
{
using static Minigames;
public static class NtrLabLoader
{
public static Minigame AddGame(EventCaller e)
@ -51,42 +50,7 @@ namespace HeavenStudio.Games.Loaders
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"]); },
defaultLength = 2f,
@ -155,19 +119,19 @@ namespace HeavenStudio.Games
public static LoveLab instance { get; set; }
[Header("Lab Guy")]
[SerializeField] private GameObject labGuy;
[SerializeField] private Animator labGuy;
public Animator labGuyHead;
public GameObject labGuyArm;
public Animator labGuyArm;
[Header("Lab Girl")]
[SerializeField] private GameObject labGirl;
[SerializeField] private Animator labGirl;
public Animator labGirlHead;
public GameObject labGirlArm;
public Animator labGirlArm;
[Header("Lab Weird")]
[SerializeField] private GameObject labAssistant;
[SerializeField] private Animator labAssistant;
[SerializeField] private Animator labAssistantHead;
public GameObject labAssistantArm;
public Animator labAssistantArm;
[Header("Flask")]
public GameObject flask;
@ -179,7 +143,7 @@ namespace HeavenStudio.Games
public Material flaskMatForGirl;
public Material flaskMatForWeird;
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 SpriteRenderer flaskSpriteRend;
public SpriteRenderer girlFlaskSpriteRend;
@ -189,7 +153,7 @@ namespace HeavenStudio.Games
public List<heartDetails> reqHeartsContainer = new List<heartDetails>();
[Header("Misc")]
[SerializeField] GameObject heartBox;
[SerializeField] Animator heartBox;
[SerializeField] GameObject spotlightShader;
[SerializeField] GameObject spotlightShaderCone;
[SerializeField] GameObject spotlightCone;
@ -343,7 +307,7 @@ namespace HeavenStudio.Games
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));
spawnCustomFlask(reqShakeEvents[0].beat);
@ -378,7 +342,7 @@ namespace HeavenStudio.Games
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> tempEvents = new();
@ -417,14 +381,14 @@ namespace HeavenStudio.Games
if (!hasStartedInterval)
{
SoundByte.PlayOneShotGame("loveLab/LeftCatch", beat, forcePlay: true);
labGuyArm.GetComponent<Animator>().Play("GrabFlask");
labGuyArm.Play("GrabFlask");
hasStartedInterval = true;
//spawnCustomFlask(beat);
}
else if(beat > firstBeatOfInterval)
{
SoundByte.PlayOneShotGame("loveLab/shakeDown");
labGuyArm.GetComponent<Animator>().Play("ShakeFlaskDown");
labGuyArm.Play("ShakeFlaskDown");
}
}),
@ -432,23 +396,21 @@ namespace HeavenStudio.Games
if(lastBeatOfInterval > beat + length)
{
SoundByte.PlayOneShotGame("loveLab/shakeUp");
labGuyArm.GetComponent<Animator>().Play("ShakeFlaskUp");
labGuyArm.Play("ShakeFlaskUp");
}
else
{
SoundByte.PlayOneShotGame("loveLab/leftThrow");
labGuyArm.GetComponent<Animator>().Play("ThrowFlask");
labGuyArm.Play("ThrowFlask");
spawnFlaskForGirlCustom((beat + length) + 1f, speedType);
}
}),
});
}
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));
float addDelay = 0f;
@ -503,9 +465,9 @@ namespace HeavenStudio.Games
new BeatAction.Action(endBeat + 1f, delegate
{
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;
SoundByte.PlayOneShotGame("loveLab/RightCatch");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("GrabFlask");
instance.labGirlArm.DoScaledAnimationAsync("GrabFlask");
LoveLab.instance.girlInstantiatedFlask[0].GetComponent<LoveLabForGirlFlask>().destroyThisObj();
}
else if(instance.counter > 1 && instance.isHolding)
{
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)
{
SoundByte.PlayOneShotGame("loveLab/shakeUp");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskUp");
instance.labGirlArm.DoScaledAnimationAsync("ShakeFlaskUp");
}
public static void onRelease(PlayerActionEvent caller, float beat)
{
instance.labGirlHead.DoScaledAnimationAsync("GirlIdleFace");
SoundByte.PlayOneShotGame("loveLab/rightThrowNoShake");
instance.labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ThrowFlask");
instance.labGirlArm.DoScaledAnimationAsync("ThrowFlask");
instance.isHolding = false;
instance.hasStartedInterval = false;
@ -553,9 +515,9 @@ namespace HeavenStudio.Games
new BeatAction.Action((caller.startBeat + caller.timer) + 1f, delegate
{
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");
@ -578,7 +540,7 @@ namespace HeavenStudio.Games
if(lastCounter == 1)
{
SoundByte.PlayOneShotGame("loveLab/bagHeartLast");
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
instance.heartBox.DoScaledAnimationAsync("HeartBoxSquish");
}
else
{
@ -594,13 +556,13 @@ namespace HeavenStudio.Games
{
var pitchHearts = 0.14f;
SoundByte.PlayOneShotGame("loveLab/bagHeart", pitch: (1f + (pitchHearts * (x))));
instance.heartBox.GetComponent<Animator>().DoScaledAnimationAsync("HeartBoxSquish");
instance.heartBox.DoScaledAnimationAsync("HeartBoxSquish");
}
public void onDownFlaskCustom()
{
SoundByte.PlayOneShotGame("loveLab/shakeDown");
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ShakeFlaskDown");
labGirlArm.DoScaledAnimationAsync("ShakeFlaskDown");
}
public void spawnFlaskForGirlCustom(double beat, int flaskHeart) //boy to girl
@ -675,6 +637,12 @@ namespace HeavenStudio.Games
* make a function to make them still
*/
/*
* flask arc
* 1 mid and 1 top
*
*/
[SerializeField] SuperCurveObject.Path[] flaskBouncePath;
public void spotlight(bool active, int whichType, int whichPos)
@ -720,7 +688,6 @@ namespace HeavenStudio.Games
girl
}
public void UpdateMaterialColor(Color liquidCol, Color liquid2Col, Color liquid3Col)
{
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)
{
List<RiqEntity> prevEntities = GameManager.instance.Beatmap.Entities.FindAll(c => c.datamodel.Split(0) == "loveLab");
@ -780,7 +732,7 @@ namespace HeavenStudio.Games
}
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();
@ -952,92 +904,12 @@ namespace HeavenStudio.Games
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)
{
LoveLabForGirlFlask spawnedFlask = Instantiate(labGirlFlaskObj, instance.transform).AddComponent<LoveLabForGirlFlask>();
spawnedFlask.ForWeirdInit(beat + 1f);
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
private void Update()
@ -1058,24 +930,7 @@ namespace HeavenStudio.Games
{
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();
@ -1092,12 +947,12 @@ namespace HeavenStudio.Games
#region whiff grab
if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPressing) && !isHoldingWhiff)
{
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("WhiffGrab");
labGirlArm.DoScaledAnimationAsync("WhiffGrab");
isHoldingWhiff = true;
}
else if (PlayerInput.GetIsAction(InputAction_BasicRelease) && !IsExpectingInputNow(InputAction_BasicRelease))
{
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("ArmIdle");
labGirlArm.DoScaledAnimationAsync("ArmIdle");
isHoldingWhiff = false;
}
@ -1125,13 +980,13 @@ namespace HeavenStudio.Games
// 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
@ -1149,17 +1004,17 @@ namespace HeavenStudio.Games
{
new BeatAction.Action(beat + i, delegate
{
if (!bopRight && labGuy.GetComponent<Animator>().IsAnimationNotPlaying())
if (!bopRight && labGuy.IsAnimationNotPlaying())
{
labGuy.GetComponent<Animator>().DoScaledAnimationAsync("GuyBopRight", .5f);
labGirl.GetComponent<Animator>().DoScaledAnimationAsync("GirlBopRight", .5f);
labAssistant.GetComponent<Animator>().DoScaledAnimationAsync("AssistantBopRight", .5f);
labGuy.DoScaledAnimationAsync("GuyBopRight", .5f);
labGirl.DoScaledAnimationAsync("GirlBopRight", .5f);
labAssistant.DoScaledAnimationAsync("AssistantBopRight", .5f);
}
else
{
labGuy.GetComponent<Animator>().DoScaledAnimationAsync("GuyBopLeft", .5f);
labGirl.GetComponent<Animator>().DoScaledAnimationAsync("GirlBopLeft", .5f);
labAssistant.GetComponent<Animator>().DoScaledAnimationAsync("AssistantBopLeft", .5f);
labGuy.DoScaledAnimationAsync("GuyBopLeft", .5f);
labGirl.DoScaledAnimationAsync("GirlBopLeft", .5f);
labAssistant.DoScaledAnimationAsync("AssistantBopLeft", .5f);
}
bopRight = !bopRight;
})
@ -1190,17 +1045,17 @@ namespace HeavenStudio.Games
{
if (canBop)
{
if (!bopRight && labGuy.GetComponent<Animator>().IsAnimationNotPlaying())
if (!bopRight && labGuy.IsAnimationNotPlaying())
{
labGuy.GetComponent<Animator>().DoScaledAnimationAsync("GuyBopRight", .5f);
labGirl.GetComponent<Animator>().DoScaledAnimationAsync("GirlBopRight", .5f);
labAssistant.GetComponent<Animator>().DoScaledAnimationAsync("AssistantBopRight", .5f);
labGuy.DoScaledAnimationAsync("GuyBopRight", .5f);
labGirl.DoScaledAnimationAsync("GirlBopRight", .5f);
labAssistant.DoScaledAnimationAsync("AssistantBopRight", .5f);
}
else
{
labGuy.GetComponent<Animator>().DoScaledAnimationAsync("GuyBopLeft", .5f);
labGirl.GetComponent<Animator>().DoScaledAnimationAsync("GirlBopLeft", .5f);
labAssistant.GetComponent<Animator>().DoScaledAnimationAsync("AssistantBopLeft", .5f);
labGuy.DoScaledAnimationAsync("GuyBopLeft", .5f);
labGirl.DoScaledAnimationAsync("GirlBopLeft", .5f);
labAssistant.DoScaledAnimationAsync("AssistantBopLeft", .5f);
}
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
#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()
{
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("WhiffUp");
labGirlArm.DoScaledAnimationAsync("WhiffUp");
}
public void onWhiffDown()
{
labGirlArm.GetComponent<Animator>().DoScaledAnimationAsync("WhiffDown");
labGirlArm.DoScaledAnimationAsync("WhiffDown");
}
#endregion
@ -1551,9 +1127,9 @@ namespace HeavenStudio.Games
//SoundByte.PlayOneShot("miss");
//instance.hasMissed = true;
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);

View file

@ -21,11 +21,6 @@ namespace HeavenStudio.Games.Scripts_LoveLab
conductor = Conductor.instance;
}
void Start()
{
}
void Update()
{
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)
{
//SoundByte.PlayOneShot("miss");
//LoveLab.instance.hasMissed = true;
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);
@ -513,11 +87,6 @@ namespace HeavenStudio.Games.Scripts_LoveLab
{
//empty
}
private void OnDestroy()
{
}
}
}

View file

@ -99,27 +99,16 @@ namespace HeavenStudio.Games.Scripts_LoveLab
Destroy(this.gameObject);
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)
{