"""Fixed""" hearts

This commit is contained in:
wookywok 2024-05-04 21:14:29 -05:00
parent 016577a2b2
commit d178f8f51d
4 changed files with 155 additions and 116 deletions

View file

@ -596,6 +596,7 @@ Transform:
- {fileID: 4352296737110256235}
- {fileID: 7647075704793663215}
- {fileID: 8099365789100165778}
- {fileID: 7492619980896112047}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -661,6 +662,7 @@ MonoBehaviour:
canCallForFlask: 1
isHolding: 0
counter: 0
startBeat: 0
clouds: {fileID: 1922318453852840058}
cloudSpeed: 0.06
cloudDistance: 30
@ -683,7 +685,7 @@ MonoBehaviour:
girlHearts: []
completeHearts: []
currentHearts:
endPoint: {fileID: 1217812902585448614}
endPoint: {fileID: 7492619980896112047}
shaderColorsDebug:
- _ColorAlpha
- _ColorBravo
@ -12229,13 +12231,15 @@ MonoBehaviour:
length: 0
heartCount: 0
hasChecked: 0
playBackSpeed: 0
intervalSpeed: 0
_step: 0
tweenComplete: 0
onlyOne: 1
end: {fileID: 1217812902585448614}
end: {fileID: 7492619980896112047}
timer: 0
isWaiting: 1
dropStart: {x: 0, y: 0, z: 0}
currentBeat: 0
endValue: 0
--- !u!1 &1508548489959844048
GameObject:
@ -13895,7 +13899,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 8457364593320657144}
- component: {fileID: 5448723278940334424}
- component: {fileID: 4013968317955737354}
m_Layer: 0
m_Name: Heart (2)
m_TagString: Untagged
@ -13919,7 +13923,7 @@ Transform:
m_Father: {fileID: 3429383938462062733}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &5448723278940334424
--- !u!114 &4013968317955737354
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -13945,13 +13949,15 @@ MonoBehaviour:
length: 0
heartCount: 0
hasChecked: 0
playBackSpeed: 0
intervalSpeed: 0
_step: 0
tweenComplete: 0
onlyOne: 1
end: {fileID: 1217812902585448614}
end: {fileID: 7492619980896112047}
timer: 0
isWaiting: 1
dropStart: {x: 0, y: 0, z: 0}
currentBeat: 0
endValue: 0
--- !u!1 &2545510530621710180
GameObject:
@ -19479,7 +19485,6 @@ Transform:
m_Children:
- {fileID: 3368113456851434604}
- {fileID: 7766427145776930279}
- {fileID: 1217812902585448614}
m_Father: {fileID: 878409105178889012}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -31495,13 +31500,15 @@ MonoBehaviour:
length: 0
heartCount: 0
hasChecked: 0
playBackSpeed: 0
intervalSpeed: 0
_step: 0
tweenComplete: 0
onlyOne: 1
end: {fileID: 1217812902585448614}
end: {fileID: 7492619980896112047}
timer: 0
isWaiting: 1
dropStart: {x: 0, y: 0, z: 0}
currentBeat: 0
endValue: 0
--- !u!1 &4711397537335041467
GameObject:
@ -32046,37 +32053,6 @@ Transform:
m_Father: {fileID: 4352296737110256235}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5142976589145930095
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1217812902585448614}
m_Layer: 0
m_Name: EndPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1217812902585448614
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5142976589145930095}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4674094147555684652}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5307057251015753346
GameObject:
m_ObjectHideFlags: 0
@ -32678,7 +32654,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5720462754445386488}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4ac4985fbd444824ba80ae18fc8d0fc6, type: 3}
m_Name:
@ -32697,13 +32673,15 @@ MonoBehaviour:
length: 0
heartCount: 0
hasChecked: 0
playBackSpeed: 0
intervalSpeed: 0
_step: 0
tweenComplete: 0
onlyOne: 1
end: {fileID: 1217812902585448614}
end: {fileID: 7492619980896112047}
timer: 0
isWaiting: 1
dropStart: {x: 0, y: 0, z: 0}
currentBeat: 0
endValue: 0
--- !u!1 &5748955415339632706
GameObject:
@ -40221,6 +40199,37 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &7784569542689620913
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7492619980896112047}
m_Layer: 0
m_Name: EndPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7492619980896112047
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7784569542689620913}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -2.7, y: -3, z: 0}
m_LocalScale: {x: 0.76234, y: 0.76234, z: 0.76234}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 878409105178889012}
m_RootOrder: 12
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7802884331815006546
GameObject:
m_ObjectHideFlags: 0

View file

