Initial files

This commit is contained in:
2024-04-21 16:38:26 +02:00
parent c69c668ae6
commit cf04700131
554 changed files with 131197 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
public interface IKeyframeSetter
{
public void SetKeyframe(int frameNum);
public void EnableKeyframeSet();
public void DisableKeyframeSet();
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8fa2a5bc09d8ef04c8e7844a4c11ade4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,26 @@
[System.Serializable]
public class KeyframeData
{
public SerializableTransform Root;
public KeyframeData() { }
public KeyframeData(ObjectContainer container)
{
this.Root = new SerializableTransform(container.transform);
}
public virtual KeyframeData Clone()
{
var keyframe = new KeyframeData();
keyframe.Root = new SerializableTransform(this.Root);
return keyframe;
}
public virtual KeyframeData Lerp(KeyframeData target, float amount)
{
var copy = this.Clone();
copy.Root = copy.Root.LerpWith(target.Root, amount);
return copy;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 78f95c9a0a831be438b081224ae745eb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,72 @@
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
[System.Serializable]
public class KeyframeDataCamera : KeyframeData
{
public SerializableTransform CamTransform;
public int CameraMode;
public bool CameraLock;
public float Fov = 45;
public float CamDist = 5;
public float CamHeight = 1;
public float TargetHeigh = 1;
public float CamAngle = 0;
public float MovSpeed = 5;
public float RotSpeed = 1;
public float ZoomSpeed = 0.2f;
public KeyframeDataCamera() { }
public KeyframeDataCamera(CameraContainer camera)
{
Root = new SerializableTransform(camera.Camera.transform);
CamTransform = new SerializableTransform(camera.Camera.Cam.transform);
var settings = camera.Settings;
CameraMode = settings.CameraMode;
CameraLock = settings.CameraLock;
Fov = settings.Fov;
CamDist = settings.CamDist;
CamHeight = settings.CamHeight;
TargetHeigh = settings.TargetHeight;
CamAngle = settings.CamAngle;
MovSpeed = settings.MovSpeed;
RotSpeed = settings.RotSpeed;
ZoomSpeed = settings.ZoomSpeed;
}
public override KeyframeData Clone()
{
var keyframe = new KeyframeDataCamera();
keyframe.Root = new SerializableTransform(this.Root);
keyframe.CamTransform = new SerializableTransform(this.CamTransform);
keyframe.CameraMode = this.CameraMode;
keyframe.CameraLock = this.CameraLock;
keyframe.Fov = this.Fov;
keyframe.CamDist = this.CamDist;
keyframe.CamHeight = this.CamHeight;
keyframe.TargetHeigh = this.TargetHeigh;
keyframe.CamAngle = this.CamAngle;
keyframe.MovSpeed = this.MovSpeed;
keyframe.RotSpeed = this.RotSpeed;
keyframe.ZoomSpeed = this.ZoomSpeed;
return keyframe;
}
public override KeyframeData Lerp(KeyframeData target1, float amount)
{
var target = target1 as KeyframeDataCamera;
var copy = this.Clone() as KeyframeDataCamera;
copy.Root = copy.Root.LerpWith(target.Root, amount);
copy.CamTransform = copy.CamTransform.LerpWith(target.CamTransform, amount);
copy.Fov = Mathf.Lerp(copy.Fov, target.Fov, amount);
copy.CamDist = Mathf.Lerp(copy.CamDist, target.CamDist, amount);
copy.CamHeight = Mathf.Lerp(copy.CamHeight, target.CamHeight, amount);
copy.TargetHeigh = Mathf.Lerp(copy.TargetHeigh, target.TargetHeigh, amount);
copy.CamAngle = Mathf.Lerp(copy.CamAngle, target.CamAngle, amount);
return copy;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6436dcc628970074cb9f996d0953e8fe
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,40 @@
using System;
public class KeyframeToggleContext : IDisposable
{
private IKeyframeSetter _keyframmable;
private bool _enableKeyframes;
public KeyframeToggleContext(IKeyframeSetter keyframmable, bool enableKeyframes = false)
{
_keyframmable = keyframmable;
_enableKeyframes = enableKeyframes;
Toggle(true);
}
public void ForceSetKeyframe(int frameNum = -1)
{
Toggle(false);
_keyframmable.SetKeyframe(frameNum);
Toggle(true);
}
public void Dispose()
{
Toggle(false);
}
private void Toggle(bool on)
{
if (on)
{
if (_enableKeyframes) _keyframmable.EnableKeyframeSet();
else _keyframmable.DisableKeyframeSet();
}
else
{
if (_enableKeyframes) _keyframmable.DisableKeyframeSet();
else _keyframmable.EnableKeyframeSet();
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 943743df82cb7ce41a28df2e9cda34dd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: