This commit is contained in:
SoulliesOfficial
2025-09-05 10:14:45 -04:00
parent 4031b29245
commit d4fcca7740
65 changed files with 838 additions and 294 deletions

View File

@@ -39,7 +39,7 @@ namespace Ichni.RhythmGame
if (fieldOfView.returnType == FlexibleReturnType.MiddleExecuting)
{
targetGameCamera.perspectiveAngle = fieldOfView.value;
targetGameCamera.gameCamera.fieldOfView = fieldOfView.value;
targetGameCamera.cam.fieldOfView = fieldOfView.value;
}
}

View File

@@ -2,6 +2,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using DG.Tweening;
using Ichni.RhythmGame.Beatmap;
using Ichni.UI;
using UniRx;
@@ -13,7 +14,7 @@ namespace Ichni.RhythmGame
{
public partial class GameCamera : GameElement, IHaveTransformSubmodule, IHaveTimeDurationSubmodule
{
[FormerlySerializedAs("camera")] public new Camera gameCamera;
public Camera cam;
public Transform rotationPoint;
public Transform positionPoint;
public Transform cameraTransform;
@@ -40,7 +41,7 @@ namespace Ichni.RhythmGame
gameCamera.parentElement = parentElement;
gameCamera.cameraViewType = cameraViewType;
gameCamera.gameCamera.orthographic = cameraViewType == CameraViewType.Orthographic;
gameCamera.cam.orthographic = cameraViewType == CameraViewType.Orthographic;
gameCamera.perspectiveAngle = perspectiveAngle;
gameCamera.orthographicSize = orthographicSize;
gameCamera.cameraTransform = gameCamera.transform;
@@ -55,7 +56,7 @@ namespace Ichni.RhythmGame
//gameCamera.perspectiveOffset = 11f * ratioDifference;
}
gameCamera.gameCamera.fieldOfView = perspectiveAngle + gameCamera.perspectiveOffset;
gameCamera.cam.fieldOfView = perspectiveAngle + gameCamera.perspectiveOffset;
return gameCamera;
}
@@ -63,7 +64,7 @@ namespace Ichni.RhythmGame
{
base.AfterInitialize();
//gameCamera.GetComponent<UniversalAdditionalCameraData>().cameraStack.Add(cameraManager.uiCamera);
GameManager.instance.backgroundController.backgroundCanvas.worldCamera = gameCamera;
GameManager.instance.backgroundController.backgroundCanvas.worldCamera = cam;
}
public override void SetDefaultSubmodules()

View File

@@ -24,7 +24,7 @@ namespace Ichni.RhythmGame
public void ApplyExtension()
{
gameCamera.gameCamera.farClipPlane = farClipRange;
gameCamera.cam.farClipPlane = farClipRange;
}
}

View File

@@ -14,7 +14,7 @@ namespace Ichni.RhythmGame
public Vector3 offsetValue;
public AnimationCurve offsetCurve;
Transform gameCameraTransform => GameManager.instance.cameraManager.gameCamera.gameCamera.transform;
Transform gameCameraTransform => GameManager.instance.cameraManager.gameCamera.cam.transform;
Tweener offsetTweener;
public CameraOffsetEffect(float duration, Vector3 offsetValue, AnimationCurve offsetCurve)

View File

@@ -12,8 +12,9 @@ namespace Ichni.RhythmGame
public Vector3 tiltValue;
public AnimationCurve tiltCurve;
Transform gameCameraTransform => GameManager.instance.cameraManager.gameCamera.gameCamera.transform;
GameCamera gameCamera=> GameManager.instance.cameraManager.gameCamera;
Tweener tiltTweener;
Tweener tiltBackTweener;
public CameraTiltEffect(float duration, Vector3 tiltValue, AnimationCurve tiltCurve)
{
@@ -26,17 +27,17 @@ namespace Ichni.RhythmGame
public override void Recover()
{
tiltTweener?.Kill(true);
gameCameraTransform.localEulerAngles = Vector3.zero;
tiltBackTweener?.Kill(true);
gameCamera.cam.transform.localEulerAngles = Vector3.zero;
}
public override void PreExecute()
{
tiltTweener = gameCameraTransform.DOBlendableLocalRotateBy(tiltValue, duration, RotateMode.FastBeyond360).SetEase(tiltCurve).Play();
tiltTweener = gameCamera.cam.transform.DOBlendableLocalRotateBy(tiltValue, duration, RotateMode.FastBeyond360).SetEase(tiltCurve).Play();
}
public override void Adjust()
{
}
public override EffectBase_BM ConvertToBM()
@@ -47,7 +48,7 @@ namespace Ichni.RhythmGame
public override void Disrupt()
{
tiltTweener?.Kill();
gameCameraTransform.DOLocalRotate(Vector3.zero, 0.4f).Play();
tiltBackTweener = gameCamera.cam.transform.DOLocalRotate(Vector3.zero, 0.4f).SetEase(Ease.OutSine).Play();
}
}

View File

@@ -48,7 +48,7 @@ namespace Ichni.RhythmGame
float distance = Vector2.Distance(inputScreenPosition, noteScreenPosition);
if (distance <= areaRadius * CurrentScreenRatio())
if (distance <= areaRadius)
{
if (inputUnit is InputUnitSwipe swipe && note is Flick flick)
{
@@ -86,7 +86,7 @@ namespace Ichni.RhythmGame
public override NoteJudgeUnit ConvertToGameType(NoteBase attachedNote)
{
#if UNITY_EDITOR || UNITY_STANDALONE
#if UNITY_STANDALONE
return new FullScreenNearTimeJudgeUnit(attachedNote);
#elif UNITY_ANDROID || UNITY_IOS
return new TouchAreaJudgeUnit(attachedNote, areaRadius);

View File

@@ -144,7 +144,7 @@ namespace Ichni.RhythmGame
return true;
}
Camera gameCamera = GameManager.instance.cameraManager.gameCamera.gameCamera;
Camera gameCamera = GameManager.instance.cameraManager.gameCamera.cam;
foreach (Vector2 localDir in availableFlickDirections)
{

View File

@@ -345,9 +345,15 @@ namespace Ichni.RhythmGame
if (!isFirstJudged && GameManager.instance.songTime > exactJudgeTime + judgeIntervals.afterMiss)
{
Miss(exactJudgeTime + judgeIntervals.afterMiss);
isFirstJudged = true;
isFinalJudged = true;
foreach (EffectBase e in noteVisual.effectSubmodule.effectCollection["StartHold"])
{
e.Disrupt();
}
Miss(exactJudgeTime + judgeIntervals.afterMiss);
RemoveFromCheckingList();
}
}

View File

@@ -292,7 +292,7 @@ namespace Ichni.RhythmGame
{
public Vector2 GetScreenPosition()
{
return GameManager.instance.cameraManager.gameCamera.gameCamera.WorldToScreenPoint(noteVisual.noteVisualPosition);
return GameManager.instance.cameraManager.gameCamera.cam.WorldToScreenPoint(noteVisual.noteVisualPosition);
}
protected virtual void SetJudgeArea()

View File

@@ -50,11 +50,8 @@ namespace Ichni.RhythmGame
if (trackPercent.returnType == FlexibleReturnType.MiddleExecuting)
{
float finalValue = trackPercent.value;
if (finalValue > 1 && finalValue > Mathf.Floor(finalValue)) finalValue -= Mathf.Floor(finalValue);
if (isBeyond1)
{
finalValue -= Mathf.Floor(finalValue);
}
trackPositioner.SetPercent(finalValue);
}