This commit is contained in:
2025-05-26 17:04:33 +02:00
parent f0536f4129
commit 6bda371baa
303 changed files with 1361 additions and 1372 deletions

101
Runtime/Engine/Code/Components/CopyTransform.cs Normal file → Executable file
View File

@@ -1,39 +1,64 @@
using System;
using UnityEngine;
namespace RebootKit.Engine.Components {
[Flags]
public enum TransformComponents {
None = 0,
Position = 1 << 0,
Rotation = 1 << 1,
Scale = 1 << 2,
All = Position | Rotation | Scale
}
[DefaultExecutionOrder(100)]
public class CopyTransform : MonoBehaviour {
[SerializeField] TransformComponents m_Components = TransformComponents.All;
[SerializeField] Transform m_Source;
Transform m_Transform;
void Awake() {
m_Transform = transform;
}
void LateUpdate() {
if (m_Components.HasFlag(TransformComponents.Position)) {
m_Transform.position = m_Source.position;
}
if (m_Components.HasFlag(TransformComponents.Rotation)) {
m_Transform.rotation = m_Source.rotation;
}
if (m_Components.HasFlag(TransformComponents.Scale)) {
m_Transform.localScale = m_Source.localScale;
}
}
}
using System;
using UnityEngine;
namespace RebootKit.Engine.Components {
[Flags]
public enum TransformComponents {
None = 0,
Position = 1 << 0,
Rotation = 1 << 1,
Scale = 1 << 2,
All = Position | Rotation | Scale
}
[DefaultExecutionOrder(100)]
public class CopyTransform : MonoBehaviour {
enum UpdateLoop {
Update,
LateUpdate,
FixedUpdate
}
[SerializeField] TransformComponents m_Components = TransformComponents.All;
[SerializeField] Transform m_Source;
[SerializeField] UpdateLoop m_UpdateLoop = UpdateLoop.LateUpdate;
Transform m_Transform;
void Awake() {
m_Transform = transform;
}
void FixedUpdate() {
if (m_UpdateLoop == UpdateLoop.FixedUpdate) {
CopyTransformComponents();
}
}
void Update() {
if (m_UpdateLoop == UpdateLoop.Update) {
CopyTransformComponents();
}
}
void LateUpdate() {
if (m_UpdateLoop == UpdateLoop.LateUpdate) {
CopyTransformComponents();
}
}
void CopyTransformComponents() {
if (m_Components.HasFlag(TransformComponents.Position)) {
m_Transform.position = m_Source.position;
}
if (m_Components.HasFlag(TransformComponents.Rotation)) {
m_Transform.rotation = m_Source.rotation;
}
if (m_Components.HasFlag(TransformComponents.Scale)) {
m_Transform.localScale = m_Source.localScale;
}
}
}
}

0
Runtime/Engine/Code/Components/CopyTransform.cs.meta Normal file → Executable file
View File