gitextract_44xrvwqt/ ├── Builds/ │ ├── BaseLibrary/ │ │ ├── Editor/ │ │ │ ├── Shaders/ │ │ │ │ ├── DefaultShader.shader │ │ │ │ ├── DefaultShader.shader.meta │ │ │ │ ├── LineShader.shader │ │ │ │ └── LineShader.shader.meta │ │ │ └── SpacepuppyUnityFrameworkEditor.pdb │ │ └── SpacepuppyUnityFramework.pdb │ └── FullLibrary/ │ ├── Editor/ │ │ ├── Shaders/ │ │ │ ├── DefaultShader.shader │ │ │ ├── DefaultShader.shader.meta │ │ │ ├── LineShader.shader │ │ │ ├── LineShader.shader.meta │ │ │ ├── VisualAspectShader.shader │ │ │ ├── VisualAspectShader.shader.meta │ │ │ ├── VisualSensorArcShader.shader │ │ │ ├── VisualSensorArcShader.shader.meta │ │ │ ├── VisualSensorLineShader.shader │ │ │ └── VisualSensorLineShader.shader.meta │ │ ├── SpacepuppyUnityFrameworkEditor.AI.BehaviourTree.pdb │ │ ├── SpacepuppyUnityFrameworkEditor.AI.pdb │ │ ├── SpacepuppyUnityFrameworkEditor.Anim.pdb │ │ ├── SpacepuppyUnityFrameworkEditor.Input.pdb │ │ ├── SpacepuppyUnityFrameworkEditor.Movement.pdb │ │ ├── SpacepuppyUnityFrameworkEditor.Serialization.pdb │ │ ├── SpacepuppyUnityFrameworkEditor.Spawn.pdb │ │ ├── SpacepuppyUnityFrameworkEditor.Waypoints.pdb │ │ └── SpacepuppyUnityFrameworkEditor.pdb │ ├── SpacepuppyUnityFramework.AI.BehaviourTree.pdb │ ├── SpacepuppyUnityFramework.AI.pdb │ ├── SpacepuppyUnityFramework.Anim.pdb │ ├── SpacepuppyUnityFramework.Input.pdb │ ├── SpacepuppyUnityFramework.Movement.pdb │ ├── SpacepuppyUnityFramework.Serialization.pdb │ ├── SpacepuppyUnityFramework.Spawn.pdb │ ├── SpacepuppyUnityFramework.Waypoints.pdb │ └── SpacepuppyUnityFramework.pdb ├── README.md ├── Resources/ │ ├── Shaders/ │ │ ├── DefaultShader.shader │ │ ├── DefaultShader.shader.meta │ │ ├── LineShader.shader │ │ ├── LineShader.shader.meta │ │ ├── VisualAspectShader.shader │ │ ├── VisualAspectShader.shader.meta │ │ ├── VisualSensorArcShader.shader │ │ ├── VisualSensorArcShader.shader.meta │ │ ├── VisualSensorLineShader.shader │ │ └── VisualSensorLineShader.shader.meta │ ├── SpacepuppyUnityFramework.dll.meta │ ├── SpacepuppyUnityFrameworkEditor.dll.meta │ ├── UnityEditor.Graphs.dll.mdb │ ├── UnityEditor.dll.mdb │ ├── UnityEditor.xml │ ├── UnityEngine.UI.dll.mdb │ ├── UnityEngine.UI.xml │ ├── UnityEngine.dll.mdb │ ├── UnityEngine.xml │ └── version.txt ├── SpacepuppyAI/ │ ├── AI/ │ │ ├── AIController.cs │ │ ├── AISubController.cs │ │ ├── AIVariableCollection.cs │ │ ├── AIVariableNameAttribute.cs │ │ ├── ComplexTarget.cs │ │ ├── Enums.cs │ │ ├── IAIActionLoop.cs │ │ ├── IAIController.cs │ │ ├── IAINode.cs │ │ ├── IAIState.cs │ │ ├── IAIStateMachine.cs │ │ ├── Scenario/ │ │ │ ├── i_ChangeAIState.cs │ │ │ ├── i_SetAIVariable.cs │ │ │ └── t_OnSense.cs │ │ ├── Sensors/ │ │ │ ├── Audible/ │ │ │ │ ├── AudibleAspect.cs │ │ │ │ ├── AudibleSensor.cs │ │ │ │ ├── IAudibleResponder.cs │ │ │ │ └── SirenToken.cs │ │ │ ├── Collision/ │ │ │ │ ├── ColliderAspect.cs │ │ │ │ ├── ColliderSensor.cs │ │ │ │ └── RaycastSensor.cs │ │ │ ├── CompositeSensor.cs │ │ │ ├── IAspect.cs │ │ │ ├── Sensor.cs │ │ │ ├── SensorCollection.cs │ │ │ ├── SensorUtil.cs │ │ │ └── Visual/ │ │ │ ├── OmnispectiveSensor.cs │ │ │ ├── RightCylindricalVisualSensor.cs │ │ │ ├── SphericalVisualSensor.cs │ │ │ ├── TunnelVisionVisualSensor.cs │ │ │ ├── VisualAspect.cs │ │ │ └── VisualSensor.cs │ │ └── SimpleAIStateComponent.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── SpacepuppyAI.csproj ├── SpacepuppyAIBehaviourTree/ │ ├── AI/ │ │ └── BehaviourTree/ │ │ ├── AINodeUtil.cs │ │ ├── AITreeController.cs │ │ ├── Components/ │ │ │ ├── AIActionComponent.cs │ │ │ ├── AIActionLoopStateComponent.cs │ │ │ ├── AIActionWeightsComponent.cs │ │ │ ├── AIStateComponent.cs │ │ │ ├── AIStateMachineComponent.cs │ │ │ ├── AITrapActionComponent.cs │ │ │ ├── GameObjectConfigurableAIActionGroup.cs │ │ │ ├── PropertyDrawerAttributes.cs │ │ │ ├── a_ActionGroup.cs │ │ │ ├── a_ChangeAIState.cs │ │ │ ├── a_IfCurrentStateIs.cs │ │ │ ├── a_NullAction.cs │ │ │ ├── a_RandomSuccess.cs │ │ │ ├── a_Sense.cs │ │ │ ├── a_SenseExit.cs │ │ │ ├── a_SetVariable.cs │ │ │ ├── a_Trigger.cs │ │ │ └── a_WaitTimer.cs │ │ ├── ConfigurableAIActionGroup.cs │ │ ├── Enums.cs │ │ ├── IAIAction.cs │ │ ├── IAIActionGroup.cs │ │ ├── IAIActionWeightSupplier.cs │ │ ├── IAIEditorSyncActionsCallbackReceiver.cs │ │ ├── IAITreeStateMachine.cs │ │ ├── ParallelAction.cs │ │ ├── RandomAction.cs │ │ ├── SelectorAction.cs │ │ ├── SequenceAction.cs │ │ └── TriggerableMechanismAsAIActionWrapper.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── SpacepuppyAIBehaviourTree.csproj ├── SpacepuppyAIBehaviourTreeEditor/ │ ├── AI/ │ │ └── BehaviourTree/ │ │ ├── AITreeControllerInspector.cs │ │ ├── AITreeDebugWindow.cs │ │ ├── Components/ │ │ │ ├── AIActionWeightsComponentInspector.cs │ │ │ ├── AIStateMachineComponentInspector.cs │ │ │ ├── GameObjectConfigurableAIActionGroupPropertyDrawer.cs │ │ │ ├── ListAIStatesPropertyDrawer.cs │ │ │ ├── a_ChangeAIStateInspector.cs │ │ │ ├── a_IfCurrentStateIsInspector.cs │ │ │ └── a_SenseInspector.cs │ │ ├── ConfigurableAIActionGroupPropertyDrawer.cs │ │ └── ParallelPassOptionsPropertyDrawer.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── SpacepuppyAIBehaviourTreeEditor.csproj ├── SpacepuppyAIEditor/ │ ├── AI/ │ │ ├── AIControllerInspector.cs │ │ ├── AISubControllerInspector.cs │ │ ├── AIVariableNamePropertyDrawer.cs │ │ ├── IAIStateHierarchyDrawer.cs │ │ └── Sensors/ │ │ ├── Audible/ │ │ │ ├── AudibleAspectInspector.cs │ │ │ └── AudibleSensorInspector.cs │ │ ├── SensorRenderUtil.cs │ │ └── Visual/ │ │ ├── RightCylindricalVisualSensorInspector.cs │ │ ├── SphericalVisionVisualSensorInspector.cs │ │ ├── TunnelVisionVisualSensorInspector.cs │ │ ├── VisualAspectInspector.cs │ │ └── VisualSensorInspector.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Shaders/ │ │ ├── VisualAspectShader.shader │ │ ├── VisualAspectShader.shader.meta │ │ ├── VisualSensorArcShader.shader │ │ ├── VisualSensorArcShader.shader.meta │ │ ├── VisualSensorLineShader.shader │ │ └── VisualSensorLineShader.shader.meta │ └── SpacepuppyAIEditor.csproj ├── SpacepuppyAnim/ │ ├── Anim/ │ │ ├── AnimEventScheduler.cs │ │ ├── AnimPrimitives.cs │ │ ├── AnimPropertyAttributes.cs │ │ ├── AnimSettings.cs │ │ ├── AnimUtil.cs │ │ ├── Blend/ │ │ │ ├── AnimationBlendGraph.cs │ │ │ ├── IndexedAnimationSelector.cs │ │ │ ├── LinearAnimationBlend.cs │ │ │ ├── LinearAnimationSelector.cs │ │ │ └── StaticFrameAnimation.cs │ │ ├── Exceptions.cs │ │ ├── IAnimControllerMask.cs │ │ ├── IKSolver.cs │ │ ├── ISPAnim.cs │ │ ├── ISPAnimationMask.cs │ │ ├── ISPAnimationSource.cs │ │ ├── ISPAnimator.cs │ │ ├── ISPAnimatorState.cs │ │ ├── IScriptableAnimationClip.cs │ │ ├── Legacy/ │ │ │ └── SPLegacyAnimation.cs │ │ ├── MaskCollection.cs │ │ ├── PropertyAttributes.cs │ │ ├── SPAnim.cs │ │ ├── SPAnimClip.cs │ │ ├── SPAnimClipCollection.cs │ │ ├── SPAnimationController.cs │ │ ├── SPAnimatorStateMachine.cs │ │ ├── TransformMask.cs │ │ ├── i_PlayAnimation.cs │ │ ├── i_PlaySPAnimation.cs │ │ └── i_StopAnimation.cs │ ├── Mecanim/ │ │ └── MecanimSpeedScaler.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── SpacepuppyAnim.csproj ├── SpacepuppyAnimEditor/ │ ├── Anim/ │ │ ├── AnimLayerPropertyDrawer.cs │ │ ├── AnimTimePeriodPropertyDrawer.cs │ │ ├── IAnimLayerInformationSupplier.cs │ │ ├── Legacy/ │ │ │ └── SPLegacyAnimationInspector.cs │ │ ├── MaskCollectionPropertyDrawer.cs │ │ ├── SPAnimClipCollectionPropertyDrawer.cs │ │ ├── SPAnimClipPropertyDrawer.cs │ │ ├── SPAnimationControllerInspector.cs │ │ ├── SPAnimationMaskAssetInspector.cs │ │ ├── i_PlayAnimationInspector.cs │ │ ├── i_PlaySPAnimationInspector.cs │ │ └── i_StopAnimationInspector.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── SpacepuppyAnimEditor.csproj ├── SpacepuppyBase/ │ ├── Async/ │ │ ├── AsyncOperationWrapper.cs │ │ ├── InvokePump.cs │ │ ├── RadicalAsyncOperation.cs │ │ ├── RadicalTask.cs │ │ └── SPThreadPool.cs │ ├── Attributes.cs │ ├── Audio/ │ │ ├── AudioGroup.cs │ │ ├── AudioManager.cs │ │ ├── IAudioGroup.cs │ │ └── i_PlayAmbientAudio.cs │ ├── AudioSettings.cs │ ├── AutoNotificationManager.cs │ ├── Cameras/ │ │ ├── CameraCategory.cs │ │ ├── CameraManager.cs │ │ ├── CameraNode.cs │ │ ├── CameraToken.cs │ │ ├── Events.cs │ │ ├── ICamera.cs │ │ ├── LegacyRender/ │ │ │ ├── GlobalPostProcessorHook.cs │ │ │ ├── IPostProcessingEffect.cs │ │ │ └── PostProcessingManager.cs │ │ ├── Movement/ │ │ │ ├── CameraMovementController.cs │ │ │ └── ICameraMovementControllerState.cs │ │ ├── MultiCameraController.cs │ │ ├── Transition/ │ │ │ ├── CameraFade.cs │ │ │ └── ColorAlphaCameraFade.cs │ │ └── UnityCamera.cs │ ├── CancellableNotification.cs │ ├── Collections/ │ │ ├── BiDictionary.cs │ │ ├── BinaryHeap.cs │ │ ├── CircularQueue.cs │ │ ├── ComponentCollection.cs │ │ ├── CooldownPool.cs │ │ ├── CovariantCollections.cs │ │ ├── Deque.cs │ │ ├── EventForwardingPool.cs │ │ ├── GameObjectCollection.cs │ │ ├── ICachePool.cs │ │ ├── IForeachEnumerator.cs │ │ ├── IIndexedEnumerable.cs │ │ ├── LightEnumerator.cs │ │ ├── ListDictionary.cs │ │ ├── MultitonPool.cs │ │ ├── NotificationPool.cs │ │ ├── ObjectCachePool.cs │ │ ├── ObjectInstanceIDEqualityComparer.cs │ │ ├── ObjectReferenceEqualityComparer.cs │ │ ├── OrderedDelegate.cs │ │ ├── PointOctree.cs │ │ ├── PrimeHelper.cs │ │ ├── ReusableStringReader.cs │ │ ├── SamplingCharEnumerator.cs │ │ ├── SamplingStack.cs │ │ ├── SerializableDictionaryBase.cs │ │ ├── StateFlagStack.cs │ │ ├── TempCollection.cs │ │ ├── TempDictionary.cs │ │ ├── TempHashSet.cs │ │ ├── TempList.cs │ │ ├── TrackablObjectCachePool.cs │ │ ├── UniqueHashSet.cs │ │ ├── UniqueList.cs │ │ ├── WeakInternalTypes.cs │ │ ├── WeakKeyDictionary.cs │ │ ├── WeakList.cs │ │ └── WeakValueDictionary.cs │ ├── CollisionExclusion.cs │ ├── ColorHSV.cs │ ├── CompoundStateLedger.cs │ ├── CompoundTrigger.cs │ ├── ConfigurableForce.cs │ ├── CustomTimeSupplier.cs │ ├── Delegates.cs │ ├── Dynamic/ │ │ ├── Accessors/ │ │ │ ├── BasicMemberAccessor.cs │ │ │ ├── DynamicMemberAccessor.cs │ │ │ ├── FastTransformMemberAccessor.cs │ │ │ ├── FieldAccessor.cs │ │ │ ├── IMemberAccessor.cs │ │ │ ├── MemberAccessor.cs │ │ │ ├── MemberAccessorException.cs │ │ │ ├── MemberAccessorPool.cs │ │ │ └── PropertyAccessor.cs │ │ ├── DoubleEvaluator.cs │ │ ├── DynamicMethodInfo.cs │ │ ├── DynamicObjectAccessor.cs │ │ ├── DynamicParameterInfo.cs │ │ ├── DynamicPropertyInfo.cs │ │ ├── DynamicTweenExtension.cs │ │ ├── Evaluator.cs │ │ ├── IDynamic.cs │ │ ├── IDynamicMemberInfo.cs │ │ ├── IStateModifier.cs │ │ ├── ITokenizable.cs │ │ ├── StateToken.cs │ │ ├── TypeAccessWrapper.cs │ │ ├── Variant.cs │ │ └── VectorEvaluator.cs │ ├── EditorOnly/ │ │ └── IValidateReceiver.cs │ ├── Enums.cs │ ├── Exceptions.cs │ ├── ExceptionsLite.cs │ ├── FixedPercentDecimal.cs │ ├── FixedPercentLong.cs │ ├── FixedPoint.cs │ ├── GameLoopEntry.cs │ ├── GameLoopEntry.cs.meta │ ├── GameTime.cs │ ├── Geom/ │ │ ├── AABBox.cs │ │ ├── AxisInterval.cs │ │ ├── BezierSpline.cs │ │ ├── BoundingSphereAlgorithm.cs │ │ ├── Box.cs │ │ ├── Capsule.cs │ │ ├── CatmullRomSpline.cs │ │ ├── Cone.cs │ │ ├── Cylinder.cs │ │ ├── GeomUtil.cs │ │ ├── I3dSpline.cs │ │ ├── ICurve.cs │ │ ├── IGeom.cs │ │ ├── IPlanarSurface.cs │ │ ├── Interval.cs │ │ ├── Line.cs │ │ ├── Matrix2D.cs │ │ ├── PhysicsUtil.cs │ │ ├── PlanarSurfaceComponent.cs │ │ ├── RaycastInfo.cs │ │ ├── RigidbodyBounds.cs │ │ ├── Sphere.cs │ │ ├── TrajectoryUtil.cs │ │ ├── Trans.cs │ │ └── XYPlanarSurface.cs │ ├── Graphs/ │ │ ├── AStarPathResolver.cs │ │ ├── CovariantGraph.cs │ │ ├── DijkstraPathResolver.cs │ │ ├── Exceptions.cs │ │ ├── GridGraph.cs │ │ ├── GridNeighbour.cs │ │ ├── HexGraph.cs │ │ ├── IGraph.cs │ │ ├── IHeuristic.cs │ │ ├── INode.cs │ │ ├── IPathResolver.cs │ │ ├── LinkedNodeGraph.cs │ │ └── NodeGraph.cs │ ├── Hooks/ │ │ ├── Callbacks.cs │ │ ├── CollisionHooks.cs │ │ ├── CollisionSignalSource.cs │ │ ├── ControllerColliderHitEventHooks.cs │ │ ├── EarlyExecutionUpdateEventHooks.cs │ │ ├── EarlyStartHook.cs │ │ ├── TardyExecutionUpdateEventHooks.cs │ │ ├── TriggerHooks.cs │ │ └── UpdateEventHooks.cs │ ├── IComponent.cs │ ├── IEntityAwakeHandler.cs │ ├── IEventActivatorMask.cs │ ├── IForceReceiver.cs │ ├── IGameObjectSource.cs │ ├── IIgnorableCollision.cs │ ├── IImmediatelyResumingYieldInstruction.cs │ ├── IMixin.cs │ ├── INameable.cs │ ├── INotificationDispatcher.cs │ ├── IPausibleYieldInstruction.cs │ ├── IPooledYieldInstruction.cs │ ├── IProgressingYieldInstruction.cs │ ├── IRadicalEnumerator.cs │ ├── IRadicalWaitHandle.cs │ ├── IRadicalYieldInstruction.cs │ ├── IRandom.cs │ ├── IResettingYieldInstruction.cs │ ├── ISPDisposable.cs │ ├── ITimeSupplier.cs │ ├── IUpdateable.cs │ ├── KillableEntity.cs │ ├── MultiTag.cs │ ├── Notification.cs │ ├── NullYieldInstruction.cs │ ├── Numeric.cs │ ├── Pathfinding/ │ │ ├── IPath.cs │ │ ├── IPathFactory.cs │ │ ├── IPathSeeker.cs │ │ ├── PathArgumentException.cs │ │ ├── PathCalculateStatus.cs │ │ ├── PathUtil.cs │ │ └── Unity/ │ │ ├── UnityPath.cs │ │ ├── UnityPathFactory.cs │ │ ├── UnityPathSeeker.cs │ │ └── UnityStandardPathAgent.cs │ ├── Project/ │ │ ├── AssetBundlePackage.cs │ │ ├── AssetBundles.cs │ │ ├── AssetPool.cs │ │ ├── CustomTimeLayersData.cs │ │ ├── GameSettingsBase.cs │ │ ├── IAssetBundle.cs │ │ ├── ITextSource.cs │ │ ├── PrefabToken.cs │ │ ├── QueryableAssetSet.cs │ │ ├── ResourceLink.cs │ │ ├── ResourceLinkTable.cs │ │ ├── ResourcePackage.cs │ │ ├── SerializableInterfaceRef.cs │ │ ├── TagData.cs │ │ ├── TextDocument.cs │ │ └── TextRef.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── PropertyAttributes.cs │ ├── Proxy.cs │ ├── PsuedoSingleton.cs │ ├── RNGAsset.cs │ ├── RadicalCoroutine.cs │ ├── RadicalCoroutineManager.cs │ ├── RadicalEnums.cs │ ├── RadicalState.cs │ ├── RateOfChange.cs │ ├── Render/ │ │ ├── MaterialPropertyReference.cs │ │ ├── MaterialSource.cs │ │ ├── MaterialTransition.cs │ │ ├── MaterialUtil.cs │ │ ├── RenderEnums.cs │ │ ├── RenderSettingsProxy.cs │ │ ├── RendererMaterialSwap.cs │ │ ├── i_SetMaterialProperty.cs │ │ └── i_TweenMaterial.cs │ ├── SPAssets.cs │ ├── SPComponent.cs │ ├── SPConstants.cs │ ├── SPEntity.cs │ ├── SPNotifyingComponent.cs │ ├── SPTime.cs │ ├── SPTimeEnums.cs │ ├── SPTimePeriod.cs │ ├── Scenario/ │ │ ├── ActivateEvent.cs │ │ ├── AutoTriggerComponent.cs │ │ ├── AutoTriggerableMechanism.cs │ │ ├── Comparers.cs │ │ ├── EventTriggerEvaluator.cs │ │ ├── HijackTriggerEvents.cs │ │ ├── IAutoSequenceSignal.cs │ │ ├── IObservableTrigger.cs │ │ ├── ITriggerable.cs │ │ ├── ObservableTargetData.cs │ │ ├── ScenarioActivatorMask.cs │ │ ├── Trigger.cs │ │ ├── TriggerActivatedNotification.cs │ │ ├── TriggerActivationType.cs │ │ ├── TriggerComponent.cs │ │ ├── TriggerTarget.cs │ │ ├── TriggerableMechanism.cs │ │ ├── TriggerableTargetObject.cs │ │ ├── i_AddComponent.cs │ │ ├── i_AutoSequenceSignal.cs │ │ ├── i_ChangeCursorProperties.cs │ │ ├── i_ChangeStateOfSimpleStateMachine.cs │ │ ├── i_CopyState.cs │ │ ├── i_DebugLog.cs │ │ ├── i_Destroy.cs │ │ ├── i_Enable.cs │ │ ├── i_EnableComponent.cs │ │ ├── i_KillTween.cs │ │ ├── i_LoadScene.cs │ │ ├── i_LookAt.cs │ │ ├── i_ModifyCollisionBetweenEntities.cs │ │ ├── i_ModifyTag.cs │ │ ├── i_PlayAudio.cs │ │ ├── i_PlaySoundEffect.cs │ │ ├── i_PostNotification.cs │ │ ├── i_QuitApplication.cs │ │ ├── i_SetActiveUIElement.cs │ │ ├── i_SetParent.cs │ │ ├── i_SetValue.cs │ │ ├── i_SetValueOnEntity.cs │ │ ├── i_SetValueOnTarget.cs │ │ ├── i_SetValueOnTriggerArg.cs │ │ ├── i_SignalEvent.cs │ │ ├── i_StartTetherJoint.cs │ │ ├── i_StopAudioSource.cs │ │ ├── i_StopTetherJoint.cs │ │ ├── i_SwapMaterialFlash.cs │ │ ├── i_Teleport.cs │ │ ├── i_Trigger.cs │ │ ├── i_TriggerChildren.cs │ │ ├── i_TriggerFirstEnabledTarget.cs │ │ ├── i_TriggerForEachArg.cs │ │ ├── i_TriggerOnEnumState.cs │ │ ├── i_TriggerOnEval.cs │ │ ├── i_TriggerOnIfThen.cs │ │ ├── i_TriggerRandom.cs │ │ ├── i_TriggerRandomElimination.cs │ │ ├── i_TriggerSequence.cs │ │ ├── i_TweenState.cs │ │ ├── i_TweenTo.cs │ │ ├── i_TweenValue.cs │ │ ├── t_AllTriggered.cs │ │ ├── t_AllTriggersOccupied.cs │ │ ├── t_EnterTrigger.cs │ │ ├── t_ExitTrigger.cs │ │ ├── t_Flicker.cs │ │ ├── t_Interval.cs │ │ ├── t_OnClick.cs │ │ ├── t_OnCollisionEnter.cs │ │ ├── t_OnDisable.cs │ │ ├── t_OnEnable.cs │ │ ├── t_OnEventTrigger.cs │ │ ├── t_OnNotificationTrigger.cs │ │ ├── t_OnStart.cs │ │ ├── t_OnTriggerOccupied.cs │ │ ├── t_OnTriggerOccupiedActive.cs │ │ ├── t_RandomInterval.cs │ │ ├── t_StateMachine.cs │ │ └── t_Timer.cs │ ├── Scenes/ │ │ ├── Enums.cs │ │ ├── ISceneLoadedGlobalHandler.cs │ │ ├── LoadSceneAsyncWaitHandle.cs │ │ ├── SceneManager.cs │ │ ├── SceneManagerEventArgs.cs │ │ ├── SceneManagerUtils.cs │ │ └── SceneRef.cs │ ├── Service.cs │ ├── ShortUid.cs │ ├── Signal.cs │ ├── Singleton.cs │ ├── SingletonProxy.cs │ ├── SpacepuppyBase.csproj │ ├── StateMachine/ │ │ ├── ComponentStateSupplier.cs │ │ ├── GenericStateStack.cs │ │ ├── IStackedStateMachine.cs │ │ ├── IStateMachine.cs │ │ ├── IStateStack.cs │ │ ├── IStateSupplier.cs │ │ ├── ParentComponentStateSupplier.cs │ │ ├── StateChangedEventArgs.cs │ │ ├── StateMachine.cs │ │ └── TypedStateMachine.cs │ ├── TagMask.cs │ ├── TempEventArgs.cs │ ├── TetherJoint.cs │ ├── Timers/ │ │ ├── BulkTimer.cs │ │ ├── DelayTimer.cs │ │ ├── GameTimers.cs │ │ ├── ITimer.cs │ │ ├── Scheduler.cs │ │ ├── StopWatch.cs │ │ ├── SystemTimers.cs │ │ ├── Timer.cs │ │ └── TimerCollection.cs │ ├── Tuple.cs │ ├── Tween/ │ │ ├── Accessors/ │ │ │ ├── CustomTweenMemberAccessorFactory.cs │ │ │ ├── FollowTargetPositionAccessor.cs │ │ │ ├── GeneralMoveAccessor.cs │ │ │ ├── GeneralRotateAccessor.cs │ │ │ ├── RigidbodyMovePositionAccessor.cs │ │ │ ├── TimeScaleMemberAccessor.cs │ │ │ ├── TransformGlobalTransAccessor.cs │ │ │ ├── TransformLocalTransAccessor.cs │ │ │ └── TransformRelativePositionAccessor.cs │ │ ├── CallbackTweener.cs │ │ ├── Curves/ │ │ │ ├── BoolMemberCurve.cs │ │ │ ├── Color32MemberCurve.cs │ │ │ ├── ColorMemberCurve.cs │ │ │ ├── FloatMemberCurve.cs │ │ │ ├── FollowTargetPositionCurve.cs │ │ │ ├── MeshCurve.cs │ │ │ ├── NumericMemberCurve.cs │ │ │ ├── QuaternionMemberCurve.cs │ │ │ ├── RectMemberCurve.cs │ │ │ ├── StringCurve.cs │ │ │ ├── TransMemberCurve.cs │ │ │ ├── Vector2MemberCurve.cs │ │ │ ├── Vector3MemberCurve.cs │ │ │ └── Vector4MemberCurve.cs │ │ ├── CustomMemberCurveAttribute.cs │ │ ├── CustomTweenMemberAccessorAttribute.cs │ │ ├── Delegates.cs │ │ ├── Easing.cs │ │ ├── Enums.cs │ │ ├── ITweenHash.cs │ │ ├── ITweenMemberAccessor.cs │ │ ├── MemberCurve.cs │ │ ├── ObjectTweener.cs │ │ ├── SPTween.cs │ │ ├── TweenCurve.cs │ │ ├── TweenCurveGroup.cs │ │ ├── TweenHash.cs │ │ ├── TweenSequence.cs │ │ └── Tweener.cs │ ├── TypeReference.cs │ ├── UI/ │ │ └── TextSettings.cs │ ├── Utils/ │ │ ├── ArrayUtil.cs │ │ ├── Assertions.cs │ │ ├── AudioUtils.cs │ │ ├── ColliderUtil.cs │ │ ├── ColorUtil.cs │ │ ├── CompareUtil.cs │ │ ├── ComponentUtil.cs │ │ ├── ConvertUtil.cs │ │ ├── CoroutineUtil.cs │ │ ├── Diminish/ │ │ │ └── DiminishingWeightOverDuration.cs │ │ ├── EnumUtil.cs │ │ ├── GameObjUtil.cs │ │ ├── Gizmo/ │ │ │ └── GizmoGhost.cs │ │ ├── InvokeHandle.cs │ │ ├── LayerUtil.cs │ │ ├── MathUtil.cs │ │ ├── Messaging.cs │ │ ├── MouseUtil.cs │ │ ├── NameCache.cs │ │ ├── ObjUtil.cs │ │ ├── PrefabUtil.cs │ │ ├── PrimitiveUtil.cs │ │ ├── QuaternionUtil.cs │ │ ├── Rand/ │ │ │ └── RandomRange.cs │ │ ├── RandomEnumUtil.cs │ │ ├── RandomUtil.cs │ │ ├── StreamUtil.cs │ │ ├── StringUtil.cs │ │ ├── TextureUtil.cs │ │ ├── TransformUtil.cs │ │ ├── TypeUtil.cs │ │ ├── UIEventUtil.cs │ │ └── VectorUtil.cs │ ├── VariableStore.cs │ ├── VariantCollection.cs │ ├── VariantMember.cs │ ├── VariantReference.cs │ ├── VersionInfo.cs │ ├── WaitForComplete.cs │ ├── WaitForDuration.cs │ ├── WaitForLateUpdate.cs │ ├── WaitForNotification.cs │ └── WaitUntilTime.cs ├── SpacepuppyBaseEditor/ │ ├── AssetHelper.cs │ ├── Base/ │ │ ├── AdvancedInputManagerWindow.cs │ │ ├── Commands/ │ │ │ ├── ComponentSearchWindow.cs │ │ │ ├── FindReferencesToObjectMenu.cs │ │ │ ├── SPCreateRagdollWizard.cs │ │ │ ├── ScreenshotRecorderWindow.cs │ │ │ ├── ScreenshotUtil.cs │ │ │ └── TransformCopyMenu.cs │ │ ├── ComponentHeaderDrawers/ │ │ │ ├── ForceRootTagHeaderDrawer.cs │ │ │ ├── RequireColliderHeaderDrawer.cs │ │ │ ├── RequireComponentInEntityHeaderDrawer.cs │ │ │ ├── RequireLayerHeaderDrawer.cs │ │ │ ├── RequireLikeComponentHeaderDrawer.cs │ │ │ └── UniqueToEntityHeaderDrawer.cs │ │ ├── Decorators/ │ │ │ └── InfoboxDecorator.cs │ │ ├── Inspectors/ │ │ │ ├── AdvancedAnimationInspector.cs │ │ │ ├── AnimationCurveConstraintPropertyDrawer.cs │ │ │ ├── ComparisonOperatorPropertyDrawer.cs │ │ │ ├── ConstraintPropertyDrawer.cs │ │ │ ├── DefaultOrConfiguredAttributePropertyDrawer.cs │ │ │ ├── DiscreteFloatPropertyDrawer.cs │ │ │ ├── DisplayFlatPropertyDrawer.cs │ │ │ ├── DisplayNestedPropertyPropertyDrawer.cs │ │ │ ├── EnumFlagsPropertyDrawer.cs │ │ │ ├── EnumInCustomOrderPropertyDrawer.cs │ │ │ ├── EnumPopupExcludingPropertyDrawer.cs │ │ │ ├── EnumPropertyDrawer.cs │ │ │ ├── EulerRotationInspectorPropertyDrawer.cs │ │ │ ├── FixedPercentDecimalPropertyDrawer.cs │ │ │ ├── FixedPercentLongPropertyDrawer.cs │ │ │ ├── FixedPercentPropertyDrawer.cs │ │ │ ├── GameLoopEntryInspector.cs │ │ │ ├── GameObjectNotificationDispatcherInspector.cs │ │ │ ├── GenericMaskPropertyDrawer.cs │ │ │ ├── InputIDPropertyDrawer.cs │ │ │ ├── MaxRangePropertyDrawer.cs │ │ │ ├── MinRangePropertyDrawer.cs │ │ │ ├── MultiTagInspector.cs │ │ │ ├── OneOrManyPropertyDrawer.cs │ │ │ ├── ProxyPropertyDrawer.cs │ │ │ ├── RadicalCoroutineManagerInspector.cs │ │ │ ├── ReorderableArrayPropertyDrawer.cs │ │ │ ├── SPEntityInspector.cs │ │ │ ├── SPTimePeriodPropertyDrawer.cs │ │ │ ├── SPTimePropertyDrawer.cs │ │ │ ├── ShortUidPropertyDrawer.cs │ │ │ ├── SingletonInspector.cs │ │ │ ├── SingletonProxyInspector.cs │ │ │ ├── TagMaskInspector.cs │ │ │ ├── TagSelectorPropertyDrawer.cs │ │ │ ├── TetherJointInspector.cs │ │ │ ├── TimeUnitsSelectorPropertyDrawer.cs │ │ │ ├── TypeReferencePropertyDrawer.cs │ │ │ ├── UnitVectorPropertyDrawer.cs │ │ │ ├── VariableStoreInspector.cs │ │ │ ├── VariantCollectionPropertyDrawer.cs │ │ │ ├── VariantMemberPropertyDrawer.cs │ │ │ ├── VariantReferencePropertyDrawer.cs │ │ │ ├── VectorInspectorPropertyDrawer.cs │ │ │ ├── VersionInfoPropertyDrawer.cs │ │ │ └── WeightedValueCollectionPropertyDrawer.cs │ │ ├── Modifiers/ │ │ │ ├── DefaultFromSelfModifier.cs │ │ │ ├── DisableIfModifier.cs │ │ │ ├── DisableOnPlayModifier.cs │ │ │ ├── DisplayIfPropertyDrawer.cs │ │ │ ├── FindInSelfModifier.cs │ │ │ ├── ForceFromSelfModifier.cs │ │ │ ├── InsertButtonModifier.cs │ │ │ ├── OnChangedInEditorModifier.cs │ │ │ ├── PropertyModifier.cs │ │ │ └── ReadOnlyModifier.cs │ │ ├── SpacepuppySettingsWindow.cs │ │ └── TypeSelectionDropDownWindow.cs │ ├── BuildSettings.cs │ ├── BulkBuildSettings.cs │ ├── Cameras/ │ │ ├── CameraControllerInspector.cs │ │ ├── CameraMovementControllerInspector.cs │ │ └── MultiCameraControllerInspector.cs │ ├── Collections/ │ │ ├── DictionaryPropertyDrawer.cs │ │ └── EnumKeyedCollectionPropertyDrawer.cs │ ├── ComponentHeaderDrawer.cs │ ├── Components/ │ │ ├── IComponentChoiceSelector.cs │ │ ├── SelectableComponentPropertyDrawer.cs │ │ ├── SelectableObjectPropertyDrawer.cs │ │ └── TypeRestrictionPropertyDrawer.cs │ ├── EditorCoroutine.cs │ ├── EditorHelper.cs │ ├── EditorHierarchyAlternateContextMenuEvents.cs │ ├── EditorHierarchyDrawerEvents.cs │ ├── EditorProjectPrefs.cs │ ├── EditorSceneEvents.cs │ ├── ExecutionOrderHelper.cs │ ├── Geom/ │ │ ├── CubicBezierCurveEditorWindow.cs │ │ ├── CubicBezierCurvePropertyDrawer.cs │ │ ├── IntervalInspector.cs │ │ ├── PlanarSurfaceComponentEditor.cs │ │ └── TransformAltContextMenu.cs │ ├── HandlesHelper.cs │ ├── HierarchyDrawer.cs │ ├── Hooks/ │ │ └── CollisionSignalSourcePropertyDrawer.cs │ ├── IArrayHandlingPropertyDrawer.cs │ ├── IconHelper.cs │ ├── InputSettings.cs │ ├── Internal/ │ │ ├── CachedReorderableList.cs │ │ ├── DefaultPropertyHandler.cs │ │ ├── GUIViewProxy.cs │ │ ├── HackPropertyDrawers.cs │ │ ├── IPropertyHandler.cs │ │ ├── InternalTypeUtil.cs │ │ ├── MultiPropertyAttributePropertyHandler.cs │ │ ├── PropertyDrawerActivator.cs │ │ ├── PropertyHandlerCache.cs │ │ ├── PropertyHandlerValidationUtility.cs │ │ ├── ScriptAttributeUtility.cs │ │ ├── StandardPropertyHandler.cs │ │ └── UnityInternalPropertyHandler.cs │ ├── MaterialHelper.cs │ ├── PrefabHelper.cs │ ├── Project/ │ │ ├── AssetBundlePackageInspector.cs │ │ ├── CustomTimeLayersDataInspector.cs │ │ ├── ResourceLinkPropertyDrawer.cs │ │ ├── ResourceLinkTablePropertyDrawer.cs │ │ ├── ResourcePackageInspector.cs │ │ ├── SerializableInterfaceRefPropertyDrawer.cs │ │ ├── TagDataInspector.cs │ │ ├── TextRefPropertyDrawer.cs │ │ └── WeightedTextDocumentInspector.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Render/ │ │ ├── MaterialPropertyReferencePropertyDrawer.cs │ │ ├── MaterialSourceInspector.cs │ │ ├── MaterialTransitionPropertyDrawer.cs │ │ └── RenderSettingsProxyInpsector.cs │ ├── ReorderableListHelper.cs │ ├── SPEditor.cs │ ├── SPEditorAddonDrawer.cs │ ├── SPEditorGUI.cs │ ├── SPEditorGUILayout.cs │ ├── SPEditorStyles.cs │ ├── SPGUI.cs │ ├── SPMenu.cs │ ├── Scenario/ │ │ ├── EventTriggerEvaluatorInspector.cs │ │ ├── ITriggerableMechanismAddonDrawer.cs │ │ ├── ObservableTargetDataPropertyDrawer.cs │ │ ├── TriggerComponentInspector.cs │ │ ├── TriggerPropertyDrawer.cs │ │ ├── TriggerTargetPropertyDrawer.cs │ │ ├── TriggerableTargetObjectPropertyDrawer.cs │ │ ├── i_EnableInspector.cs │ │ ├── i_PlayAudioInspector.cs │ │ ├── i_SetValueInspector.cs │ │ ├── i_SetValueOnEntityInspector.cs │ │ ├── i_SetValueOnTargetInspector.cs │ │ ├── i_SetValueOnTriggerArgInspector.cs │ │ ├── i_StartTetherJointInspector.cs │ │ ├── i_TriggerOnEnumStateInspector.cs │ │ ├── i_TriggerOnEvalInspector.cs │ │ ├── i_TriggerOnIfThenInspector.cs │ │ ├── i_TriggerRandomEliminationInspector.cs │ │ ├── i_TriggerSequenceInspector.cs │ │ ├── i_TweenStateInspector.cs │ │ ├── i_TweenValueInspector.cs │ │ ├── t_OnEventTriggerInspector.cs │ │ ├── t_OnNotificationTriggerInspector.cs │ │ └── t_StateMachineInspector.cs │ ├── Scenes/ │ │ └── SceneRefPropertyDrawer.cs │ ├── ScriptableObjectHelper.cs │ ├── Shaders/ │ │ ├── DefaultShader.shader │ │ ├── DefaultShader.shader.meta │ │ ├── LineShader.shader │ │ └── LineShader.shader.meta │ ├── SpacepuppyBaseEditor.csproj │ ├── SpacepuppySettings.cs │ ├── Tween/ │ │ └── SPTweenInspector.cs │ └── Utils/ │ └── Diminish/ │ └── DiminishingWeightOverDurationPropertyDrawer.cs ├── SpacepuppyExtended/ │ ├── ClassicTimers/ │ │ ├── GameTimer.cs │ │ ├── RandomSwitch.cs │ │ ├── Timer.cs │ │ └── TimerSwitch.cs │ ├── Collections/ │ │ ├── DuplicateKeyAddAction.cs │ │ ├── KeyedCollection.cs │ │ ├── LiveSPComponentCollection.cs │ │ ├── SignalCollectionEventArgs.cs │ │ ├── SignalingCollection.cs │ │ ├── TaggedCollection.cs │ │ └── TaggedCollectionValidationException.cs │ ├── Geom/ │ │ ├── ColliderOverlapResolver.cs │ │ ├── ColliderOverlapResult.cs │ │ ├── Frustum.cs │ │ ├── LineSegment.cs │ │ ├── RadialRing.cs │ │ ├── SightGeom.cs │ │ └── ViewCone.cs │ ├── Hooks/ │ │ ├── CharacterControllerCollisionNotification.cs │ │ ├── CharacterControllerCollisionNotifier.cs │ │ ├── ControllerColliderHitNotification.cs │ │ ├── ControllerColliderHitNotifier.cs │ │ ├── TriggerNotification.cs │ │ └── TriggerNotifier.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── SpacepuppyExtended.csproj │ ├── TandemCoroutine.cs │ ├── Utils/ │ │ ├── DblMathUtil.cs │ │ ├── DebugUtils/ │ │ │ └── InGameFlyCam.cs │ │ ├── GizmosHelper.cs │ │ ├── Json.cs │ │ └── PiWalker.cs │ └── Widgets/ │ └── MirrorTransform.cs ├── SpacepuppyExtendedEditor/ │ ├── Base/ │ │ ├── Commands/ │ │ │ ├── CollisionParser.cs │ │ │ ├── CreateGameObjectIn.cs │ │ │ ├── EditorObjExporter.cs │ │ │ ├── ModelImportManager.cs │ │ │ ├── ScanAndUpdateGuidForComponents.cs │ │ │ ├── SearchByLayer.cs │ │ │ ├── SearchByTag.cs │ │ │ └── ToggleEditorOnlyVisibility.cs │ │ └── Inspectors/ │ │ └── ConfigurableForcePropertyDrawer.cs │ ├── FileIDUtil.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── SpacepuppyExtendedEditor.csproj ├── SpacepuppyInput/ │ ├── GameInputManager.cs │ ├── GameInputManager.cs.meta │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── SPInput/ │ │ ├── AnalogButtonSimulator.cs │ │ ├── ComboInputSignature.cs │ │ ├── CompositeInputSignature.cs │ │ ├── DelegatedInputSignature.cs │ │ ├── Enums.cs │ │ ├── EventSystems/ │ │ │ └── SPInputModule.cs │ │ ├── GenericInputDevice.cs │ │ ├── IInputDevice.cs │ │ ├── IInputSignature.cs │ │ ├── IMappedInputDevice.cs │ │ ├── ISequence.cs │ │ ├── InputSignatureCollection.cs │ │ ├── InputUtil.cs │ │ ├── Legacy/ │ │ │ ├── EventfulUnityInputDevice.cs │ │ │ └── UnityInputSignatures.cs │ │ ├── MappedInputDevice.cs │ │ ├── MappedInputSignatureCollection.cs │ │ ├── MergedInputSignature.cs │ │ ├── RepeatingButtonInputSignature.cs │ │ ├── Sequences/ │ │ │ ├── ButtonTap.cs │ │ │ ├── CursorMove.cs │ │ │ └── FirstSuccessfulSequence.cs │ │ └── Unity/ │ │ ├── ConfigurableInputProfile.cs │ │ ├── Enums.cs │ │ ├── IInputProfile.cs │ │ ├── InputLayoutToken.cs │ │ ├── InputProfileDescriptionAttributes.cs │ │ ├── InputProfileLookupTable.cs │ │ ├── InputToken.cs │ │ ├── KeyboardProfile.cs │ │ ├── PollAxisSignatureRoutine.cs │ │ ├── PollButtonSignatureRoutine.cs │ │ ├── SPInputDirect.cs │ │ ├── SPInputFactory.cs │ │ └── Xbox/ │ │ ├── Profiles/ │ │ │ ├── HamaBlockForceWinProfile.cs │ │ │ ├── LogitechF310LinuxProfile.cs │ │ │ ├── LogitechF310MacProfile.cs │ │ │ ├── LogitechF310WinProfile.cs │ │ │ ├── LogitechF510LinuxProfile.cs │ │ │ ├── LogitechF510WinProfile.cs │ │ │ ├── LogitechF710LinuxProfile.cs │ │ │ ├── LogitechF710MacProfile.cs │ │ │ ├── LogitechF710WinProfile.cs │ │ │ ├── LogitechRumblePad2MacProfile.cs │ │ │ ├── LogitechRumblePad2WinProfile.cs │ │ │ ├── LogitechWingManWinProfile.cs │ │ │ ├── MaxFireBlaze5WinProfile.cs │ │ │ ├── MogaProLinuxProfile.cs │ │ │ ├── MogaProMacProfile.cs │ │ │ ├── MogaProWinProfile.cs │ │ │ ├── NatecGenesisP44WinProfile.cs │ │ │ ├── NvidiaShieldAndroidProfile.cs │ │ │ ├── NvidiaShieldWinProfile.cs │ │ │ ├── OuyaLinuxProfile.cs │ │ │ ├── OuyaWinProfile.cs │ │ │ ├── PS2WinProfile.cs │ │ │ ├── PS3AndroidProfile.cs │ │ │ ├── PS3LinuxProfile.cs │ │ │ ├── PS3MacProfile.cs │ │ │ ├── PS3ShenghicWinProfile.cs │ │ │ ├── PS3WinProfile.cs │ │ │ ├── PS4AndroidProfile.cs │ │ │ ├── PS4ConsoleProfile.cs │ │ │ ├── PS4LinuxProfile.cs │ │ │ ├── PS4MacOSBTProfile.cs │ │ │ ├── PS4MacOSUSBProfile.cs │ │ │ ├── PS4WinProfile.cs │ │ │ ├── SpeedlinkStrikeMacProfile.cs │ │ │ ├── SpeedlinkStrikeWinProfile.cs │ │ │ ├── SteelSeriesFreeLinuxProfile.cs │ │ │ ├── SteelSeriesFreeMacProfile.cs │ │ │ ├── SteelSeriesFreeWinProfile.cs │ │ │ ├── ValveStreamingWinProfile.cs │ │ │ ├── Xbox360AndroidProfile.cs │ │ │ ├── Xbox360LinuxProfile.cs │ │ │ ├── Xbox360LinuxProfile_X.cs │ │ │ ├── Xbox360MacOSProfile.cs │ │ │ ├── Xbox360WinProfile.cs │ │ │ ├── XboxOneConsoleProfile.cs │ │ │ ├── XboxOneMacProfile.cs │ │ │ └── XboxOneWinProfile.cs │ │ ├── README.md │ │ ├── XboxControllerEnums.cs │ │ ├── XboxInputImps.cs │ │ └── XboxInputProfile.cs │ ├── Scenario/ │ │ ├── t_OnAnyInput.cs │ │ ├── t_OnKey.cs │ │ └── t_OnSimpleButtonPress.cs │ └── SpacepuppyInput.csproj ├── SpacepuppyInputEditor/ │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Scenario/ │ │ └── t_OnSimpleButtonPressInspector.cs │ └── SpacepuppyInputEditor.csproj ├── SpacepuppyMovement/ │ ├── ArmatureRig.cs │ ├── Movement/ │ │ ├── DumbMovementStyle.cs │ │ ├── Enums.cs │ │ ├── IMotorConstraint.cs │ │ ├── IMovementStyle.cs │ │ ├── IMover.cs │ │ ├── InjectedMovementStyle.cs │ │ ├── MotorEvents.cs │ │ ├── MovementMotor.cs │ │ ├── MovementMotor2D.cs │ │ ├── WaitForBeforeUpdateMovement.cs │ │ └── XYPlaneConstraint.cs │ ├── MovementController.cs │ ├── Pathfinding/ │ │ ├── PathingMovementStyle.cs │ │ └── Unity/ │ │ └── UnityPathAgentMovementStyle.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Scenario/ │ │ ├── i_ApplyForce.cs │ │ └── i_ChangeMovementStyle.cs │ ├── SpacepuppyMovement.csproj │ └── Tween/ │ └── Accessors/ │ └── MovementControllerMoveAccessor.cs ├── SpacepuppyMovementEditor/ │ ├── Movement/ │ │ ├── ArmatureRigInspector.cs │ │ ├── MovementControllerInspector.cs │ │ └── MovementMotorInspector.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── SpacepuppyMovementEditor.csproj ├── SpacepuppySerialization/ │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Serialization/ │ │ ├── IPersistantUnityObject.cs │ │ ├── Json/ │ │ │ ├── JsonException.cs │ │ │ ├── JsonFormatter.cs │ │ │ ├── JsonNodeType.cs │ │ │ ├── JsonReader.cs │ │ │ └── JsonWriter.cs │ │ ├── Old/ │ │ │ ├── IUnityData.cs │ │ │ ├── IUnitySerializable.cs │ │ │ ├── UnityDataFormatter.cs │ │ │ ├── UnityDataScriptableObject.cs │ │ │ ├── UnitySerializationInfo.cs │ │ │ └── UnitySerializationSurrogate.cs │ │ ├── PersistantAssetToken.cs │ │ ├── PersistantUnityObjectSerializedProxy.cs │ │ ├── PersistentGameObject.cs │ │ ├── SPSerializationSurrogate.cs │ │ ├── SPSerializer.cs │ │ ├── SerializationHelper.cs │ │ ├── SimpleUnityStructureSurrogate.cs │ │ ├── UnityData.cs │ │ └── UnityDataFormatter.cs │ └── SpacepuppySerialization.csproj ├── SpacepuppySerializationEditor/ │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Serialization/ │ │ └── PersistentGameObjectInspector.cs │ └── SpacepuppySerializationEditor.csproj ├── SpacepuppySpawn/ │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── SPSpawnConstants.cs │ ├── Scenario/ │ │ ├── i_PlayParticleEffect.cs │ │ ├── i_Spawn.cs │ │ └── t_OnSpawn.cs │ ├── SpacepuppySpawn.csproj │ ├── Spawn/ │ │ ├── AbstractSpawner.cs │ │ ├── ISpawnFactory.cs │ │ ├── ISpawnPointPrefabSelector.cs │ │ ├── ISpawnPointSelector.cs │ │ ├── ISpawner.cs │ │ ├── ISpawnerModifier.cs │ │ ├── OrientOnSpawn.cs │ │ ├── ProxySpawnPoint.cs │ │ ├── ProxySpawnPointManager.cs │ │ ├── RestrictSpawnCount.cs │ │ ├── SelfTrackingSpawnerMechanism.cs │ │ ├── SpawnNotification.cs │ │ ├── SpawnPointHelper.cs │ │ ├── SpawnPool.cs │ │ ├── SpawnedObjectController.cs │ │ ├── i_AttachmentSpawnPoint.cs │ │ ├── i_SpawnFromResources.cs │ │ ├── i_SpawnWeighted.cs │ │ └── i_Spawner.cs │ └── Utils/ │ └── SpawnedObjectUtil.cs ├── SpacepuppySpawnEditor/ │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── SpacepuppySpawnEditor.csproj │ └── Spawn/ │ ├── AbstractSpawnerInspector.cs │ ├── AddModifierToSpawnerAddOnDrawer.cs │ ├── Commands/ │ │ └── SpawnMenu.cs │ ├── ProxySpawnPointInspector.cs │ ├── ProxySpawnPointManagerInspector.cs │ ├── SelfTrackingSpawnerMechanismPropertyDrawer.cs │ ├── SpawnPointInspector.cs │ └── SpawnPoolInspector.cs ├── SpacepuppyUnityFramework.Open.sln ├── SpacepuppyUnityFramework.sln ├── SpacepuppyWaypoints/ │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── SpacepuppyWaypoints.csproj │ └── Waypoints/ │ ├── BezierChainPath.cs │ ├── BezierSplinePath.cs │ ├── CardinalSplinePath.cs │ ├── CurveConstantSpeedTable.cs │ ├── IWaypoint.cs │ ├── IWaypointPath.cs │ ├── LinearPath.cs │ ├── SplinePath.cs │ ├── Waypoint.cs │ ├── WaypointPathComponent.cs │ ├── WaypointPathTweenCurve.cs │ └── i_MoveOnPath.cs └── SpacepuppyWaypointsEditor/ ├── Properties/ │ └── AssemblyInfo.cs ├── SpacepuppyWaypointsEditor.csproj └── Waypoints/ ├── WaypointPathComponentInspector.cs └── i_MoveOnPathInspector.cs