@ -28,7 +28,7 @@ AnimationClip:
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.06666667
time: 0.13333334
value: {x: -0.039, y: 0, z: 0}
inSlope: {x: Infinity, y: Infinity, z: Infinity}
outSlope: {x: Infinity, y: Infinity, z: Infinity}
@ -37,7 +37,7 @@ AnimationClip:
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.13333334
time: 0.26666668
value: {x: -0.072, y: 0, z: 0}
inSlope: {x: Infinity, y: Infinity, z: Infinity}
outSlope: {x: Infinity, y: Infinity, z: Infinity}
@ -46,7 +46,7 @@ AnimationClip:
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.23333333
time: 0.46666667
value: {x: -0.039, y: 0, z: 0}
inSlope: {x: Infinity, y: Infinity, z: Infinity}
outSlope: {x: Infinity, y: Infinity, z: Infinity}
@ -55,7 +55,7 @@ AnimationClip:
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.3
time: 0.6
value: {x: 0, y: 0, z: 0}
inSlope: {x: Infinity, y: Infinity, z: Infinity}
outSlope: {x: Infinity, y: Infinity, z: Infinity}
@ -90,7 +90,7 @@ AnimationClip:
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.3
m_StopTime: 0.6
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
@ -119,7 +119,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.06666667
time: 0.13333334
value: -0.039
inSlope: Infinity
outSlope: Infinity
@ -128,7 +128,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.13333334
time: 0.26666668
value: -0.072
inSlope: Infinity
outSlope: Infinity
@ -137,7 +137,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.23333333
time: 0.46666667
value: -0.039
inSlope: Infinity
outSlope: Infinity
@ -146,7 +146,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.3
time: 0.6
value: 0
inSlope: Infinity
outSlope: Infinity
@ -173,15 +173,6 @@ AnimationClip:
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.06666667
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.13333334
value: 0
@ -192,7 +183,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.23333333
time: 0.26666668
value: 0
inSlope: Infinity
outSlope: Infinity
@ -201,7 +192,16 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.3
time: 0.46666667
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.6
value: 0
inSlope: Infinity
outSlope: Infinity
@ -228,15 +228,6 @@ AnimationClip:
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.06666667
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.13333334
value: 0
@ -247,7 +238,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.23333333
time: 0.26666668
value: 0
inSlope: Infinity
outSlope: Infinity
@ -256,7 +247,16 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.3
time: 0.46666667
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.6
value: 0
inSlope: Infinity
outSlope: Infinity

View file

