Files
ichni_Official/Assets/Scripts/Game/GameElements/GameCamera/GameCameraExtension.cs

65 lines
2.1 KiB
C#
Raw Normal View History

2025-06-03 02:42:28 -04:00
using System;
using System.Collections;
using System.Collections.Generic;
using Ichni.RhythmGame.Beatmap;
namespace Ichni.RhythmGame
{
public partial class GameCameraExtension : GameElement
{
public GameCamera gameCamera;
public float farClipRange = 1000f;
public static GameCameraExtension GenerateElement(string elementName, Guid id,
List<string> tags, bool isFirstGenerated, GameElement parentElement, float farClipRange)
{
GameCameraExtension gameCameraExtension = Instantiate(GameManager.instance.basePrefabs.emptyObject).AddComponent<GameCameraExtension>();
gameCameraExtension.Initialize(elementName, id, tags, isFirstGenerated, parentElement);
gameCameraExtension.gameCamera = parentElement as GameCamera;
gameCameraExtension.farClipRange = farClipRange;
gameCameraExtension.ApplyExtension();
return gameCameraExtension;
}
public void ApplyExtension()
{
2025-09-05 10:14:45 -04:00
gameCamera.cam.farClipPlane = farClipRange;
2025-06-03 02:42:28 -04:00
}
}
public partial class GameCameraExtension
{
public override void SaveBM()
{
matchedBM = new GameCameraExtension_BM(elementName, elementGuid, tags,
parentElement.matchedBM as GameElement_BM, farClipRange);
}
}
namespace Beatmap
{
public class GameCameraExtension_BM : GameElement_BM
{
public float farClipRange;
public GameCameraExtension_BM()
{
}
public GameCameraExtension_BM(string elementName, Guid elementGuid, List<string> tags,
GameElement_BM attachedElement, float farClipRange)
: base(elementName, elementGuid, tags, attachedElement)
{
this.farClipRange = farClipRange;
}
public override void ExecuteBM()
{
matchedElement = GameCameraExtension.GenerateElement(elementName, elementGuid, tags, false,
GetElement(attachedElementGuid), farClipRange);
}
}
}
}