using System.Diagnostics; using System.Collections; using System.Collections.Generic; using System; using Godot; namespace Rokojori { [Tool] [Icon("res://Scripts/Rokojori/Rokojori-Action-Library/Icons/VirtualCamera3DSlot.svg") ] [GlobalClass] public partial class VirtualCamera3DSlot:RJAction { [Export] public RJVirtualCamera3D camera; [Export] public float priority; float _smoothedPriority; public float smoothedPriority => _smoothedPriority; Smoother smoother = new Smoother(); public void Update( double delta, VirtualCamera3DManager manager ) { _smoothedPriority = smoother.SmoothWithCoefficient( _smoothedPriority, priority, manager.safeSmoothing, (float) delta, manager.smoothStepDelta ); } public override void _OnTrigger() { var vm = GetParent(); if ( vm == null ) { return; } vm.SetActiveSlot( this ); } } }