@ -65,6 +65,7 @@ namespace HeavenStudio.Games.Loaders
{
function = delegate { LoveLab.instance.mainBoxGuy(e.currentEntity.beat, e.currentEntity["type"]); },
defaultLength = 2f,
resizable = true,
parameters = new List<Param>()
{
new Param("type", LoveLab.boxGuyAction.takeAway, "Action", "Box Guy's Actions")
@ -208,6 +209,7 @@ namespace HeavenStudio.Games
int isLongCount = 0;
bool canCloudsMove = true;
bool hasShakenUp = false;
public double startBeat;
[Header("Clouds")]
[SerializeField] GameObject clouds;
@ -884,6 +886,11 @@ namespace HeavenStudio.Games
foreach(LoveLabHearts h in instance.girlHearts)
{
h.stop = true;
LoveLabHearts a = Instantiate(instance.completeHeartObj, instance.heartHolder).GetComponent<LoveLabHearts>();
a.transform.position = new Vector2(a.transform.position.x, h.transform.position.y);
a.heartBeat = caller.startBeat + caller.timer + 1f;
a.end = instance.endPoint;
instance.completeHearts.Add(a);
}
for(int x = 0; x < instance.currentHearts[0]; x++)
@ -891,42 +898,33 @@ namespace HeavenStudio.Games
instance.guyHearts[0].heartAnim.Play("HeartMerge");
instance.girlHearts[0].heartAnim.Play("HeartGirlMerge");
LoveLabHearts a = Instantiate(instance.completeHeartObj, instance.heartHolder).GetComponent<LoveLabHearts>();
a.transform.position = new Vector2(a.transform.position.x, instance.girlHearts[0].transform.position.y);
a.heartBeat = caller.startBeat + caller.timer + 1f;
a.end = instance.endPoint;
instance.completeHearts.Add(a);
//a.goDown();
instance.guyHearts.RemoveAt(0);
instance.girlHearts.RemoveAt(0);
}
var additionalHearts = 0.063f;
foreach(LoveLabHearts a in instance.completeHearts)
{
//a.startDrop();
}
for(int x = 0; x < lastCounter; x++)
{
foreach (LoveLabHearts c in instance.completeHearts)
{
c.dropStart = c.transform.position;
c.isWaiting = false;
c.timer = (2.25f + (additionalHearts * x));
//Debug.LogWarning(2.25f + (additionalHearts * x));
c.tempDestroy(beat); //temporary until drop works
}
//Debug.LogWarning(2.25f + (additionalHearts * x));
//instance.completeHearts[x].dropStart = instance.completeHearts[x].transform.position;
instance.completeHearts[x].isWaiting = false;
instance.completeHearts[x].timer = (2.25f + (additionalHearts * x));
//instance.completeHearts[x].isWaiting = false;
}
//instance.currentHearts.RemoveAt(0);
instance.currentHearts.RemoveAt(0);
//instance.currentHearts.Clear();
}),
});
@ -1442,6 +1440,8 @@ namespace HeavenStudio.Games
var cond = Conductor.instance;
var songPos = cond.songPositionInBeatsAsDouble;
float normalizedBeat = Conductor.instance.GetPositionFromBeat(startBeat, 5f);
if (!cond.isPlaying)
{
preChecks(songPos);

View file

@ -38,7 +38,7 @@ namespace HeavenStudio.Games.Scripts_LoveLab
double endTime;
public int heartCount;
public bool hasChecked;
float playBackSpeed;
public float playBackSpeed;
public double intervalSpeed;
public float _step;
public bool tweenComplete;
@ -49,7 +49,7 @@ namespace HeavenStudio.Games.Scripts_LoveLab
public bool isWaiting = true;
SpriteRenderer heartRenderer;
public Vector3 dropStart;
public GameObject motionRoot;
public double currentBeat;
//y = 0 (endpoint)
@ -79,6 +79,7 @@ namespace HeavenStudio.Games.Scripts_LoveLab
playBackSpeed = Timeline.instance.PlaybackSpeed.value;
addPos = 2.5f; //3f
heartRenderer = this.GetComponent<SpriteRenderer>();
//dropStart = new Vector3 (transform.position.x, origPos.y+(addPos), transform.position.z);
}
void Start()
@ -90,6 +91,7 @@ namespace HeavenStudio.Games.Scripts_LoveLab
origPos = transform.position;
//Debug.LogWarning(testContainer);
speedMultiplier = game.speedForHeartsMultiplier;
//end.position = new Vector2(-2.7f, -3f);
//test = (((float)intervalSpeed / cond.GetBpmAtBeat(heartBeat)) * playBackSpeed);
//var currentBeat = cond.songPositionInBeatsAsDouble;
@ -113,7 +115,7 @@ namespace HeavenStudio.Games.Scripts_LoveLab
//{
// addPos = 1.5f;
//}
DOTween.timeScale = 1f;
//DOTween.timeScale = playBackSpeed;
var a = (float)(length * cond.secPerBeat) / playBackSpeed;
Debug.LogWarning("Length: " + length);
Debug.LogWarning("Sec per beat: " + cond.secPerBeat);
@ -131,6 +133,11 @@ namespace HeavenStudio.Games.Scripts_LoveLab
Debug.LogWarning(idk);
}
public void startDrop()
{
}
public void updateBeat()
{
//test = .2f * ((60 / cond.GetBpmAtBeat(heartBeat) * _step) * playBackSpeed);
@ -152,6 +159,7 @@ namespace HeavenStudio.Games.Scripts_LoveLab
void FixedUpdate()
{
currentBeat = cond.songPositionInBeatsAsDouble;
if(!stop && whatHeartType != heartType.completeHeart)
{
@ -164,43 +172,60 @@ namespace HeavenStudio.Games.Scripts_LoveLab
//transform.DOMoveY(origPos.y + (addPos), (float)((intervalSpeed / cond.GetBpmAtBeat(heartBeat)) * 60)).SetEase(Ease.OutBack);
//transform.DOMoveY(origPos.y + (addPos), (float)((intervalSpeed * cond.secPerBeat / cond.GetBpmAtBeat(heartBeat)) * 60) * playBackSpeed).SetEase(Ease.OutBack);
//transform.DOMoveY(origPos.y + (addPos), (float)((intervalSpeed * cond.secPerBeat / cond.GetBpmAtBeat(heartBeat)) * 60) * playBackSpeed).SetEase(Ease.OutBack);
//goUp((float)((intervalSpeed * cond.secPerBeat / cond.GetBpmAtBeat(heartBeat)) * 60) * playBackSpeed);
goUp((float)((intervalSpeed * cond.secPerBeat / cond.GetBpmAtBeat(heartBeat)) * 60) * playBackSpeed);
//DOTween.timeScale = playBackSpeed;
//DOTween.timeScale = cond.pitchedSecPerBeat;
goUp((float)((length * cond.secPerBeat)) / playBackSpeed);
//upTween.ChangeEndValue(new Vector3(transform.position.x, endValue, transform.position.z), -1, true);
//float normalizedBeat = Conductor.instance.GetPositionFromBeat(heartBeat, length);
//if (normalizedBeat <= 1) goUp((float)(((length * cond.secPerBeat)) / playBackSpeed));
//upTween.ChangeEndValue(new Vector3(transform.position.x, endValue, transform.position.z));
//var t = ((float)cond.secPerBeat * length) * (transform.position.y - origPos.y) / addPos;
//upTween.Goto((float)t, true);
}
else if(whatHeartType == heartType.completeHeart)
else if (!isWaiting)
{
float normalizedBeat = Conductor.instance.GetPositionFromBeat(heartBeat, ((timer/2)*playBackSpeed));
float newPosY = EasingFunction.EaseInQuad(transform.position.y, -3f, normalizedBeat);
if (normalizedBeat<=1) transform.position = new Vector2(transform.position.x, newPosY);
else destroyWhenDone();
if (isWaiting)
{
transform.DOMoveY(transform.position.y, (float)(cond.secPerBeat / intervalSpeed) * playBackSpeed).SetEase(Ease.InBack);
}
else if (!isWaiting)
{
//if (normalizedBeat >= 1) {destroyWhenDone();}
//transform.position = Vector2.Lerp(dropStart, end.position, newPosY);
//transform.position = new Vector2(transform.position.x, newPosY);
//if (isWaiting)
//{
//transform.DOMoveY(transform.position.y, (float)(cond.secPerBeat / intervalSpeed) * playBackSpeed).SetEase(Ease.InBack);
//}
//else if (!isWaiting)
//{
//DOTween.timeScale = cond.songPositionInBeats;
HandleHeartDrop((float)timer);
}
//HandleHeartDrop( (float)timer);
//}
//transform.DOMoveY(transform.position.y, (float)(cond.secPerBeat / intervalSpeed) * playBackSpeed).SetEase(Ease.InBack);
//goDown();
}
else {transform.position = new Vector2(dropStart.x, dropStart.y);}
//transform.position = Vector3.Lerp(origPos, new Vector3(origPos.x, origPos.y + addPos), Mathf.SmoothStep(0, 1, testContainer));
}
public void goUp(float timer)
{
transform.DOMoveY(origPos.y + (addPos), timer).SetEase(Ease.OutBack);
//float newPosY = EasingFunction.EaseInQuad(origPos.y, (origPos.y+(addPos)), timer);
//transform.position = new Vector2(transform.position.x, newPosY);
}
public void goDown()
{
//DOTween.timeScale = cond.pitchedSecPerBeat;
transform.DOLocalMoveY(end.position.y, (float)timer).From(true).SetEase(Ease.InBack);
//transform.DOLocalMoveY(end.position.y, (float)timer).From(true).SetEase(Ease.InBack);
Debug.LogWarning("go down");
//DOTween.timeScale = playBackSpeed;
@ -211,7 +236,7 @@ namespace HeavenStudio.Games.Scripts_LoveLab
//sorting layer = 1020
}
public void HandleHeartDrop(float length)
public void HandleHeartDrop(float fallDuration, double currentBeat)
{
@ -220,10 +245,15 @@ namespace HeavenStudio.Games.Scripts_LoveLab
//float dropTimeScale = length * cond.pitchedSecPerBeat;
//float newYValue = Mathf.Lerp(dropStart.y, end.position.y, dropTimeScale);
//transform.position = new Vector3 (transform.position.x, newYValue, transform.position.z);
//heartRenderer.sortingOrder = 1020;
//float dropTimeScale = (length/cond.secPerBeat)/playBackSpeed;
//transform.DOMove (new Vector2 (transform.position.x, end.position.y), ((length*cond.pitchedSecPerBeat)), false).SetEase(Ease.InQuad);
//if (transform.position.y == end.position.y) destroyWhenDone();
float dropTimeScale = cond.pitchedSecPerBeat * length;
transform.DOLocalMove (new Vector2 (transform.position.x, end.position.y), dropTimeScale, false).SetEase(Ease.InQuad);
if (transform.position.y == end.position.y) destroyWhenDone();
//var currentBeat = cond.songPositionInBeatsAsDouble;
//float currentBeatPosition = ((float)currentBeat*fallDuration);
////float newPosY = EasingFunction.EaseInSine(dropStart.y, end.position.y, currentBeatPosition);
//transform.position = new Vector2(transform.position.x, newPosY);
}