特效范例

This commit is contained in:
SoulliesOfficial
2025-02-19 09:15:51 -05:00
parent b36f0469d0
commit 5349cde381
26 changed files with 531 additions and 216 deletions

View File

@@ -2,10 +2,12 @@ using System;
using System.Collections;
using System.Collections.Generic;
using Dreamteck.Splines;
using Ichni.Editor;
using Ichni.RhythmGame.Beatmap;
using Lean.Pool;
using UniRx;
using UnityEngine;
using UnityEngine.Rendering.Universal;
using UnityEngine.Serialization;
namespace Ichni.RhythmGame
@@ -23,15 +25,28 @@ namespace Ichni.RhythmGame
public TransformSubmodule transformSubmodule { get; set; }
public TimeDurationSubmodule timeDurationSubmodule { get; set; }
private static CameraManager cameraManager => EditorManager.instance.cameraManager;
public static GameCamera GenerateElement(string elementName, Guid id,
List<string> tags, bool isFirstGenerated, GameElement parentElement,
CameraViewType cameraViewType, float perspectiveAngle, float orthographicSize)
{
if (EditorManager.instance.cameraManager.haveGameCamera)
{
LogWindow.Log("Only one GameCamera can be created", Color.red);
return null;
}
GameCamera gameCamera =
Instantiate(EditorManager.instance.basePrefabs.gameCamera).GetComponent<GameCamera>();
gameCamera.Initialize(elementName, id, tags, isFirstGenerated, parentElement);
cameraManager.gameCamera = gameCamera;
cameraManager.backgroundCamera.GetComponent<UniversalAdditionalCameraData>().cameraStack.Add(gameCamera.camera);
if (cameraManager.isSceneCameraActive) gameCamera.camera.enabled = false;
gameCamera.parentElement = parentElement;
gameCamera.cameraViewType = cameraViewType;
gameCamera.camera.orthographic = cameraViewType == CameraViewType.Orthographic;
@@ -132,7 +147,7 @@ namespace Ichni.RhythmGame
public override void ExecuteBM()
{
GameCamera.GenerateElement(elementName, elementGuid, tags, false,
matchedElement = GameCamera.GenerateElement(elementName, elementGuid, tags, false,
GetElement(attachedElementGuid), cameraViewType, perspectiveAngle, orthographicSize);
}