From 8261370eec68a588a9a447ec675549ed6cc5bb2b Mon Sep 17 00:00:00 2001 From: "Alex.Kirel" Date: Thu, 27 Jul 2023 00:47:00 +0500 Subject: [PATCH] Added Cinema Director library. --- Assets/Cinema Director/ChangeLog.txt | 229 + Assets/Cinema Director/ChangeLog.txt.meta | 4 + Assets/Cinema Director/Cutscene Items.meta | 5 + .../Cutscene Items/Actor Items.meta | 5 + .../Cutscene Items/Actor Items/Animation.meta | 5 + .../Animation/BlendAnimationEvent.cs | 31 + .../Animation/BlendAnimationEvent.cs.meta | 8 + .../Animation/CrossFadeAnimationEvent.cs | 31 + .../Animation/CrossFadeAnimationEvent.cs.meta | 8 + .../Animation/PlayAnimationEvent.cs | 66 + .../Animation/PlayAnimationEvent.cs.meta | 8 + .../Actor Items/Animation/ReloadLevelStart.cs | 22 + .../Animation/ReloadLevelStart.cs.meta | 11 + .../Animation/RewindAnimationEvent.cs | 29 + .../Animation/RewindAnimationEvent.cs.meta | 8 + .../Animation/SampleAnimationEvent.cs | 33 + .../Animation/SampleAnimationEvent.cs.meta | 8 + .../Animation/StopAnimationEvent.cs | 29 + .../Animation/StopAnimationEvent.cs.meta | 8 + .../Cutscene Items/Actor Items/Animator.meta | 5 + .../Animator/CrossFadeAnimatorEvent.cs | 25 + .../Animator/CrossFadeAnimatorEvent.cs.meta | 8 + .../Actor Items/Animator/LookAtTarget.cs | 50 + .../Actor Items/Animator/LookAtTarget.cs.meta | 8 + .../Actor Items/Animator/MatchTargetEvent.cs | 27 + .../Animator/MatchTargetEvent.cs.meta | 8 + .../Actor Items/Animator/PlayAnimatorEvent.cs | 24 + .../Animator/PlayAnimatorEvent.cs.meta | 8 + .../Animator/SetBoolAnimatorEvent.cs | 21 + .../Animator/SetBoolAnimatorEvent.cs.meta | 8 + .../Animator/SetFloatAnimatorEvent.cs | 23 + .../Animator/SetFloatAnimatorEvent.cs.meta | 8 + .../Animator/SetIKPositionAnimatorEvent.cs | 23 + .../SetIKPositionAnimatorEvent.cs.meta | 8 + .../SetIKPositionWeightAnimatorEvent.cs | 23 + .../SetIKPositionWeightAnimatorEvent.cs.meta | 8 + .../Animator/SetIKRotationAnimatorEvent.cs | 23 + .../SetIKRotationAnimatorEvent.cs.meta | 8 + .../SetIKRotationWeightAnimatorEvent.cs | 23 + .../SetIKRotationWeightAnimatorEvent.cs.meta | 8 + .../Animator/SetIntegerAnimatorEvent.cs | 23 + .../Animator/SetIntegerAnimatorEvent.cs.meta | 8 + .../Animator/SetLayerWeightAnimatorEvent.cs | 23 + .../SetLayerWeightAnimatorEvent.cs.meta | 8 + .../SetLookAtPositionAnimatorEvent.cs | 22 + .../SetLookAtPositionAnimatorEvent.cs.meta | 8 + .../Animator/SetLookAtWeightAnimatorEvent.cs | 26 + .../SetLookAtWeightAnimatorEvent.cs.meta | 8 + .../Animator/SetTargetAnimatorEvent.cs | 23 + .../Animator/SetTargetAnimatorEvent.cs.meta | 8 + .../Animator/SetTriggerAnimatorEvent.cs | 22 + .../Animator/SetTriggerAnimatorEvent.cs.meta | 8 + .../Actor Items/AudioSource.meta | 5 + .../AudioSource/PauseAudioEvent.cs | 23 + .../AudioSource/PauseAudioEvent.cs.meta | 8 + .../Actor Items/AudioSource/PlayAudioEvent.cs | 94 + .../AudioSource/PlayAudioEvent.cs.meta | 8 + .../AudioSource/PlayOneShotAudioEvent.cs | 28 + .../AudioSource/PlayOneShotAudioEvent.cs.meta | 8 + .../Actor Items/AudioSource/StopAudioEvent.cs | 23 + .../AudioSource/StopAudioEvent.cs.meta | 8 + .../Actor Items/GameObject.meta | 5 + .../GameObject/DisableBehaviour.cs | 70 + .../GameObject/DisableBehaviour.cs.meta | 8 + .../GameObject/DisableGameObject.cs | 82 + .../GameObject/DisableGameObject.cs.meta | 8 + .../Actor Items/GameObject/EnableBehaviour.cs | 99 + .../GameObject/EnableBehaviour.cs.meta | 8 + .../GameObject/EnableGameObject.cs | 82 + .../GameObject/EnableGameObject.cs.meta | 8 + .../GameObject/EnableGameObjectAction.cs | 114 + .../GameObject/EnableGameObjectAction.cs.meta | 8 + .../GameObject/SendMessageGameObject.cs | 29 + .../GameObject/SendMessageGameObject.cs.meta | 8 + .../Cutscene Items/Actor Items/Light.meta | 5 + .../Actor Items/Light/SetColorLight.cs | 113 + .../Actor Items/Light/SetColorLight.cs.meta | 8 + .../Actor Items/Light/SetIntensityLight.cs | 107 + .../Light/SetIntensityLight.cs.meta | 8 + .../Actor Items/Navigation.meta | 5 + .../Navigation/SetDestinationEvent.cs | 29 + .../Navigation/SetDestinationEvent.cs.meta | 8 + .../Cutscene Items/Actor Items/Particles.meta | 5 + .../Particles/PauseParticleSystemEvent.cs | 29 + .../PauseParticleSystemEvent.cs.meta | 8 + .../Particles/PlayParticleSystemEvent.cs | 45 + .../Particles/PlayParticleSystemEvent.cs.meta | 8 + .../Particles/StopParticleSystemEvent.cs | 45 + .../Particles/StopParticleSystemEvent.cs.meta | 8 + .../Cutscene Items/Actor Items/Rigidbody.meta | 5 + .../Actor Items/Rigidbody/ApplyForceEvent.cs | 35 + .../Rigidbody/ApplyForceEvent.cs.meta | 8 + .../Actor Items/Rigidbody/ApplyTorqueEvent.cs | 34 + .../Rigidbody/ApplyTorqueEvent.cs.meta | 8 + .../Rigidbody/RigidbodySleepEvent.cs | 43 + .../Rigidbody/RigidbodySleepEvent.cs.meta | 8 + .../Rigidbody/RigidbodyWakeUpEvent.cs | 37 + .../Rigidbody/RigidbodyWakeUpEvent.cs.meta | 8 + .../Actor Items/Rigidbody/SetMassEvent.cs | 81 + .../Rigidbody/SetMassEvent.cs.meta | 8 + .../Rigidbody/ToggleGravityEvent.cs | 85 + .../Rigidbody/ToggleGravityEvent.cs.meta | 8 + .../Cutscene Items/Actor Items/Transform.meta | 5 + .../Transform/AttachChildrenEvent.cs | 27 + .../Transform/AttachChildrenEvent.cs.meta | 8 + .../Transform/DetachChildrenEvent.cs | 23 + .../Transform/DetachChildrenEvent.cs.meta | 8 + .../Actor Items/Transform/SetParent.cs | 16 + .../Actor Items/Transform/SetParent.cs.meta | 8 + .../Actor Items/Transform/SetPositionEvent.cs | 25 + .../Transform/SetPositionEvent.cs.meta | 8 + .../Transform/SetTransformEvent.cs | 77 + .../Transform/SetTransformEvent.cs.meta | 8 + .../Transform/TransformLookAtAction.cs | 100 + .../Transform/TransformLookAtAction.cs.meta | 8 + .../Cutscene Items/Actor Items/uGUI.meta | 10 + .../uGUI/CanvasCameraSwitchEvent.cs | 51 + .../uGUI/CanvasCameraSwitchEvent.cs.meta | 12 + .../Actor Items/uGUI/ColorChange.cs | 130 + .../Actor Items/uGUI/ColorChange.cs.meta | 12 + .../Actor Items/uGUI/ColorChangeSelectable.cs | 184 + .../uGUI/ColorChangeSelectable.cs.meta | 12 + .../Actor Items/uGUI/SetIsInteractable.cs | 80 + .../uGUI/SetIsInteractable.cs.meta | 12 + .../Actor Items/uGUI/TextDegenerationEvent.cs | 102 + .../uGUI/TextDegenerationEvent.cs.meta | 12 + .../Actor Items/uGUI/TextGenerationEvent.cs | 115 + .../uGUI/TextGenerationEvent.cs.meta | 12 + .../Cinema Director/Cutscene Items/Core.meta | 5 + .../Cutscene Items/Core/CinemaAudio.cs | 98 + .../Cutscene Items/Core/CinemaAudio.cs.meta | 8 + .../Cutscene Items/Core/CinemaShot.cs | 72 + .../Cutscene Items/Core/CinemaShot.cs.meta | 8 + .../Cutscene Items/Global Items.meta | 5 + .../Global Items/AudioSource.meta | 5 + .../AudioSource/PlayClipAtPointAudioEvent.cs | 29 + .../PlayClipAtPointAudioEvent.cs.meta | 8 + .../Cutscene Items/Global Items/Cutscene.meta | 5 + .../Global Items/Cutscene/PauseCutscene.cs | 26 + .../Cutscene/PauseCutscene.cs.meta | 8 + .../Global Items/Cutscene/PlayCutscene.cs | 26 + .../Cutscene/PlayCutscene.cs.meta | 8 + .../Global Items/Cutscene/StopCutscene.cs | 26 + .../Cutscene/StopCutscene.cs.meta | 8 + .../Cutscene Items/Global Items/Debug.meta | 5 + .../Global Items/GUITexture.meta | 5 + .../Global Items/GUITexture/FadeTexture.cs | 134 + .../GUITexture/FadeTexture.cs.meta | 8 + .../Global Items/GameObject.meta | 5 + .../GameObject/DisableGameObjectGlobal.cs | 80 + .../DisableGameObjectGlobal.cs.meta | 8 + .../GameObject/EnableGameObjectGlobal.cs | 80 + .../GameObject/EnableGameObjectGlobal.cs.meta | 8 + .../Cutscene Items/Global Items/Time.meta | 5 + .../Global Items/Time/SetTimeScaleEvent.cs | 71 + .../Time/SetTimeScaleEvent.cs.meta | 8 + .../Global Items/Time/TimeScaleCurveAction.cs | 85 + .../Time/TimeScaleCurveAction.cs.meta | 8 + .../Global Items/Transitions.meta | 5 + .../Transitions/ColorTransition.cs | 123 + .../Transitions/ColorTransition.cs.meta | 8 + .../Global Items/Transitions/FadeFromBlack.cs | 119 + .../Transitions/FadeFromBlack.cs.meta | 8 + .../Global Items/Transitions/FadeFromWhite.cs | 119 + .../Transitions/FadeFromWhite.cs.meta | 8 + .../Global Items/Transitions/FadeToBlack.cs | 120 + .../Transitions/FadeToBlack.cs.meta | 8 + .../Global Items/Transitions/FadeToWhite.cs | 119 + .../Transitions/FadeToWhite.cs.meta | 8 + .../Cutscene Items/Global Items/Utility.meta | 5 + .../Global Items/Utility/LoadLevelEvent.cs | 26 + .../Utility/LoadLevelEvent.cs.meta | 8 + .../Global Items/Utility/MassDisabler.cs | 140 + .../Global Items/Utility/MassDisabler.cs.meta | 8 + .../Global Items/Utility/StoryboardEvent.cs | 22 + .../Utility/StoryboardEvent.cs.meta | 8 + Assets/Cinema Director/Prefabs.meta | 5 + .../Cinema Director/Prefabs/Cutscene.prefab | 54 + .../Prefabs/Cutscene.prefab.meta | 4 + .../Prefabs/CutsceneQueue.prefab | 54 + .../Prefabs/CutsceneQueue.prefab.meta | 4 + .../Prefabs/CutsceneTrigger.prefab | 70 + .../Prefabs/CutsceneTrigger.prefab.meta | 4 + .../Prefabs/ScreenshotCapturer.prefab | 54 + .../Prefabs/ScreenshotCapturer.prefab.meta | 4 + Assets/Cinema Director/Prefabs/Themes.meta | 5 + .../Cinema Director/Prefabs/Themes/LUTs.meta | 5 + .../Prefabs/Themes/LUTs/BleachBypass3D16.png | Bin 0 -> 18739 bytes .../Themes/LUTs/BleachBypass3D16.png.meta | 47 + .../Prefabs/Themes/LUTs/CrossProcess3D16.png | Bin 0 -> 17836 bytes .../Themes/LUTs/CrossProcess3D16.png.meta | 47 + .../Prefabs/Themes/LUTs/Dream3D16.png | Bin 0 -> 22009 bytes .../Prefabs/Themes/LUTs/Dream3D16.png.meta | 47 + .../Prefabs/Themes/LUTs/FLIR3D16.png | Bin 0 -> 20558 bytes .../Prefabs/Themes/LUTs/FLIR3D16.png.meta | 47 + .../Prefabs/Themes/LUTs/Horror3D16.png | Bin 0 -> 22611 bytes .../Prefabs/Themes/LUTs/Horror3D16.png.meta | 47 + .../Prefabs/Themes/LUTs/Negative3D16.png | Bin 0 -> 17810 bytes .../Prefabs/Themes/LUTs/Negative3D16.png.meta | 47 + .../Prefabs/Themes/LUTs/Noire3D16.png | Bin 0 -> 18392 bytes .../Prefabs/Themes/LUTs/Noire3D16.png.meta | 47 + .../Prefabs/Themes/LUTs/Posterize3D16.png | Bin 0 -> 17737 bytes .../Themes/LUTs/Posterize3D16.png.meta | 47 + .../Prefabs/Themes/LUTs/SciFi3D16.png | Bin 0 -> 17811 bytes .../Prefabs/Themes/LUTs/SciFi3D16.png.meta | 47 + .../Prefabs/Themes/LUTs/Sepia3D16.png | Bin 0 -> 20727 bytes .../Prefabs/Themes/LUTs/Sepia3D16.png.meta | 47 + .../Prefabs/Themes/LUTs/Vintage3D16.png | Bin 0 -> 17788 bytes .../Prefabs/Themes/LUTs/Vintage3D16.png.meta | 47 + Assets/Cinema Director/System.meta | 5 + Assets/Cinema Director/System/Common.meta | 10 + .../System/Common/Reflection.meta | 10 + .../Common/Reflection/ReflectionHelper.cs | 116 + .../Reflection/ReflectionHelper.cs.meta | 8 + Assets/Cinema Director/System/Editor.meta | 5 + Assets/Cinema Director/System/Resources.meta | 5 + .../System/Resources/ActorGroupIconFree.png | Bin 0 -> 52401 bytes .../Resources/ActorGroupIconFree.png.meta | 47 + .../System/Resources/ActorGroupIconPro.png | Bin 0 -> 53114 bytes .../Resources/ActorGroupIconPro.png.meta | 47 + .../System/Resources/AddIcon.png | Bin 0 -> 226 bytes .../System/Resources/AddIcon.png.meta | 47 + .../System/Resources/AddIconActivated.png | Bin 0 -> 216 bytes .../Resources/AddIconActivated.png.meta | 47 + .../System/Resources/AddIconHover.png | Bin 0 -> 228 bytes .../System/Resources/AddIconHover.png.meta | 47 + .../Resources/CharacterGroupIconFree.png | Bin 0 -> 50421 bytes .../Resources/CharacterGroupIconFree.png.meta | 47 + .../Resources/CharacterGroupIconPro.png | Bin 0 -> 781 bytes .../Resources/CharacterGroupIconPro.png.meta | 47 + .../Resources/Cinema Suite Monochrome.PNG | Bin 0 -> 3253 bytes .../Cinema Suite Monochrome.PNG.meta | 47 + .../System/Resources/CompressVertical.png | Bin 0 -> 275 bytes .../Resources/CompressVertical.png.meta | 47 + .../Resources/CompressVerticalActivated.png | Bin 0 -> 276 bytes .../CompressVerticalActivated.png.meta | 47 + .../Resources/CompressVerticalHover.png | Bin 0 -> 275 bytes .../Resources/CompressVerticalHover.png.meta | 47 + .../System/Resources/CurveCanvas.png | Bin 0 -> 185 bytes .../System/Resources/CurveCanvas.png.meta | 47 + .../System/Resources/CurveCanvasPro.png | Bin 0 -> 184 bytes .../System/Resources/CurveCanvasPro.png.meta | 47 + .../System/Resources/DirectorFreeSkin.guiskin | 2825 ++++++++++++ .../Resources/DirectorFreeSkin.guiskin.meta | 4 + .../Resources/DirectorGroupIconFree.png | Bin 0 -> 53088 bytes .../Resources/DirectorGroupIconFree.png.meta | 47 + .../System/Resources/DirectorGroupIconPro.png | Bin 0 -> 52468 bytes .../Resources/DirectorGroupIconPro.png.meta | 47 + .../Resources/DirectorGroupIcon_Light.png | Bin 0 -> 588 bytes .../DirectorGroupIcon_Light.png.meta | 47 + .../System/Resources/DirectorProSkin.guiskin | 2825 ++++++++++++ .../Resources/DirectorProSkin.guiskin.meta | 4 + .../Director_ActorGroupIcon_Light.png | Bin 0 -> 229 bytes .../Director_ActorGroupIcon_Light.png.meta | 47 + .../System/Resources/Director_ActorItem.png | Bin 0 -> 199 bytes .../Resources/Director_ActorItem.png.meta | 47 + .../Resources/Director_ActorItem_Hover.png | Bin 0 -> 199 bytes .../Director_ActorItem_Hover.png.meta | 47 + .../Director_ActorItem_Hover_Personal.png | Bin 0 -> 198 bytes ...Director_ActorItem_Hover_Personal.png.meta | 47 + .../Resources/Director_ActorItem_Personal.png | Bin 0 -> 198 bytes .../Director_ActorItem_Personal.png.meta | 47 + .../Resources/Director_ActorItem_Selected.png | Bin 0 -> 205 bytes .../Director_ActorItem_Selected.png.meta | 47 + .../Director_ActorItem_Selected_Personal.png | Bin 0 -> 206 bytes ...ector_ActorItem_Selected_Personal.png.meta | 47 + .../System/Resources/Director_AddIcon.png | Bin 0 -> 224 bytes .../Resources/Director_AddIcon.png.meta | 47 + .../Resources/Director_AddIcon_Activated.png | Bin 0 -> 227 bytes .../Director_AddIcon_Activated.png.meta | 47 + .../Resources/Director_AddIcon_Hover.png | Bin 0 -> 224 bytes .../Resources/Director_AddIcon_Hover.png.meta | 47 + .../System/Resources/Director_AltKeyframe.png | Bin 0 -> 19719 bytes .../Resources/Director_AltKeyframe.png.meta | 47 + .../System/Resources/Director_AudioIcon.png | Bin 0 -> 19323 bytes .../Resources/Director_AudioIcon.png.meta | 47 + .../System/Resources/Director_AudioItem.png | Bin 0 -> 199 bytes .../Resources/Director_AudioItem.png.meta | 47 + .../Resources/Director_AudioItem_Hover.png | Bin 0 -> 199 bytes .../Director_AudioItem_Hover.png.meta | 47 + .../Director_AudioItem_Hover_Personal.png | Bin 0 -> 198 bytes ...Director_AudioItem_Hover_Personal.png.meta | 47 + .../Resources/Director_AudioItem_Personal.png | Bin 0 -> 199 bytes .../Director_AudioItem_Personal.png.meta | 47 + .../Resources/Director_AudioItem_Selected.png | Bin 0 -> 206 bytes .../Director_AudioItem_Selected.png.meta | 47 + .../Director_AudioItem_Selected_Personal.png | Bin 0 -> 206 bytes ...ector_AudioItem_Selected_Personal.png.meta | 47 + .../System/Resources/Director_Box_Select.png | Bin 0 -> 207 bytes .../Resources/Director_Box_Select.png.meta | 47 + .../Director_CharacterGroupIcon_Light.png | Bin 0 -> 1234 bytes ...Director_CharacterGroupIcon_Light.png.meta | 47 + .../Resources/Director_CompressVertical.png | Bin 0 -> 279 bytes .../Director_CompressVertical.png.meta | 47 + .../Director_CompressVertical_Activated.png | Bin 0 -> 286 bytes ...rector_CompressVertical_Activated.png.meta | 47 + .../Director_CompressVertical_Hover.png | Bin 0 -> 279 bytes .../Director_CompressVertical_Hover.png.meta | 47 + .../Resources/Director_CurveCanvas_Dark.png | Bin 0 -> 185 bytes .../Director_CurveCanvas_Dark.png.meta | 47 + .../Resources/Director_CurveCanvas_Light.png | Bin 0 -> 184 bytes .../Director_CurveCanvas_Light.png.meta | 47 + .../Resources/Director_CurveClipItem.png | Bin 0 -> 199 bytes .../Resources/Director_CurveClipItem.png.meta | 47 + .../Director_CurveClipItem_Hover.png | Bin 0 -> 199 bytes .../Director_CurveClipItem_Hover.png.meta | 47 + .../Director_CurveClipItem_Hover_Personal.png | Bin 0 -> 198 bytes ...ctor_CurveClipItem_Hover_Personal.png.meta | 47 + .../Director_CurveClipItem_Personal.png | Bin 0 -> 199 bytes .../Director_CurveClipItem_Personal.png.meta | 47 + .../Director_CurveClipItem_Selected.png | Bin 0 -> 206 bytes .../Director_CurveClipItem_Selected.png.meta | 47 + ...rector_CurveClipItem_Selected_Personal.png | Bin 0 -> 206 bytes ...r_CurveClipItem_Selected_Personal.png.meta | 47 + .../System/Resources/Director_CurvesIcon.png | Bin 0 -> 853 bytes .../Resources/Director_CurvesIcon.png.meta | 47 + .../Resources/Director_DarkSkin.guiskin | 4067 +++++++++++++++++ .../Resources/Director_DarkSkin.guiskin.meta | 8 + .../Resources/Director_DownArrowIcon.png | Bin 0 -> 236 bytes .../Resources/Director_DownArrowIcon.png.meta | 47 + .../Director_DownArrowIcon_Activated.png | Bin 0 -> 240 bytes .../Director_DownArrowIcon_Activated.png.meta | 47 + .../Director_DownArrowIcon_Hover.png | Bin 0 -> 236 bytes .../Director_DownArrowIcon_Hover.png.meta | 47 + .../Resources/Director_Duration_Playhead.png | Bin 0 -> 1099 bytes .../Director_Duration_Playhead.png.meta | 47 + .../System/Resources/Director_EditIcon.png | Bin 0 -> 401 bytes .../Resources/Director_EditIcon.png.meta | 47 + .../Resources/Director_EditIcon_Hover.png | Bin 0 -> 428 bytes .../Director_EditIcon_Hover.png.meta | 47 + .../Director_EventItemBottom_Dark.png | Bin 0 -> 986 bytes .../Director_EventItemBottom_Dark.png.meta | 47 + .../Resources/Director_EventItem_Dark.png | Bin 0 -> 1048 bytes .../Director_EventItem_Dark.png.meta | 47 + .../Resources/Director_EventItem_Light.png | Bin 0 -> 1067 bytes .../Director_EventItem_Light.png.meta | 47 + .../Resources/Director_ExpandVertical.png | Bin 0 -> 274 bytes .../Director_ExpandVertical.png.meta | 47 + .../Director_ExpandVertical_Activated.png | Bin 0 -> 288 bytes ...Director_ExpandVertical_Activated.png.meta | 47 + .../Director_ExpandVertical_Hover.png | Bin 0 -> 277 bytes .../Director_ExpandVertical_Hover.png.meta | 47 + .../Resources/Director_FrameBackwardIcon.png | Bin 0 -> 311 bytes .../Director_FrameBackwardIcon.png.meta | 47 + .../Resources/Director_FrameForwardIcon.png | Bin 0 -> 324 bytes .../Director_FrameForwardIcon.png.meta | 47 + .../System/Resources/Director_GlobalItem.png | Bin 0 -> 200 bytes .../Resources/Director_GlobalItem.png.meta | 47 + .../Resources/Director_GlobalItem_Hover.png | Bin 0 -> 200 bytes .../Director_GlobalItem_Hover.png.meta | 47 + .../Director_GlobalItem_Hover_Personal.png | Bin 0 -> 200 bytes ...irector_GlobalItem_Hover_Personal.png.meta | 47 + .../Director_GlobalItem_Personal.png | Bin 0 -> 200 bytes .../Director_GlobalItem_Personal.png.meta | 47 + .../Director_GlobalItem_Selected.png | Bin 0 -> 206 bytes .../Director_GlobalItem_Selected.png.meta | 47 + .../Director_GlobalItem_Selected_Personal.png | Bin 0 -> 206 bytes ...ctor_GlobalItem_Selected_Personal.png.meta | 47 + .../Director_HorizontalRescaleIcon_Dark.png | Bin 0 -> 1260 bytes ...rector_HorizontalRescaleIcon_Dark.png.meta | 47 + .../Director_HorizontalRescaleIcon_Light.png | Bin 0 -> 1294 bytes ...ector_HorizontalRescaleIcon_Light.png.meta | 47 + .../System/Resources/Director_Icon_Dark.png | Bin 0 -> 319 bytes .../Resources/Director_Icon_Dark.png.meta | 47 + .../System/Resources/Director_Icon_Light.png | Bin 0 -> 318 bytes .../Resources/Director_Icon_Light.png.meta | 47 + .../Resources/Director_InspectorIcon.png | Bin 0 -> 345 bytes .../Resources/Director_InspectorIcon.png.meta | 47 + .../Director_InspectorIcon_Hover.png | Bin 0 -> 314 bytes .../Director_InspectorIcon_Hover.png.meta | 47 + .../System/Resources/Director_Keyframe.png | Bin 0 -> 374 bytes .../Resources/Director_Keyframe.png.meta | 47 + .../Resources/Director_KeyframeBackground.png | Bin 0 -> 746 bytes .../Director_KeyframeBackground.png.meta | 47 + .../Resources/Director_KeyframeOffset.png | Bin 0 -> 501 bytes .../Director_KeyframeOffset.png.meta | 47 + .../Resources/Director_LightSkin.guiskin | 4067 +++++++++++++++++ .../Resources/Director_LightSkin.guiskin.meta | 8 + .../Resources/Director_LockIcon_Light.png | Bin 0 -> 19280 bytes .../Director_LockIcon_Light.png.meta | 47 + .../Director_LockedIconSmall_Dark.png | Bin 0 -> 1151 bytes .../Director_LockedIconSmall_Dark.png.meta | 57 + .../Director_LockedIconSmall_Dark_Hover.png | Bin 0 -> 1153 bytes ...rector_LockedIconSmall_Dark_Hover.png.meta | 57 + .../Resources/Director_LockedIcon_Dark.png | Bin 0 -> 1182 bytes .../Director_LockedIcon_Dark.png.meta | 57 + .../Director_LockedIcon_Dark_Hover.png | Bin 0 -> 1186 bytes .../Director_LockedIcon_Dark_Hover.png.meta | 57 + .../System/Resources/Director_Magnet_Dark.png | Bin 0 -> 18770 bytes .../Resources/Director_Magnet_Dark.png.meta | 47 + .../Resources/Director_Magnet_Light.png | Bin 0 -> 1180 bytes .../Resources/Director_Magnet_Light.png.meta | 47 + .../Director_MultiGroupIcon_Dark.png | Bin 0 -> 53131 bytes .../Director_MultiGroupIcon_Dark.png.meta | 47 + .../Director_MultiGroupIcon_Light.png | Bin 0 -> 249 bytes .../Director_MultiGroupIcon_Light.png.meta | 47 + .../System/Resources/Director_PauseIcon.png | Bin 0 -> 277 bytes .../Resources/Director_PauseIcon.png.meta | 47 + .../System/Resources/Director_PickerIcon.png | Bin 0 -> 396 bytes .../Resources/Director_PickerIcon.png.meta | 47 + .../Resources/Director_PickerIcon_Dark.png | Bin 0 -> 293 bytes .../Director_PickerIcon_Dark.png.meta | 47 + .../Resources/Director_PickerIcon_Hover.png | Bin 0 -> 399 bytes .../Director_PickerIcon_Hover.png.meta | 47 + .../Resources/Director_PickerIcon_Light.png | Bin 0 -> 456 bytes .../Director_PickerIcon_Light.png.meta | 47 + .../System/Resources/Director_PlayIcon.png | Bin 0 -> 292 bytes .../Resources/Director_PlayIcon.png.meta | 47 + .../System/Resources/Director_Playhead.png | Bin 0 -> 1481 bytes .../Resources/Director_Playhead.png.meta | 47 + .../Resources/Director_RefreshIcon_Dark.png | Bin 0 -> 621 bytes .../Director_RefreshIcon_Dark.png.meta | 47 + .../Resources/Director_RefreshIcon_Light.png | Bin 0 -> 600 bytes .../Director_RefreshIcon_Light.png.meta | 47 + .../Resources/Director_Resize_Crop_Dark.png | Bin 0 -> 602 bytes .../Director_Resize_Crop_Dark.png.meta | 47 + .../Resources/Director_Resize_Crop_Light.png | Bin 0 -> 572 bytes .../Director_Resize_Crop_Light.png.meta | 47 + .../Resources/Director_Resize_Scale_Dark.png | Bin 0 -> 311 bytes .../Director_Resize_Scale_Dark.png.meta | 47 + .../Resources/Director_Resize_Scale_Light.png | Bin 0 -> 329 bytes .../Director_Resize_Scale_Light.png.meta | 47 + .../System/Resources/Director_RippleIcon.png | Bin 0 -> 201 bytes .../Resources/Director_RippleIcon.png.meta | 47 + .../System/Resources/Director_RollingIcon.png | Bin 0 -> 226 bytes .../Resources/Director_RollingIcon.png.meta | 47 + .../Resources/Director_SettingsIcon_Dark.png | Bin 0 -> 1106 bytes .../Director_SettingsIcon_Dark.png.meta | 47 + .../Resources/Director_SettingsIcon_Light.png | Bin 0 -> 1189 bytes .../Director_SettingsIcon_Light.png.meta | 47 + .../System/Resources/Director_Shot.png | Bin 0 -> 199 bytes .../System/Resources/Director_Shot.png.meta | 47 + .../System/Resources/Director_ShotIcon.png | Bin 0 -> 21053 bytes .../Resources/Director_ShotIcon.png.meta | 47 + .../System/Resources/Director_Shot_Hover.png | Bin 0 -> 199 bytes .../Resources/Director_Shot_Hover.png.meta | 47 + .../Director_Shot_Hover_Personal.png | Bin 0 -> 198 bytes .../Director_Shot_Hover_Personal.png.meta | 47 + .../Resources/Director_Shot_Personal.png | Bin 0 -> 198 bytes .../Resources/Director_Shot_Personal.png.meta | 47 + .../Resources/Director_Shot_Selected.png | Bin 0 -> 206 bytes .../Resources/Director_Shot_Selected.png.meta | 47 + .../Director_Shot_Selected_Personal.png | Bin 0 -> 206 bytes .../Director_Shot_Selected_Personal.png.meta | 47 + .../Resources/Director_SolidKeyframe.png | Bin 0 -> 19280 bytes .../Resources/Director_SolidKeyframe.png.meta | 47 + .../System/Resources/Director_StopIcon.png | Bin 0 -> 259 bytes .../Resources/Director_StopIcon.png.meta | 47 + .../Resources/Director_TrackArea_Dark.png | Bin 0 -> 220 bytes .../Director_TrackArea_Dark.png.meta | 47 + .../Resources/Director_TrackArea_Light.png | Bin 0 -> 180 bytes .../Director_TrackArea_Light.png.meta | 47 + .../Director_TrackGroupArea_Dark.png | Bin 0 -> 193 bytes .../Director_TrackGroupArea_Dark.png.meta | 47 + .../Director_TrackGroupArea_Dark_Selected.png | Bin 0 -> 225 bytes ...ctor_TrackGroupArea_Dark_Selected.png.meta | 47 + .../Director_TrackGroupArea_Light.png | Bin 0 -> 185 bytes .../Director_TrackGroupArea_Light.png.meta | 47 + ...Director_TrackGroupArea_Light_Selected.png | Bin 0 -> 193 bytes ...tor_TrackGroupArea_Light_Selected.png.meta | 47 + .../Director_TrackGroup_BG_Selected.png | Bin 0 -> 203 bytes .../Director_TrackGroup_BG_Selected.png.meta | 47 + ...rector_TrackGroup_BG_Selected_Personal.png | Bin 0 -> 190 bytes ...r_TrackGroup_BG_Selected_Personal.png.meta | 47 + .../System/Resources/Director_TrackItem.png | Bin 0 -> 191 bytes .../Resources/Director_TrackItem.png.meta | 47 + .../Resources/Director_TrackItem_Hover.png | Bin 0 -> 191 bytes .../Director_TrackItem_Hover.png.meta | 47 + .../Director_TrackItem_Hover_Personal.png | Bin 0 -> 191 bytes ...Director_TrackItem_Hover_Personal.png.meta | 47 + .../Resources/Director_TrackItem_Overlay.png | Bin 0 -> 187 bytes .../Director_TrackItem_Overlay.png.meta | 47 + .../Resources/Director_TrackItem_Personal.png | Bin 0 -> 191 bytes .../Director_TrackItem_Personal.png.meta | 47 + .../Resources/Director_TrackItem_Selected.png | Bin 0 -> 198 bytes .../Director_TrackItem_Selected.png.meta | 47 + .../Director_TrackItem_Selected_Personal.png | Bin 0 -> 197 bytes ...ector_TrackItem_Selected_Personal.png.meta | 47 + .../Resources/Director_Track_Sidebar_BG1.png | Bin 0 -> 189 bytes .../Director_Track_Sidebar_BG1.png.meta | 47 + .../Director_Track_Sidebar_BG1_Personal.png | Bin 0 -> 176 bytes ...rector_Track_Sidebar_BG1_Personal.png.meta | 47 + .../Resources/Director_Track_Sidebar_BG2.png | Bin 0 -> 189 bytes .../Director_Track_Sidebar_BG2.png.meta | 47 + .../Director_Track_Sidebar_BG2_Personal.png | Bin 0 -> 176 bytes ...rector_Track_Sidebar_BG2_Personal.png.meta | 47 + .../Resources/Director_UnlockedIcon.png | Bin 0 -> 19719 bytes .../Resources/Director_UnlockedIcon.png.meta | 47 + .../Director_UnlockedIconSmall_Dark.png | Bin 0 -> 1131 bytes .../Director_UnlockedIconSmall_Dark.png.meta | 57 + .../Director_UnlockedIconSmall_Dark_Hover.png | Bin 0 -> 1133 bytes ...ctor_UnlockedIconSmall_Dark_Hover.png.meta | 57 + .../Resources/Director_UnlockedIcon_Dark.png | Bin 0 -> 1154 bytes .../Director_UnlockedIcon_Dark.png.meta | 57 + .../Director_UnlockedIcon_Dark_Hover.png | Bin 0 -> 1156 bytes .../Director_UnlockedIcon_Dark_Hover.png.meta | 57 + .../System/Resources/Director_UpArrowIcon.png | Bin 0 -> 246 bytes .../Resources/Director_UpArrowIcon.png.meta | 47 + .../Director_UpArrowIcon_Activated.png | Bin 0 -> 250 bytes .../Director_UpArrowIcon_Activated.png.meta | 47 + .../Resources/Director_UpArrowIcon_Hover.png | Bin 0 -> 246 bytes .../Director_UpArrowIcon_Hover.png.meta | 47 + .../Resources/Director_ZoomInIcon_Dark.png | Bin 0 -> 1519 bytes .../Director_ZoomInIcon_Dark.png.meta | 47 + .../Resources/Director_ZoomInIcon_Light.png | Bin 0 -> 1520 bytes .../Director_ZoomInIcon_Light.png.meta | 47 + .../Resources/Director_ZoomOutIcon_Dark.png | Bin 0 -> 1496 bytes .../Director_ZoomOutIcon_Dark.png.meta | 47 + .../Resources/Director_ZoomOutIcon_Light.png | Bin 0 -> 1484 bytes .../Director_ZoomOutIcon_Light.png.meta | 47 + .../System/Resources/DownArrowIcon.png | Bin 0 -> 229 bytes .../System/Resources/DownArrowIcon.png.meta | 47 + .../Resources/DownArrowIconActivated.png | Bin 0 -> 231 bytes .../Resources/DownArrowIconActivated.png.meta | 47 + .../System/Resources/DownArrowIconHover.png | Bin 0 -> 226 bytes .../Resources/DownArrowIconHover.png.meta | 47 + .../System/Resources/EditIcon.png | Bin 0 -> 401 bytes .../System/Resources/EditIcon.png.meta | 47 + .../System/Resources/EditIconHover.png | Bin 0 -> 428 bytes .../System/Resources/EditIconHover.png.meta | 47 + .../System/Resources/EventItem.png | Bin 0 -> 1093 bytes .../System/Resources/EventItem.png.meta | 47 + .../System/Resources/EventItemFree.png | Bin 0 -> 1067 bytes .../System/Resources/EventItemFree.png.meta | 47 + .../Resources/Expand Vertical Activated.png | Bin 0 -> 271 bytes .../Expand Vertical Activated.png.meta | 47 + .../Resources/Expand Vertical Hover.png | Bin 0 -> 268 bytes .../Resources/Expand Vertical Hover.png.meta | 47 + .../System/Resources/Expand Vertical.png | Bin 0 -> 271 bytes .../System/Resources/Expand Vertical.png.meta | 47 + .../System/Resources/GraphResizeTest.png | Bin 0 -> 301 bytes .../System/Resources/GraphResizeTest.png.meta | 47 + .../System/Resources/InspectorIcon.png | Bin 0 -> 345 bytes .../System/Resources/InspectorIcon.png.meta | 47 + .../System/Resources/InspectorIconHover.png | Bin 0 -> 314 bytes .../Resources/InspectorIconHover.png.meta | 47 + .../System/Resources/Keyframe.png | Bin 0 -> 374 bytes .../System/Resources/Keyframe.png.meta | 51 + .../System/Resources/KeyframeBackground.png | Bin 0 -> 746 bytes .../Resources/KeyframeBackground.png.meta | 47 + .../System/Resources/KeyframeOffset.png | Bin 0 -> 501 bytes .../System/Resources/KeyframeOffset.png.meta | 47 + .../Resources/MultiActorGroupIconFree.png | Bin 0 -> 53131 bytes .../MultiActorGroupIconFree.png.meta | 47 + .../Resources/MultiActorGroupIconPro.png | Bin 0 -> 52877 bytes .../Resources/MultiActorGroupIconPro.png.meta | 47 + .../System/Resources/PauseButton.png | Bin 0 -> 277 bytes .../System/Resources/PauseButton.png.meta | 47 + .../System/Resources/PickerIcon.png | Bin 0 -> 456 bytes .../System/Resources/PickerIcon.png.meta | 47 + .../System/Resources/PickerIconHover.png | Bin 0 -> 366 bytes .../System/Resources/PickerIconHover.png.meta | 47 + .../System/Resources/PlayButton.png | Bin 0 -> 292 bytes .../System/Resources/PlayButton.png.meta | 47 + .../System/Resources/RefreshIcon.png | Bin 0 -> 600 bytes .../System/Resources/RefreshIcon.png.meta | 47 + .../System/Resources/RippleEdit.png | Bin 0 -> 201 bytes .../System/Resources/RippleEdit.png.meta | 47 + .../System/Resources/RollingEdit.png | Bin 0 -> 226 bytes .../System/Resources/RollingEdit.png.meta | 47 + .../System/Resources/StopButton.png | Bin 0 -> 259 bytes .../System/Resources/StopButton.png.meta | 47 + .../System/Resources/TrackArea.png | Bin 0 -> 190 bytes .../System/Resources/TrackArea.png.meta | 47 + .../System/Resources/TrackAreaFree.png | Bin 0 -> 195 bytes .../System/Resources/TrackAreaFree.png.meta | 47 + .../System/Resources/TrackGroupArea.png | Bin 0 -> 182 bytes .../System/Resources/TrackGroupArea.png.meta | 47 + .../System/Resources/TrackGroupAreaFree.png | Bin 0 -> 184 bytes .../Resources/TrackGroupAreaFree.png.meta | 47 + .../System/Resources/TrackItemBox.jpg | Bin 0 -> 1258 bytes .../System/Resources/TrackItemBox.jpg.meta | 47 + .../System/Resources/TrackItemBoxAudio.jpg | Bin 0 -> 14285 bytes .../Resources/TrackItemBoxAudio.jpg.meta | 47 + .../Resources/TrackItemBoxAudioHover.jpg | Bin 0 -> 1472 bytes .../Resources/TrackItemBoxAudioHover.jpg.meta | 47 + .../Resources/TrackItemBoxAudioSelected.jpg | Bin 0 -> 13991 bytes .../TrackItemBoxAudioSelected.jpg.meta | 47 + .../Resources/TrackItemBoxCurveFocused.jpg | Bin 0 -> 1375 bytes .../TrackItemBoxCurveFocused.jpg.meta | 47 + .../System/Resources/TrackItemBoxFree.jpg | Bin 0 -> 1258 bytes .../Resources/TrackItemBoxFree.jpg.meta | 47 + .../Resources/TrackItemBoxFreeHover.jpg | Bin 0 -> 1587 bytes .../Resources/TrackItemBoxFreeHover.jpg.meta | 47 + .../Resources/TrackItemBoxFreeSelected.jpg | Bin 0 -> 1164 bytes .../TrackItemBoxFreeSelected.jpg.meta | 47 + .../System/Resources/TrackItemBoxGlobal.jpg | Bin 0 -> 14370 bytes .../Resources/TrackItemBoxGlobal.jpg.meta | 47 + .../Resources/TrackItemBoxGlobalHover.jpg | Bin 0 -> 1454 bytes .../TrackItemBoxGlobalHover.jpg.meta | 47 + .../Resources/TrackItemBoxGlobalSelected.jpg | Bin 0 -> 14017 bytes .../TrackItemBoxGlobalSelected.jpg.meta | 47 + .../System/Resources/TrackItemBoxHover.jpg | Bin 0 -> 1423 bytes .../Resources/TrackItemBoxHover.jpg.meta | 47 + .../System/Resources/TrackItemBoxSelected.jpg | Bin 0 -> 1151 bytes .../Resources/TrackItemBoxSelected.jpg.meta | 47 + .../System/Resources/TrackItemBoxShot.jpg | Bin 0 -> 14329 bytes .../Resources/TrackItemBoxShot.jpg.meta | 47 + .../Resources/TrackItemBoxShotHover.jpg | Bin 0 -> 1419 bytes .../Resources/TrackItemBoxShotHover.jpg.meta | 47 + .../Resources/TrackItemBoxShotSelected.jpg | Bin 0 -> 14025 bytes .../TrackItemBoxShotSelected.jpg.meta | 47 + .../System/Resources/UpArrowIcon.png | Bin 0 -> 243 bytes .../System/Resources/UpArrowIcon.png.meta | 47 + .../System/Resources/UpArrowIconActivated.png | Bin 0 -> 239 bytes .../Resources/UpArrowIconActivated.png.meta | 47 + .../System/Resources/UpArrowIconHover.png | Bin 0 -> 237 bytes .../Resources/UpArrowIconHover.png.meta | 47 + .../System/Resources/house_white.png | Bin 0 -> 1401 bytes .../System/Resources/house_white.png.meta | 47 + .../Resources/houseupsidedown_white.png | Bin 0 -> 1481 bytes .../Resources/houseupsidedown_white.png.meta | 47 + .../System/Resources/keyframe_white.png | Bin 0 -> 19280 bytes .../System/Resources/keyframe_white.png.meta | 47 + .../System/Resources/keyframealt_white.png | Bin 0 -> 19719 bytes .../Resources/keyframealt_white.png.meta | 47 + .../System/Resources/locked_white.png | Bin 0 -> 19280 bytes .../System/Resources/locked_white.png.meta | 47 + .../System/Resources/magnet_grey.png | Bin 0 -> 19908 bytes .../System/Resources/magnet_grey.png.meta | 47 + .../System/Resources/magnet_white.png | Bin 0 -> 1180 bytes .../System/Resources/magnet_white.png.meta | 47 + .../System/Resources/rescale_grey.png | Bin 0 -> 19719 bytes .../System/Resources/rescale_grey.png.meta | 47 + .../System/Resources/unlocked_white.png | Bin 0 -> 19719 bytes .../System/Resources/unlocked_white.png.meta | 47 + .../System/Resources/zoomin_grey.png | Bin 0 -> 19719 bytes .../System/Resources/zoomin_grey.png.meta | 47 + .../System/Resources/zoomout_grey.png | Bin 0 -> 19719 bytes .../System/Resources/zoomout_grey.png.meta | 47 + Assets/Cinema Director/System/Runtime.meta | 5 + .../System/Runtime/Cutscene.cs | 576 +++ .../System/Runtime/Cutscene.cs.meta | 8 + .../Cinema Director/System/Runtime/Enums.meta | 5 + .../System/Runtime/Enums/CutsceneItemGenre.cs | 19 + .../Runtime/Enums/CutsceneItemGenre.cs.meta | 8 + .../System/Runtime/Enums/PlaybackMode.cs | 15 + .../System/Runtime/Enums/PlaybackMode.cs.meta | 8 + .../System/Runtime/Enums/PropertyTypeInfo.cs | 241 + .../Runtime/Enums/PropertyTypeInfo.cs.meta | 8 + .../System/Runtime/Enums/RevertMode.cs | 13 + .../System/Runtime/Enums/RevertMode.cs.meta | 8 + .../Runtime/Enums/TimelineTrackGenre.cs | 15 + .../Runtime/Enums/TimelineTrackGenre.cs.meta | 8 + .../System/Runtime/Helpers.meta | 5 + .../Runtime/Helpers/AnimationCurveHelper.cs | 318 ++ .../Helpers/AnimationCurveHelper.cs.meta | 8 + .../System/Runtime/Helpers/CutsceneQueue.cs | 40 + .../Runtime/Helpers/CutsceneQueue.cs.meta | 8 + .../System/Runtime/Helpers/CutsceneTrigger.cs | 74 + .../Runtime/Helpers/CutsceneTrigger.cs.meta | 8 + .../Runtime/Helpers/DirectorRuntimeHelper.cs | 145 + .../Helpers/DirectorRuntimeHelper.cs.meta | 8 + .../System/Runtime/Helpers/IBakeable.cs | 11 + .../System/Runtime/Helpers/IBakeable.cs.meta | 8 + .../System/Runtime/Helpers/IOptimizable.cs | 15 + .../Runtime/Helpers/IOptimizable.cs.meta | 8 + .../System/Runtime/Helpers/IRevertable.cs | 16 + .../Runtime/Helpers/IRevertable.cs.meta | 8 + .../System/Runtime/Helpers/RevertInfo.cs | 108 + .../System/Runtime/Helpers/RevertInfo.cs.meta | 8 + .../Runtime/Helpers/ScreenshotCapture.cs | 26 + .../Runtime/Helpers/ScreenshotCapture.cs.meta | 8 + .../System/Runtime/TimelineItems.meta | 5 + .../System/Runtime/TimelineItems/Base.meta | 5 + .../TimelineItems/Base/CinemaClipCurve.cs | 164 + .../Base/CinemaClipCurve.cs.meta | 8 + .../Runtime/TimelineItems/Base/CinemaTween.cs | 7 + .../TimelineItems/Base/CinemaTween.cs.meta | 8 + .../Base/CutsceneItemAttribute.cs | 94 + .../Base/CutsceneItemAttribute.cs.meta | 8 + .../TimelineItems/Base/MemberClipCurveData.cs | 74 + .../Base/MemberClipCurveData.cs.meta | 8 + .../TimelineItems/Base/TimelineAction.cs | 41 + .../TimelineItems/Base/TimelineAction.cs.meta | 8 + .../TimelineItems/Base/TimelineActionFixed.cs | 44 + .../Base/TimelineActionFixed.cs.meta | 8 + .../TimelineItems/Base/TimelineItem.cs | 85 + .../TimelineItems/Base/TimelineItem.cs.meta | 8 + .../TimelineItems/CinemaActorAction.cs | 100 + .../TimelineItems/CinemaActorAction.cs.meta | 8 + .../TimelineItems/CinemaActorClipCurve.cs | 192 + .../CinemaActorClipCurve.cs.meta | 8 + .../Runtime/TimelineItems/CinemaActorEvent.cs | 62 + .../TimelineItems/CinemaActorEvent.cs.meta | 8 + .../TimelineItems/CinemaGlobalAction.cs | 55 + .../TimelineItems/CinemaGlobalAction.cs.meta | 8 + .../TimelineItems/CinemaGlobalEvent.cs | 21 + .../TimelineItems/CinemaGlobalEvent.cs.meta | 8 + .../CinemaMultiActorCurveClip.cs | 158 + .../CinemaMultiActorCurveClip.cs.meta | 8 + .../System/Runtime/TimelineTracks.meta | 5 + .../Runtime/TimelineTracks/ActorItemTrack.cs | 286 ++ .../TimelineTracks/ActorItemTrack.cs.meta | 8 + .../Runtime/TimelineTracks/AudioTrack.cs | 102 + .../Runtime/TimelineTracks/AudioTrack.cs.meta | 8 + .../System/Runtime/TimelineTracks/Base.meta | 5 + .../TimelineTracks/Base/IActorTrack.cs | 18 + .../TimelineTracks/Base/IActorTrack.cs.meta | 8 + .../TimelineTracks/Base/IMultiActorTrack.cs | 20 + .../Base/IMultiActorTrack.cs.meta | 8 + .../TimelineTracks/Base/TimelineTrack.cs | 303 ++ .../TimelineTracks/Base/TimelineTrack.cs.meta | 8 + .../Base/TimelineTrackAttribute.cs | 81 + .../Base/TimelineTrackAttribute.cs.meta | 8 + .../Runtime/TimelineTracks/CurveTrack.cs | 66 + .../Runtime/TimelineTracks/CurveTrack.cs.meta | 8 + .../Runtime/TimelineTracks/DialogueTrack.cs | 49 + .../TimelineTracks/DialogueTrack.cs.meta | 8 + .../Runtime/TimelineTracks/GlobalItemTrack.cs | 46 + .../TimelineTracks/GlobalItemTrack.cs.meta | 8 + .../Runtime/TimelineTracks/MecanimTrack.cs | 12 + .../TimelineTracks/MecanimTrack.cs.meta | 8 + .../Runtime/TimelineTracks/MultiCurveTrack.cs | 56 + .../TimelineTracks/MultiCurveTrack.cs.meta | 8 + .../Runtime/TimelineTracks/ShotTrack.cs | 159 + .../Runtime/TimelineTracks/ShotTrack.cs.meta | 8 + .../Runtime/TimelineTracks/TransformTrack.cs | 12 + .../TimelineTracks/TransformTrack.cs.meta | 8 + .../System/Runtime/TrackGroups.meta | 5 + .../Runtime/TrackGroups/ActorTrackGroup.cs | 24 + .../TrackGroups/ActorTrackGroup.cs.meta | 8 + .../System/Runtime/TrackGroups/Base.meta | 5 + .../Runtime/TrackGroups/Base/TrackGroup.cs | 214 + .../TrackGroups/Base/TrackGroup.cs.meta | 8 + .../TrackGroups/Base/TrackGroupAttribute.cs | 52 + .../Base/TrackGroupAttribute.cs.meta | 8 + .../TrackGroups/CharacterTrackGroup.cs | 164 + .../TrackGroups/CharacterTrackGroup.cs.meta | 8 + .../Runtime/TrackGroups/DirectorGroup.cs | 10 + .../Runtime/TrackGroups/DirectorGroup.cs.meta | 8 + .../TrackGroups/MultiActorTrackGroup.cs | 31 + .../TrackGroups/MultiActorTrackGroup.cs.meta | 8 + Assets/Cinema Director/Third Party.meta | 10 + .../Third Party/Behavior Designer.meta | 10 + ...viorDesigner_Integration.unitypackage.meta | 7 + .../Third Party/Cinemachine.meta | 10 + ...nemaDirector_Integration.unitypackage.meta | 7 + .../Third Party/NodeCanvas.meta | 10 + ...nemaDirector_Integration.unitypackage.meta | 7 + .../Third Party/Playmaker.meta | 10 + ...nemaDirector_Integration.unitypackage.meta | 7 + Assets/Cinema Director/link.xml | 6 + Assets/Cinema Director/link.xml.meta | 4 + fie.csproj | 193 +- 745 files changed, 34904 insertions(+), 1 deletion(-) create mode 100644 Assets/Cinema Director/ChangeLog.txt create mode 100644 Assets/Cinema Director/ChangeLog.txt.meta create mode 100644 Assets/Cinema Director/Cutscene Items.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/BlendAnimationEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/BlendAnimationEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/CrossFadeAnimationEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/CrossFadeAnimationEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/PlayAnimationEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/PlayAnimationEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/ReloadLevelStart.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/ReloadLevelStart.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/RewindAnimationEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/RewindAnimationEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/SampleAnimationEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/SampleAnimationEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/StopAnimationEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animation/StopAnimationEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/CrossFadeAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/CrossFadeAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/LookAtTarget.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/LookAtTarget.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/MatchTargetEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/MatchTargetEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/PlayAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/PlayAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetBoolAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetBoolAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetFloatAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetFloatAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionWeightAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionWeightAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationWeightAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationWeightAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIntegerAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIntegerAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLayerWeightAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLayerWeightAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtPositionAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtPositionAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtWeightAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtWeightAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTargetAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTargetAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTriggerAnimatorEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTriggerAnimatorEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PauseAudioEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PauseAudioEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayAudioEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayAudioEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayOneShotAudioEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayOneShotAudioEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/StopAudioEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/StopAudioEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableBehaviour.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableBehaviour.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableGameObject.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableGameObject.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableBehaviour.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableBehaviour.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObject.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObject.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObjectAction.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObjectAction.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/SendMessageGameObject.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/SendMessageGameObject.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Light.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetColorLight.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetColorLight.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetIntensityLight.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetIntensityLight.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Navigation.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Navigation/SetDestinationEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Navigation/SetDestinationEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Particles.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PauseParticleSystemEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PauseParticleSystemEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PlayParticleSystemEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PlayParticleSystemEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Particles/StopParticleSystemEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Particles/StopParticleSystemEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyForceEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyForceEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyTorqueEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyTorqueEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodySleepEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodySleepEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodyWakeUpEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodyWakeUpEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/SetMassEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/SetMassEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ToggleGravityEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ToggleGravityEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/AttachChildrenEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/AttachChildrenEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/DetachChildrenEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/DetachChildrenEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetParent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetParent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetPositionEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetPositionEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetTransformEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetTransformEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/TransformLookAtAction.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/Transform/TransformLookAtAction.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/CanvasCameraSwitchEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/CanvasCameraSwitchEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChange.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChange.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChangeSelectable.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChangeSelectable.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/SetIsInteractable.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/SetIsInteractable.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextDegenerationEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextDegenerationEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextGenerationEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextGenerationEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Core.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Core/CinemaAudio.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Core/CinemaAudio.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Core/CinemaShot.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Core/CinemaShot.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/AudioSource.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/AudioSource/PlayClipAtPointAudioEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/AudioSource/PlayClipAtPointAudioEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Cutscene.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PauseCutscene.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PauseCutscene.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PlayCutscene.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PlayCutscene.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/StopCutscene.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/StopCutscene.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Debug.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/GUITexture.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/GUITexture/FadeTexture.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/GUITexture/FadeTexture.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/GameObject.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/GameObject/DisableGameObjectGlobal.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/GameObject/DisableGameObjectGlobal.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/GameObject/EnableGameObjectGlobal.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/GameObject/EnableGameObjectGlobal.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Time.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Time/SetTimeScaleEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Time/SetTimeScaleEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Time/TimeScaleCurveAction.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Time/TimeScaleCurveAction.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions/ColorTransition.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions/ColorTransition.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromBlack.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromBlack.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromWhite.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromWhite.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToBlack.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToBlack.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToWhite.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToWhite.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Utility.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Utility/LoadLevelEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Utility/LoadLevelEvent.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Utility/MassDisabler.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Utility/MassDisabler.cs.meta create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Utility/StoryboardEvent.cs create mode 100644 Assets/Cinema Director/Cutscene Items/Global Items/Utility/StoryboardEvent.cs.meta create mode 100644 Assets/Cinema Director/Prefabs.meta create mode 100644 Assets/Cinema Director/Prefabs/Cutscene.prefab create mode 100644 Assets/Cinema Director/Prefabs/Cutscene.prefab.meta create mode 100644 Assets/Cinema Director/Prefabs/CutsceneQueue.prefab create mode 100644 Assets/Cinema Director/Prefabs/CutsceneQueue.prefab.meta create mode 100644 Assets/Cinema Director/Prefabs/CutsceneTrigger.prefab create mode 100644 Assets/Cinema Director/Prefabs/CutsceneTrigger.prefab.meta create mode 100644 Assets/Cinema Director/Prefabs/ScreenshotCapturer.prefab create mode 100644 Assets/Cinema Director/Prefabs/ScreenshotCapturer.prefab.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/BleachBypass3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/BleachBypass3D16.png.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/CrossProcess3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/CrossProcess3D16.png.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Dream3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Dream3D16.png.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/FLIR3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/FLIR3D16.png.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Horror3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Horror3D16.png.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Negative3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Negative3D16.png.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Noire3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Noire3D16.png.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Posterize3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Posterize3D16.png.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/SciFi3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/SciFi3D16.png.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Sepia3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Sepia3D16.png.meta create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Vintage3D16.png create mode 100644 Assets/Cinema Director/Prefabs/Themes/LUTs/Vintage3D16.png.meta create mode 100644 Assets/Cinema Director/System.meta create mode 100644 Assets/Cinema Director/System/Common.meta create mode 100644 Assets/Cinema Director/System/Common/Reflection.meta create mode 100644 Assets/Cinema Director/System/Common/Reflection/ReflectionHelper.cs create mode 100644 Assets/Cinema Director/System/Common/Reflection/ReflectionHelper.cs.meta create mode 100644 Assets/Cinema Director/System/Editor.meta create mode 100644 Assets/Cinema Director/System/Resources.meta create mode 100644 Assets/Cinema Director/System/Resources/ActorGroupIconFree.png create mode 100644 Assets/Cinema Director/System/Resources/ActorGroupIconFree.png.meta create mode 100644 Assets/Cinema Director/System/Resources/ActorGroupIconPro.png create mode 100644 Assets/Cinema Director/System/Resources/ActorGroupIconPro.png.meta create mode 100644 Assets/Cinema Director/System/Resources/AddIcon.png create mode 100644 Assets/Cinema Director/System/Resources/AddIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/AddIconActivated.png create mode 100644 Assets/Cinema Director/System/Resources/AddIconActivated.png.meta create mode 100644 Assets/Cinema Director/System/Resources/AddIconHover.png create mode 100644 Assets/Cinema Director/System/Resources/AddIconHover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/CharacterGroupIconFree.png create mode 100644 Assets/Cinema Director/System/Resources/CharacterGroupIconFree.png.meta create mode 100644 Assets/Cinema Director/System/Resources/CharacterGroupIconPro.png create mode 100644 Assets/Cinema Director/System/Resources/CharacterGroupIconPro.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Cinema Suite Monochrome.PNG create mode 100644 Assets/Cinema Director/System/Resources/Cinema Suite Monochrome.PNG.meta create mode 100644 Assets/Cinema Director/System/Resources/CompressVertical.png create mode 100644 Assets/Cinema Director/System/Resources/CompressVertical.png.meta create mode 100644 Assets/Cinema Director/System/Resources/CompressVerticalActivated.png create mode 100644 Assets/Cinema Director/System/Resources/CompressVerticalActivated.png.meta create mode 100644 Assets/Cinema Director/System/Resources/CompressVerticalHover.png create mode 100644 Assets/Cinema Director/System/Resources/CompressVerticalHover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/CurveCanvas.png create mode 100644 Assets/Cinema Director/System/Resources/CurveCanvas.png.meta create mode 100644 Assets/Cinema Director/System/Resources/CurveCanvasPro.png create mode 100644 Assets/Cinema Director/System/Resources/CurveCanvasPro.png.meta create mode 100644 Assets/Cinema Director/System/Resources/DirectorFreeSkin.guiskin create mode 100644 Assets/Cinema Director/System/Resources/DirectorFreeSkin.guiskin.meta create mode 100644 Assets/Cinema Director/System/Resources/DirectorGroupIconFree.png create mode 100644 Assets/Cinema Director/System/Resources/DirectorGroupIconFree.png.meta create mode 100644 Assets/Cinema Director/System/Resources/DirectorGroupIconPro.png create mode 100644 Assets/Cinema Director/System/Resources/DirectorGroupIconPro.png.meta create mode 100644 Assets/Cinema Director/System/Resources/DirectorGroupIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/DirectorGroupIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/DirectorProSkin.guiskin create mode 100644 Assets/Cinema Director/System/Resources/DirectorProSkin.guiskin.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorGroupIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorGroupIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem_Hover_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem_Hover_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem_Selected.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem_Selected.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem_Selected_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ActorItem_Selected_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AddIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AddIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AddIcon_Activated.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AddIcon_Activated.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AddIcon_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AddIcon_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AltKeyframe.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AltKeyframe.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem_Hover_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem_Hover_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem_Selected.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem_Selected.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem_Selected_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_AudioItem_Selected_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Box_Select.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Box_Select.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CharacterGroupIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CharacterGroupIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CompressVertical.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CompressVertical.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CompressVertical_Activated.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CompressVertical_Activated.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CompressVertical_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CompressVertical_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveCanvas_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveCanvas_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveCanvas_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveCanvas_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem_Selected.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem_Selected.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem_Selected_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CurveClipItem_Selected_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_CurvesIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_CurvesIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_DarkSkin.guiskin create mode 100644 Assets/Cinema Director/System/Resources/Director_DarkSkin.guiskin.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_DownArrowIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_DownArrowIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Activated.png create mode 100644 Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Activated.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Duration_Playhead.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Duration_Playhead.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_EditIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_EditIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_EditIcon_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_EditIcon_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_EventItemBottom_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_EventItemBottom_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_EventItem_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_EventItem_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_EventItem_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_EventItem_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ExpandVertical.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ExpandVertical.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ExpandVertical_Activated.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ExpandVertical_Activated.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ExpandVertical_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ExpandVertical_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_FrameBackwardIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_FrameBackwardIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_FrameForwardIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_FrameForwardIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem.png create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem_Selected.png create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem_Selected.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem_Selected_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_GlobalItem_Selected_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_HorizontalRescaleIcon_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_HorizontalRescaleIcon_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_HorizontalRescaleIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_HorizontalRescaleIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Icon_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Icon_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Icon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Icon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_InspectorIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_InspectorIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_InspectorIcon_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_InspectorIcon_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Keyframe.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Keyframe.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_KeyframeBackground.png create mode 100644 Assets/Cinema Director/System/Resources/Director_KeyframeBackground.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_KeyframeOffset.png create mode 100644 Assets/Cinema Director/System/Resources/Director_KeyframeOffset.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_LightSkin.guiskin create mode 100644 Assets/Cinema Director/System/Resources/Director_LightSkin.guiskin.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_LockIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_LockIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_LockedIcon_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_LockedIcon_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_LockedIcon_Dark_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_LockedIcon_Dark_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Magnet_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Magnet_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Magnet_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Magnet_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_MultiGroupIcon_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_MultiGroupIcon_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_MultiGroupIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_MultiGroupIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_PauseIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_PauseIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_PickerIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_PickerIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_PickerIcon_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_PickerIcon_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_PickerIcon_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_PickerIcon_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_PickerIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_PickerIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_PlayIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_PlayIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Playhead.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Playhead.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_RefreshIcon_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_RefreshIcon_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_RefreshIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_RefreshIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Resize_Crop_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Resize_Crop_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Resize_Crop_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Resize_Crop_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Resize_Scale_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Resize_Scale_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Resize_Scale_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Resize_Scale_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_RippleIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_RippleIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_RollingIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_RollingIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_SettingsIcon_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_SettingsIcon_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_SettingsIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_SettingsIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ShotIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ShotIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot_Hover_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot_Hover_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot_Selected.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot_Selected.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot_Selected_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Shot_Selected_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_SolidKeyframe.png create mode 100644 Assets/Cinema Director/System/Resources/Director_SolidKeyframe.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_StopIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_StopIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackArea_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackArea_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackArea_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackArea_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark_Selected.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark_Selected.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Light_Selected.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Light_Selected.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroup_BG_Selected.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroup_BG_Selected.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroup_BG_Selected_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackGroup_BG_Selected_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Hover_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Hover_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Overlay.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Overlay.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Selected.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Selected.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Selected_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_TrackItem_Selected_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG1.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG1.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG1_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG1_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG2.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG2.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG2_Personal.png create mode 100644 Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG2_Personal.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_UnlockedIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_UnlockedIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_UnlockedIconSmall_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_UnlockedIconSmall_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_UnlockedIconSmall_Dark_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_UnlockedIconSmall_Dark_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_UnlockedIcon_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_UnlockedIcon_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_UnlockedIcon_Dark_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_UnlockedIcon_Dark_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_UpArrowIcon.png create mode 100644 Assets/Cinema Director/System/Resources/Director_UpArrowIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_UpArrowIcon_Activated.png create mode 100644 Assets/Cinema Director/System/Resources/Director_UpArrowIcon_Activated.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_UpArrowIcon_Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Director_UpArrowIcon_Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ZoomOutIcon_Dark.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ZoomOutIcon_Dark.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Director_ZoomOutIcon_Light.png create mode 100644 Assets/Cinema Director/System/Resources/Director_ZoomOutIcon_Light.png.meta create mode 100644 Assets/Cinema Director/System/Resources/DownArrowIcon.png create mode 100644 Assets/Cinema Director/System/Resources/DownArrowIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/DownArrowIconActivated.png create mode 100644 Assets/Cinema Director/System/Resources/DownArrowIconActivated.png.meta create mode 100644 Assets/Cinema Director/System/Resources/DownArrowIconHover.png create mode 100644 Assets/Cinema Director/System/Resources/DownArrowIconHover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/EditIcon.png create mode 100644 Assets/Cinema Director/System/Resources/EditIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/EditIconHover.png create mode 100644 Assets/Cinema Director/System/Resources/EditIconHover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/EventItem.png create mode 100644 Assets/Cinema Director/System/Resources/EventItem.png.meta create mode 100644 Assets/Cinema Director/System/Resources/EventItemFree.png create mode 100644 Assets/Cinema Director/System/Resources/EventItemFree.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Expand Vertical Activated.png create mode 100644 Assets/Cinema Director/System/Resources/Expand Vertical Activated.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Expand Vertical Hover.png create mode 100644 Assets/Cinema Director/System/Resources/Expand Vertical Hover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Expand Vertical.png create mode 100644 Assets/Cinema Director/System/Resources/Expand Vertical.png.meta create mode 100644 Assets/Cinema Director/System/Resources/GraphResizeTest.png create mode 100644 Assets/Cinema Director/System/Resources/GraphResizeTest.png.meta create mode 100644 Assets/Cinema Director/System/Resources/InspectorIcon.png create mode 100644 Assets/Cinema Director/System/Resources/InspectorIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/InspectorIconHover.png create mode 100644 Assets/Cinema Director/System/Resources/InspectorIconHover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/Keyframe.png create mode 100644 Assets/Cinema Director/System/Resources/Keyframe.png.meta create mode 100644 Assets/Cinema Director/System/Resources/KeyframeBackground.png create mode 100644 Assets/Cinema Director/System/Resources/KeyframeBackground.png.meta create mode 100644 Assets/Cinema Director/System/Resources/KeyframeOffset.png create mode 100644 Assets/Cinema Director/System/Resources/KeyframeOffset.png.meta create mode 100644 Assets/Cinema Director/System/Resources/MultiActorGroupIconFree.png create mode 100644 Assets/Cinema Director/System/Resources/MultiActorGroupIconFree.png.meta create mode 100644 Assets/Cinema Director/System/Resources/MultiActorGroupIconPro.png create mode 100644 Assets/Cinema Director/System/Resources/MultiActorGroupIconPro.png.meta create mode 100644 Assets/Cinema Director/System/Resources/PauseButton.png create mode 100644 Assets/Cinema Director/System/Resources/PauseButton.png.meta create mode 100644 Assets/Cinema Director/System/Resources/PickerIcon.png create mode 100644 Assets/Cinema Director/System/Resources/PickerIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/PickerIconHover.png create mode 100644 Assets/Cinema Director/System/Resources/PickerIconHover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/PlayButton.png create mode 100644 Assets/Cinema Director/System/Resources/PlayButton.png.meta create mode 100644 Assets/Cinema Director/System/Resources/RefreshIcon.png create mode 100644 Assets/Cinema Director/System/Resources/RefreshIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/RippleEdit.png create mode 100644 Assets/Cinema Director/System/Resources/RippleEdit.png.meta create mode 100644 Assets/Cinema Director/System/Resources/RollingEdit.png create mode 100644 Assets/Cinema Director/System/Resources/RollingEdit.png.meta create mode 100644 Assets/Cinema Director/System/Resources/StopButton.png create mode 100644 Assets/Cinema Director/System/Resources/StopButton.png.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackArea.png create mode 100644 Assets/Cinema Director/System/Resources/TrackArea.png.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackAreaFree.png create mode 100644 Assets/Cinema Director/System/Resources/TrackAreaFree.png.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackGroupArea.png create mode 100644 Assets/Cinema Director/System/Resources/TrackGroupArea.png.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackGroupAreaFree.png create mode 100644 Assets/Cinema Director/System/Resources/TrackGroupAreaFree.png.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBox.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBox.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxAudio.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxAudio.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxAudioHover.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxAudioHover.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxAudioSelected.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxAudioSelected.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxCurveFocused.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxCurveFocused.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxFree.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxFree.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxFreeHover.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxFreeHover.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxFreeSelected.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxFreeSelected.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxGlobal.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxGlobal.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxGlobalHover.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxGlobalHover.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxGlobalSelected.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxGlobalSelected.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxHover.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxHover.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxSelected.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxSelected.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxShot.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxShot.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxShotHover.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxShotHover.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxShotSelected.jpg create mode 100644 Assets/Cinema Director/System/Resources/TrackItemBoxShotSelected.jpg.meta create mode 100644 Assets/Cinema Director/System/Resources/UpArrowIcon.png create mode 100644 Assets/Cinema Director/System/Resources/UpArrowIcon.png.meta create mode 100644 Assets/Cinema Director/System/Resources/UpArrowIconActivated.png create mode 100644 Assets/Cinema Director/System/Resources/UpArrowIconActivated.png.meta create mode 100644 Assets/Cinema Director/System/Resources/UpArrowIconHover.png create mode 100644 Assets/Cinema Director/System/Resources/UpArrowIconHover.png.meta create mode 100644 Assets/Cinema Director/System/Resources/house_white.png create mode 100644 Assets/Cinema Director/System/Resources/house_white.png.meta create mode 100644 Assets/Cinema Director/System/Resources/houseupsidedown_white.png create mode 100644 Assets/Cinema Director/System/Resources/houseupsidedown_white.png.meta create mode 100644 Assets/Cinema Director/System/Resources/keyframe_white.png create mode 100644 Assets/Cinema Director/System/Resources/keyframe_white.png.meta create mode 100644 Assets/Cinema Director/System/Resources/keyframealt_white.png create mode 100644 Assets/Cinema Director/System/Resources/keyframealt_white.png.meta create mode 100644 Assets/Cinema Director/System/Resources/locked_white.png create mode 100644 Assets/Cinema Director/System/Resources/locked_white.png.meta create mode 100644 Assets/Cinema Director/System/Resources/magnet_grey.png create mode 100644 Assets/Cinema Director/System/Resources/magnet_grey.png.meta create mode 100644 Assets/Cinema Director/System/Resources/magnet_white.png create mode 100644 Assets/Cinema Director/System/Resources/magnet_white.png.meta create mode 100644 Assets/Cinema Director/System/Resources/rescale_grey.png create mode 100644 Assets/Cinema Director/System/Resources/rescale_grey.png.meta create mode 100644 Assets/Cinema Director/System/Resources/unlocked_white.png create mode 100644 Assets/Cinema Director/System/Resources/unlocked_white.png.meta create mode 100644 Assets/Cinema Director/System/Resources/zoomin_grey.png create mode 100644 Assets/Cinema Director/System/Resources/zoomin_grey.png.meta create mode 100644 Assets/Cinema Director/System/Resources/zoomout_grey.png create mode 100644 Assets/Cinema Director/System/Resources/zoomout_grey.png.meta create mode 100644 Assets/Cinema Director/System/Runtime.meta create mode 100644 Assets/Cinema Director/System/Runtime/Cutscene.cs create mode 100644 Assets/Cinema Director/System/Runtime/Cutscene.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Enums.meta create mode 100644 Assets/Cinema Director/System/Runtime/Enums/CutsceneItemGenre.cs create mode 100644 Assets/Cinema Director/System/Runtime/Enums/CutsceneItemGenre.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Enums/PlaybackMode.cs create mode 100644 Assets/Cinema Director/System/Runtime/Enums/PlaybackMode.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Enums/PropertyTypeInfo.cs create mode 100644 Assets/Cinema Director/System/Runtime/Enums/PropertyTypeInfo.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Enums/RevertMode.cs create mode 100644 Assets/Cinema Director/System/Runtime/Enums/RevertMode.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Enums/TimelineTrackGenre.cs create mode 100644 Assets/Cinema Director/System/Runtime/Enums/TimelineTrackGenre.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Helpers.meta create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/AnimationCurveHelper.cs create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/AnimationCurveHelper.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/CutsceneQueue.cs create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/CutsceneQueue.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/CutsceneTrigger.cs create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/CutsceneTrigger.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/DirectorRuntimeHelper.cs create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/DirectorRuntimeHelper.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/IBakeable.cs create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/IBakeable.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/IOptimizable.cs create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/IOptimizable.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/IRevertable.cs create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/IRevertable.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/RevertInfo.cs create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/RevertInfo.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/ScreenshotCapture.cs create mode 100644 Assets/Cinema Director/System/Runtime/Helpers/ScreenshotCapture.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaClipCurve.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaClipCurve.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaTween.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaTween.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/CutsceneItemAttribute.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/CutsceneItemAttribute.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/MemberClipCurveData.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/MemberClipCurveData.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineAction.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineAction.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineActionFixed.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineActionFixed.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineItem.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineItem.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorAction.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorAction.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorClipCurve.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorClipCurve.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorEvent.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorEvent.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalAction.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalAction.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalEvent.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalEvent.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaMultiActorCurveClip.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineItems/CinemaMultiActorCurveClip.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/ActorItemTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/ActorItemTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/AudioTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/AudioTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/Base.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IActorTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IActorTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IMultiActorTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IMultiActorTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrackAttribute.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrackAttribute.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/CurveTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/CurveTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/DialogueTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/DialogueTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/GlobalItemTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/GlobalItemTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/MecanimTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/MecanimTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/MultiCurveTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/MultiCurveTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/ShotTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/ShotTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/TransformTrack.cs create mode 100644 Assets/Cinema Director/System/Runtime/TimelineTracks/TransformTrack.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups.meta create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/ActorTrackGroup.cs create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/ActorTrackGroup.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/Base.meta create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroup.cs create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroup.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroupAttribute.cs create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroupAttribute.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/CharacterTrackGroup.cs create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/CharacterTrackGroup.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/DirectorGroup.cs create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/DirectorGroup.cs.meta create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/MultiActorTrackGroup.cs create mode 100644 Assets/Cinema Director/System/Runtime/TrackGroups/MultiActorTrackGroup.cs.meta create mode 100644 Assets/Cinema Director/Third Party.meta create mode 100644 Assets/Cinema Director/Third Party/Behavior Designer.meta create mode 100644 Assets/Cinema Director/Third Party/Behavior Designer/CinemaDirector_BehaviorDesigner_Integration.unitypackage.meta create mode 100644 Assets/Cinema Director/Third Party/Cinemachine.meta create mode 100644 Assets/Cinema Director/Third Party/Cinemachine/Cinemachine_CinemaDirector_Integration.unitypackage.meta create mode 100644 Assets/Cinema Director/Third Party/NodeCanvas.meta create mode 100644 Assets/Cinema Director/Third Party/NodeCanvas/NodeCanvas_CinemaDirector_Integration.unitypackage.meta create mode 100644 Assets/Cinema Director/Third Party/Playmaker.meta create mode 100644 Assets/Cinema Director/Third Party/Playmaker/Playmaker_CinemaDirector_Integration.unitypackage.meta create mode 100644 Assets/Cinema Director/link.xml create mode 100644 Assets/Cinema Director/link.xml.meta diff --git a/Assets/Cinema Director/ChangeLog.txt b/Assets/Cinema Director/ChangeLog.txt new file mode 100644 index 0000000..54dbf8a --- /dev/null +++ b/Assets/Cinema Director/ChangeLog.txt @@ -0,0 +1,229 @@ +v1.4.6.2 +============= +Bug Fix: (Unity 2017.2) More curve fixes. + +v1.4.6.1 +============= +Bug Fix: (Unity 2017.2) Additional fixes for issue with rotation curves. + +v1.4.6.0 +============= +Bug Fix: (Unity 2017.2) Fixes for issue with rotation curves that prevented having keyframes go beyond 360 degrees. +Bug Fix: Updated code for Unity 2017. +Added: Updated our 3rd Party support for Cinemachine 2. +Added: User-submitted Crossfade event, found under the Third Party folder. + +v1.4.5.4 +============= +Bug Fix: Fixed issue where using the 'Snap Scrubber' when not in preview mode would cause your actor's initial state to be altered to the state at the time you snapped to, causes them to revert to this state after leaving Preview Mode instead of reverting back to their state before the cutscene. +Bug Fix: Fixed issue with the Skip cutscene logic. +Bug Fix: The changes made in our Unity 5.5 version of Director are now included in our regular versions (4.6.1 & 5.0.4), and should only load when necessary. This means we don't need a 5.5 specific upload for these changes. + +v1.4.5.3 +============= +Bug Fix: Fixed issue where some .DLLs would interfere and break the Director window. Now also prints a debug message telling the user which .DLL is causing the issue. +Bug Fix: Fixed a styling issue in Unity 5.5 caused by the renaming of an internal editor style. +Bug Fix: Missed some resource loading calls for our GUI. +Bug Fix: Fixed issue where clicking the 'Add New Action' button in the Global Item Track's inspector would throw an error. +Bug Fix: Cleaned up various warnings when using various versions of Unity. +Added: A new timeline item the change an object's texture. + +v1.4.5.2 +============= +Added: New folder structure; About window, documentation, and examples are now separate from the core product folders, and can be safetly deleted. +Added: Editor GUI icon images moved to special Unity folder, "Editor Default Resources". Our icons in this folder will automatically no longer be included in your builds. +Added: Additional options to the Director window's create drop-down (Default Cutscene, Empty Cutscene, New Cutscene Trigger) to help get up and running with a few less clicks. +Bug Fix: Cinemachine Integration - Changed the CinemachineShot item to only accept current and future Cinemachine cameras. +Bug Fix: Curve Clip no longer throws errors when right-clicking them if the actor has a missing script attached. +Bug Fix: Updated a few scripts to work with Unity 5.4 + +v1.4.5.1 +============= +Bug Fix: Cinemachine Integration - CinemachineShots should now properly blend. +Bug Fix: The Looping and Skippable checkboxes in the Cutscene Creator should now work. +Bug Fix: Missing GUI icons should no longer freeze Director and have it throw exceptions. +Bug Fix: Some items such as SetPosition should now properly revert. +Added: SetRotation and SetScale timeline actions. +Added: CutsceneStarted event, subscribe to it to call a method when a cutscene starts. + +v1.4.5.0 +============= +Added: Cinemachine Integration. +Added: Can now create RevertInfo objects that call methods with any number of parameters. +Added: Tracks can now be locked. Locked tracks cannot be edited. +Bug Fix: Cutscene items should now properly Trigger/End once, regardless if they are at the start/end of a cutscene, in play/edit mode, or if the cutscene is looped. +Bug Fix: Cutscene items should now properly cache their states before the cutscene is previewed/played, and will now proplery revert to their initial states. +Bug Fix: Curves can now work with integer values. Curves will still display floating point numbers, but will round them before being applied. (X.5 will round to nearest even integer) +Bug Fix: Actor item tracks will now pause any pausable items. +Bug Fix: Cutscenes now play when being built to UWP with master build settings. + +v1.4.4.0 +============= +Added: Events to manipulate uGUI elements. +Added: Custom inspector for the SendMessage event, allowing the user to select the type and value of the parameter they wish to pass to the specified method. +Bug Fix: Fixed issue preventing Cutscenes from being played in UWP. +Bug Fix: Rotation curves no longer create keyframes while scrubbing in preview mode. +Bug Fix: Fixed issue where the "Play Animation" action would not allow for clip length to be trimmed. +Bug Fix: Implemented SetParent event. +Bug Fix: Fixed issue where events would not trigger during consecutive plays of a cutscene if the firetime was set to 0. + +v1.4.3.0 +============= +Added: New help window. +Added: link.xml file to help with builds for iOS. +Fixed: Bug where demo scene was sometime crashing due to revert info problems. +Fixed: Bug in Unity 5.3 where Cutscene could no longer find parents in hierarchy. This temporary fix means the Cutscene hierarchy must be strictly followed. + +v1.4.2.1 +============= +Cutscene will take the necessary time to initialize (if not called beforehand) on Play, before beginning playback. This helps avoid some lag at the beginning of playback. +When editing curves, changes take effect immediately on target actor, instead of waiting for mouse-up. +Fixed bug where "Add Key" option was no longer working. +Can now build to NETFX_CORE. +Load Level Event now has options for additive, async, additive+async and to load by index or name. + +v1.4.1.0 +============= +Track Groups and Tracks' collapsed state is maintained between sessions. +Fixed bug where Unity 4.6 users couldn't open demo scene. +Fixed one scenario where CharacterTrackGroup was causing Unity to crash. +Added Settings Window. +Added ability to toggle Beta Features in settings panel. Users who wish to try out new features at the risk of loss of stability can opt to enable them. + +v1.4.0.6 +============= +Playmaker integration. +NodeCanvas integration. +Sidebar can now be re-sized. +Game Objects can now be dragged from the Hierarchy panel into the Director panel to create an Actor Track Group. +Track Groups and Tracks can now be renamed/duplicated/deleted in the Director panel by context clicking label. +Shift/Ctrl select now multi-selects items in sidebar. +Added box-select in working area for timeline items. +Ctrl-select now toggles timeline item selection. +Added the ability to move multiple selected timeline items. +Context clicking in an empty track space now presents Add menu and newly created items are added at that time. +Fixed bug where Cutscene sometimes didn't start from time 0. +Added option to open the Director panel from Cutscene's inspector, focusing the selected Cutscene. +Double-clicking a Curve Clip toggles it between edit mode and done. + +v1.3.4.0 +============= +Scroll wheel now controls vertical scroll. Ctrl+scroll now controls zoom (Can also zoom with alt+right click+mouse move). +Updated Resources folder to stop conflicts with other extensions, by adding Director_ prefix to most assets. +Added TransformLookAtAction. +Made Cutscene.state non-serialized. + +v1.3.3.1 +============= +Quick Fix: Cutscene drop down selector now correlates to the proper cutscene. + +v1.3.3.0 +============= +Solved issue where edit-mode playback speed was slower than real time. +Fixed fade to black transitions for Unity5. +Fixed problem where audio playback wasn't exact in preview mode. +Fixed issue in Unity5 where error was shown for setting incorrect audio time values. +Cutscenes in dropdown selector are now shown alphabetically. +Added Transform Track for Character Track Groups. +Curve Editor: Tangent Mode is now maintained through sessions. +Curve Editor: When Keyframes are alered/deleted/added, neighbours are updated according to tangent mode automatically. +Curve Editor: Changing tangent mode can now be undone. +Curve Editor: Automatic Keyframing can now be undone. +Curve Editor: Fixed undo not working in some cases. +Curve Editor: Master keys can now be used to delete all children keys. +Curve Editor: The threshold for altering auto key values has now been changed to 0.000001 + +v1.3.2.0 +============= +Support for Behavior Designer. +Added timecode to toolbar. +GC Alloc for the Cutscene behaviour is now 0. +Fixed issue where scrubber wouldn't work after exiting playmode in Unity5. +Audio items now adapt when audio clips are changed in the AudioSource component. +Fixed error when prefab cutscenes are added to the scene. +Fixed error where editing curve items was not possible when the Actor for the track group was not set. + +v1.3.1.1 +============= +Unity 5 Compatability. +Current selected Cutscene in Director panel is maintained between playmode changes. + +v1.3.0.4 +============= +New Character Track Group, made specifically for Humanoid characters. +New Mecanim Track for controlling AnimationControllers and allowing mecanim animation previewing in Edit Mode. +New Dialogue Track for Character Track Groups. +All events/actions that manipulate scene data now have Revert options for both editor and runtime mode. +Manually skipping/jumping to frames now handles cases where multiple tracks reference the same data. +Cutscene.Optimize() is a new method that should be called during scene load, to cache all cutscene components for fast execution. +Cutscene.Skip() implemented. CutsceneTrigger now has an option for Skipping. Default to "Jump" (Space bar by default). +Cutscene can now be set to loop. Make sure to setup the ability to skip! +New selector button on Director toolbar to quickly select current Cutscene. +New refresh button, to re-bake all Mecanim previews. +Keyframe tangent handles now look different than Keyframes. +The 'Create' button now looks up any custom made Track Group and adds it to the list. +The play button in the toolbar now works when in runtime as a method to trigger the Cutscene to play. + +Added DirectorRuntimeHelper.cs, a helper class for determining which tracks and track items belong to their proper parents. +Added TimelineTrackAttribute, attribute for tracks to define which track group it belongs to and what type of track items it can hold. +Added TrackGroupAttribute, an attribute for track groups to define which types of tracks it can hold +Added RevertInfo.cs, used to capture state data of any item manipulated by the Cutscene. +Added IBakeable, to be implemented in any track/item that needs to be baked and used for previewing. +Added IOptimizable, to be implemented in any track/item that needs to perform some optimization process on Cutscene load. +Added IRevertable, to be implemented in any track/item that manipulates scene data. +Added IActorTrack.cs, to be implemented by any extended track that manipulates an Actor. +Added IMultiActorTrack.cs, to be implemented by any extended track that manipulates multiple actors. +Added GenericTrackGroupControl.cs, as an implementation with basic features for a track group control. +Added CharacterTrackGroupControl.cs for character track groups. +Added GenericTrackControl.cs as an implementation with basic features for track controls (copy/paste/etc). +Added DialogueTrackControl.cs for dialogue tracks. +Added DialogueTrackInspector.cs +Added CutsceneControlHelper.cs, as a helper class for Cutscene Controls. +Added new method SetDefaults() to TimelineItem.cs, override to set defaults to newly created items. +Deleted ActorTrack.cs. No longer necessary with TrackAttributes. +Deleted GlobalTrack.cs. No longer necessary with TrackAttributes. +All existing CutsceneItems have been given a CutsceneItemGenre. +All existing Cutscene Items that manipulate data now implement IRevertable. +All existing Track Group Controls now inherit from GenericTrackGroupControl. +All existing Track Controls now inherit from GenericTrackControl. +Added new property EndTime to TimelineAction.cs +Fixed issue where audio item control sometimes doesn't show wave form. +CutsceneItemFactory now creates Cutscene Items generically. +Renamed SetColorLight class name to match filename. +Timeline Items no longer need to be a direct child of a Track in the hierarchy, but can be further down in the hierarchy. +Tracks no longer need to be a direct child of a TrackGroup in the hierarchy, but can be further down in the hierarchy. + +Suggestions for people with Custom extensions: +Custom Cutscene Items should now be given a CutsceneItemGenre in their CutsceneItemAttributes to be assigned to tracks. +Custom Cutscene Item should override SetDefaults() which is called when a new instance is created. +Custom Cutscene Items that manipulate scene data should implement the IRevertable interface. +Custom TrackGroupControls should consider extending from GenericTrackGroupControl. +Custom TrackControls shoulder consider extending from GenericTrackControl. +Custom Tracks and TrackGroups shoulder consider implementing IOptimizable and caching children data. + + + +v1.2.1.2 +============= +Fixed bug Unity Free users were experiencing with editing Curve Clips. + +v1.2.1.1. +============= +Fancy new ReadMe.txt file! +Exciting new Help panel! +Timeline library for manipulating other Cutscenes. +Fixed bug where undesired keyframes were being added. +Fixed bug where you could select non-visible keyframes. +Fixed bug where Actors animated through curve clips sometimes return to Origin unexpectedly. +Fixed "Enable/Disable Behaviour" to work for any Component that has an "enabled" property. + +v1.2.0.0. +============= +Copy and Paste for track items. +Cutscene.Play() to be implemented as co-routine. +Cutscene API improved with callback events. +Tick marks in Time Ruler flicker black/white when camera preview is shown. +Multi-Actor curve clips were attempting to assign values to properties which were not defined in inspector causing exceptions. +In director panel, track headers are not indented to the right of parents. +Timeline Items don't trigger on first/last frame of cutscene. +"Mass Disable" doesn't turn tagged objects back on. \ No newline at end of file diff --git a/Assets/Cinema Director/ChangeLog.txt.meta b/Assets/Cinema Director/ChangeLog.txt.meta new file mode 100644 index 0000000..5d3c1fd --- /dev/null +++ b/Assets/Cinema Director/ChangeLog.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: f844faee935154e47b81b9f2f6005977 +TextScriptImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items.meta b/Assets/Cinema Director/Cutscene Items.meta new file mode 100644 index 0000000..b2205fc --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 26bbd23b0c1c9004e9088dbff58e90fc +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items.meta b/Assets/Cinema Director/Cutscene Items/Actor Items.meta new file mode 100644 index 0000000..d2010cf --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a58895460d2a43a458de9e8077c51765 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation.meta new file mode 100644 index 0000000..1f63600 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: b3a48675b86e5d1458b6ec177d2eb77c +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/BlendAnimationEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/BlendAnimationEvent.cs new file mode 100644 index 0000000..d24c19c --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/BlendAnimationEvent.cs @@ -0,0 +1,31 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animation", "Blend Animation", CutsceneItemGenre.ActorItem)] + public class BlendAnimationEvent : CinemaActorEvent + { + public string Animation = string.Empty; + public float TargetWeight = 1f; + public float FadeLength = 0.3f; + + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Animation animation = actor.GetComponent(); + if (!animation) + { + return; + } + + animation.Blend(Animation, TargetWeight, FadeLength); + } + } + + public override void Reverse(GameObject actor) + { + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/BlendAnimationEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/BlendAnimationEvent.cs.meta new file mode 100644 index 0000000..cbacfd7 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/BlendAnimationEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0f3c5183c6865704888dcc42bf7cfc4a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/CrossFadeAnimationEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/CrossFadeAnimationEvent.cs new file mode 100644 index 0000000..8351bb6 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/CrossFadeAnimationEvent.cs @@ -0,0 +1,31 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animation", "Cross Fade Animation", CutsceneItemGenre.ActorItem)] + public class CrossFadeAnimationEvent : CinemaActorEvent + { + public string Animation = string.Empty; + public float TargetWeight = 1f; + public PlayMode PlayMode = PlayMode.StopSameLayer; + + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Animation animation = actor.GetComponent(); + if (!animation) + { + return; + } + + animation.CrossFade(Animation, TargetWeight, PlayMode); + } + } + + public override void Reverse(GameObject actor) + { + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/CrossFadeAnimationEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/CrossFadeAnimationEvent.cs.meta new file mode 100644 index 0000000..e9edc22 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/CrossFadeAnimationEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d694a8b76bf1bdb4d9bb85dc9f0a283a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/PlayAnimationEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/PlayAnimationEvent.cs new file mode 100644 index 0000000..aeee8a9 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/PlayAnimationEvent.cs @@ -0,0 +1,66 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animation", "Play Animation", CutsceneItemGenre.ActorItem)] + public class PlayAnimationEvent : CinemaActorAction + { + public AnimationClip animationClip = null; + + public WrapMode wrapMode; + + public void Update() + { + if (wrapMode != WrapMode.Loop && animationClip) + base.Duration = animationClip.length; + } + + public override void Trigger(GameObject Actor) + { + Animation animation = Actor.GetComponent(); + if (!animationClip || !animation) + { + return; + } + + animation.wrapMode = wrapMode; + //animation.Play(animationClip.name); + } + + public override void UpdateTime(GameObject Actor, float runningTime, float deltaTime) + { + Animation animation = Actor.GetComponent(); + + if (!animation || animationClip == null) + { + return; + } + + if (animation[animationClip.name] == null) + { + animation.AddClip(animationClip, animationClip.name); + } + + AnimationState state = animation[animationClip.name]; + + if (!animation.IsPlaying(animationClip.name)) + { + animation.wrapMode = wrapMode; + animation.Play(animationClip.name); + } + + state.time = runningTime; + state.enabled = true; + animation.Sample(); + state.enabled = false; + } + + public override void End(GameObject Actor) + { + Animation animation = Actor.GetComponent(); + if (animation) + animation.Stop(); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/PlayAnimationEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/PlayAnimationEvent.cs.meta new file mode 100644 index 0000000..2c0eec9 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/PlayAnimationEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 68e1ae1c496bc0b4d86051ae0f8a22b3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/ReloadLevelStart.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/ReloadLevelStart.cs new file mode 100644 index 0000000..cbf7823 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/ReloadLevelStart.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Audio; + +public class ReloadLevelStart : MonoBehaviour +{ + + public AudioMixer masterMixer; + + // Start is called before the first frame update + void Start() + { + + + masterMixer.SetFloat("masterVol", 0); + + Application.LoadLevel(1); + } + + +} diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/ReloadLevelStart.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/ReloadLevelStart.cs.meta new file mode 100644 index 0000000..c755ff5 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/ReloadLevelStart.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97b313339f311584996cffa05b5f1051 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/RewindAnimationEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/RewindAnimationEvent.cs new file mode 100644 index 0000000..ad6f358 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/RewindAnimationEvent.cs @@ -0,0 +1,29 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animation", "Rewind Animation", CutsceneItemGenre.ActorItem)] + public class RewindAnimationEvent : CinemaActorEvent + { + public string Animation = string.Empty; + + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Animation animation = actor.GetComponent(); + if (!animation) + { + return; + } + + animation.Rewind(Animation); + } + } + + public override void Reverse(GameObject actor) + { + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/RewindAnimationEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/RewindAnimationEvent.cs.meta new file mode 100644 index 0000000..0e86bd8 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/RewindAnimationEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6e50d9ad3413b446be3a89a81f3e981 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/SampleAnimationEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/SampleAnimationEvent.cs new file mode 100644 index 0000000..a9fea1c --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/SampleAnimationEvent.cs @@ -0,0 +1,33 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animation", "Sample Animation", CutsceneItemGenre.ActorItem)] + public class SampleAnimationEvent : CinemaActorEvent + { + public string Animation = string.Empty; + public float Time = 0f; + + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Animation animation = actor.GetComponent(); + if (!animation) + { + return; + } + + animation[Animation].time = Time; + animation[Animation].enabled = true; + animation.Sample(); + animation[Animation].enabled = false; + } + } + + public override void Reverse(GameObject actor) + { + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/SampleAnimationEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/SampleAnimationEvent.cs.meta new file mode 100644 index 0000000..22d5ad4 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/SampleAnimationEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2b7e5cf5bb9bac949a553537e6242ccb +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/StopAnimationEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/StopAnimationEvent.cs new file mode 100644 index 0000000..1b9be70 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/StopAnimationEvent.cs @@ -0,0 +1,29 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animation", "Stop Animation", CutsceneItemGenre.ActorItem)] + public class StopAnimationEvent : CinemaActorEvent + { + public string Animation = string.Empty; + + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Animation animation = actor.GetComponent(); + if (!animation) + { + return; + } + + animation.Stop(Animation); + } + } + + public override void Reverse(GameObject actor) + { + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/StopAnimationEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/StopAnimationEvent.cs.meta new file mode 100644 index 0000000..4346c4f --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animation/StopAnimationEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4262f74c2654f74c96e1f7f5bdfd514 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator.meta new file mode 100644 index 0000000..0bac761 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: e3a26f05c7c9ce44290196673ca45b5e +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/CrossFadeAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/CrossFadeAnimatorEvent.cs new file mode 100644 index 0000000..35c968d --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/CrossFadeAnimatorEvent.cs @@ -0,0 +1,25 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Cross Fade Animator", CutsceneItemGenre.ActorItem, CutsceneItemGenre.MecanimItem)] + public class CrossFadeAnimatorEvent : CinemaActorEvent + { + public string AnimationStateName = string.Empty; + public float TransitionDuration = 1f; + public int Layer = -1; + float NormalizedTime = float.NegativeInfinity; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.CrossFade(AnimationStateName, TransitionDuration, Layer, NormalizedTime); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/CrossFadeAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/CrossFadeAnimatorEvent.cs.meta new file mode 100644 index 0000000..b586461 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/CrossFadeAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eac17bef6b45d5643947c61fccec8257 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/LookAtTarget.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/LookAtTarget.cs new file mode 100644 index 0000000..014bca4 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/LookAtTarget.cs @@ -0,0 +1,50 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Look At Target", CutsceneItemGenre.ActorItem)] + public class LookAtTarget : CinemaActorAction + { + public Transform LookAtPosition; + + public float Weight; + public float BodyWeight = 0f; + public float HeadWeight = 1f; + public float EyesWeight = 0f; + public float ClampWeight = 0.5f; + + public override void Trigger(GameObject Actor) + { + Animator animator = Actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetLookAtPosition(LookAtPosition.position); + } + + + public override void UpdateTime(GameObject Actor, float runningTime, float deltaTime) + { + Animator animator = Actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetLookAtPosition(LookAtPosition.position); + animator.SetLookAtWeight(Weight, BodyWeight, HeadWeight, EyesWeight, ClampWeight); + } + + public override void End(GameObject Actor) + { + Animator animator = Actor.GetComponent(); + if (animator) + { + animator.SetLookAtWeight(0); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/LookAtTarget.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/LookAtTarget.cs.meta new file mode 100644 index 0000000..e3d3800 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/LookAtTarget.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4d689de1a1ecfe4b8af215becc4a44e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/MatchTargetEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/MatchTargetEvent.cs new file mode 100644 index 0000000..e694a2f --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/MatchTargetEvent.cs @@ -0,0 +1,27 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Match Target",CutsceneItemGenre.MecanimItem)] + public class MatchTargetEvent : CinemaActorEvent + { + public GameObject target; + public AvatarTarget avatarTarget; + public float startTime; + public float targetTime; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + MatchTargetWeightMask weightMask = new MatchTargetWeightMask(Vector3.one, 0); + animator.MatchTarget(target.transform.position, target.transform.rotation, avatarTarget, weightMask, startTime, targetTime); + + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/MatchTargetEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/MatchTargetEvent.cs.meta new file mode 100644 index 0000000..518b0a9 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/MatchTargetEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ff346f0a50707ac4c891c3f186d4758c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/PlayAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/PlayAnimatorEvent.cs new file mode 100644 index 0000000..fdfea9b --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/PlayAnimatorEvent.cs @@ -0,0 +1,24 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Play Mecanim Animation", CutsceneItemGenre.ActorItem, CutsceneItemGenre.MecanimItem)] + public class PlayAnimatorEvent : CinemaActorEvent + { + public string StateName; + public int Layer = -1; + float Normalizedtime = float.NegativeInfinity; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.Play(StateName, Layer, Normalizedtime); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/PlayAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/PlayAnimatorEvent.cs.meta new file mode 100644 index 0000000..5f43723 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/PlayAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3683488bb6fdb6c4f9184179af5faaab +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetBoolAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetBoolAnimatorEvent.cs new file mode 100644 index 0000000..2a7f473 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetBoolAnimatorEvent.cs @@ -0,0 +1,21 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set Bool", CutsceneItemGenre.ActorItem, CutsceneItemGenre.MecanimItem)] + public class SetBoolAnimatorEvent : CinemaActorEvent + { + public string BoolName; + public bool Value = false; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator != null) + { + animator.SetBool(BoolName, Value); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetBoolAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetBoolAnimatorEvent.cs.meta new file mode 100644 index 0000000..1edade9 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetBoolAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ba55441d5ac24242a78750cf55eb17f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetFloatAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetFloatAnimatorEvent.cs new file mode 100644 index 0000000..58e745b --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetFloatAnimatorEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set Float", CutsceneItemGenre.ActorItem, CutsceneItemGenre.MecanimItem)] + public class SetFloatAnimatorEvent : CinemaActorEvent + { + public string FloatName; + public float Value = 0f; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetFloat(FloatName, Value); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetFloatAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetFloatAnimatorEvent.cs.meta new file mode 100644 index 0000000..9dee23e --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetFloatAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50ba73e02cee270489e2d9c85cd9ca4f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionAnimatorEvent.cs new file mode 100644 index 0000000..04a7b73 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionAnimatorEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set IK Position", CutsceneItemGenre.ActorItem)] + public class SetIKPositionAnimatorEvent : CinemaActorEvent + { + public AvatarIKGoal Goal; + public Vector3 GoalPosition; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetIKPosition(Goal, GoalPosition); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionAnimatorEvent.cs.meta new file mode 100644 index 0000000..a1dea8d --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7cb6b8221c1b61545971b5f94203d89e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionWeightAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionWeightAnimatorEvent.cs new file mode 100644 index 0000000..d926d14 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionWeightAnimatorEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set IK Position Weight", CutsceneItemGenre.ActorItem)] + public class SetIKPositionWeightAnimatorEvent : CinemaActorEvent + { + public AvatarIKGoal Goal; + public float Value; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetIKPositionWeight(Goal, Value); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionWeightAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionWeightAnimatorEvent.cs.meta new file mode 100644 index 0000000..17819c2 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKPositionWeightAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e7e826a7a32b5264d8bf544882d9a49f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationAnimatorEvent.cs new file mode 100644 index 0000000..22761dd --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationAnimatorEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set IK Rotation", CutsceneItemGenre.ActorItem)] + public class SetIKRotationAnimatorEvent : CinemaActorEvent + { + public AvatarIKGoal Goal; + public Quaternion GoalRotation; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetIKRotation(Goal, GoalRotation); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationAnimatorEvent.cs.meta new file mode 100644 index 0000000..cd4a0c8 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e170bc7aafcbbb4d8bb573276eb0a4f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationWeightAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationWeightAnimatorEvent.cs new file mode 100644 index 0000000..114560b --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationWeightAnimatorEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set IK Rotation Weight", CutsceneItemGenre.ActorItem)] + public class SetIKRotationWeightAnimatorEvent : CinemaActorEvent + { + public AvatarIKGoal Goal; + public float Value; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetIKRotationWeight(Goal, Value); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationWeightAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationWeightAnimatorEvent.cs.meta new file mode 100644 index 0000000..2e669df --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIKRotationWeightAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7b7ade7af9e0a0f4ea1d622472408879 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIntegerAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIntegerAnimatorEvent.cs new file mode 100644 index 0000000..6092111 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIntegerAnimatorEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set Integer", CutsceneItemGenre.ActorItem, CutsceneItemGenre.MecanimItem)] + public class SetIntegerAnimatorEvent : CinemaActorEvent + { + public string IntName; + public int Value = 0; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetInteger(IntName, Value); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIntegerAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIntegerAnimatorEvent.cs.meta new file mode 100644 index 0000000..2256bbd --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetIntegerAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 408a9e082a395b948b3cac6e991ae341 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLayerWeightAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLayerWeightAnimatorEvent.cs new file mode 100644 index 0000000..d2d0d5a --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLayerWeightAnimatorEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set Layer Weight", CutsceneItemGenre.ActorItem, CutsceneItemGenre.MecanimItem)] + public class SetLayerWeightAnimatorEvent : CinemaActorEvent + { + public int LayerIndex; + public float Weight = 0f; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetLayerWeight(LayerIndex, Weight); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLayerWeightAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLayerWeightAnimatorEvent.cs.meta new file mode 100644 index 0000000..09a1e77 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLayerWeightAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 00caaf5aeea0bc045936a059b817d778 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtPositionAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtPositionAnimatorEvent.cs new file mode 100644 index 0000000..f874efb --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtPositionAnimatorEvent.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set Look At Position", CutsceneItemGenre.ActorItem, CutsceneItemGenre.MecanimItem)] + public class SetLookAtPositionAnimatorEvent : CinemaActorEvent + { + public Transform LookAtPosition; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetLookAtPosition(LookAtPosition.position); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtPositionAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtPositionAnimatorEvent.cs.meta new file mode 100644 index 0000000..6b112f4 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtPositionAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b90bac225ed7c2340a7d0911569d5018 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtWeightAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtWeightAnimatorEvent.cs new file mode 100644 index 0000000..8d5f8fb --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtWeightAnimatorEvent.cs @@ -0,0 +1,26 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set Look At Weight", CutsceneItemGenre.ActorItem, CutsceneItemGenre.MecanimItem)] + public class SetLookAtWeightAnimatorEvent : CinemaActorEvent + { + public float Weight; + public float BodyWeight = 0f; + public float HeadWeight = 1f; + public float EyesWeight = 0f; + public float ClampWeight = 0.5f; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetLookAtWeight(Weight, BodyWeight, HeadWeight, EyesWeight, ClampWeight); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtWeightAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtWeightAnimatorEvent.cs.meta new file mode 100644 index 0000000..ea524e8 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetLookAtWeightAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b7ff3238f7db62843849f479828f2faa +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTargetAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTargetAnimatorEvent.cs new file mode 100644 index 0000000..b6b30b0 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTargetAnimatorEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set Target", CutsceneItemGenre.ActorItem)] + public class SetTargetAnimatorEvent : CinemaActorEvent + { + public AvatarTarget TargetIndex; + public float TargetNormalizedTime; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetTarget(TargetIndex, TargetNormalizedTime); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTargetAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTargetAnimatorEvent.cs.meta new file mode 100644 index 0000000..da9bc09 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTargetAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 025b25e38a6c7a1409b3a79854e1987e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTriggerAnimatorEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTriggerAnimatorEvent.cs new file mode 100644 index 0000000..f320dbf --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTriggerAnimatorEvent.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Animator", "Set Trigger", CutsceneItemGenre.ActorItem, CutsceneItemGenre.MecanimItem)] + public class SetTriggerAnimatorEvent : CinemaActorEvent + { + public string Name; + + public override void Trigger(GameObject actor) + { + Animator animator = actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.SetTrigger(Name); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTriggerAnimatorEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTriggerAnimatorEvent.cs.meta new file mode 100644 index 0000000..f427425 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Animator/SetTriggerAnimatorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf3feabd4a1df584ea17f311e94e2a2e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource.meta new file mode 100644 index 0000000..8a94840 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: d4cb51eb32b63d640a179d1f0486206a +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PauseAudioEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PauseAudioEvent.cs new file mode 100644 index 0000000..5fdd808 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PauseAudioEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; +namespace CinemaDirector +{ + [CutsceneItemAttribute("Audio Source", "Pause Audio", CutsceneItemGenre.ActorItem)] + public class PauseAudioEvent : CinemaActorEvent + { + public override void Trigger(GameObject actor) + { + if (actor != null) + { + AudioSource audio = actor.GetComponent(); + if (!audio) + { + return; + } + + audio.Pause(); + } + } + + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PauseAudioEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PauseAudioEvent.cs.meta new file mode 100644 index 0000000..1a019a0 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PauseAudioEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 07200f278b47f704abf8a0f10ae29519 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayAudioEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayAudioEvent.cs new file mode 100644 index 0000000..e7feb2c --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayAudioEvent.cs @@ -0,0 +1,94 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Audio Source", "Play Audio", CutsceneItemGenre.ActorItem)] + public class PlayAudioEvent : CinemaActorAction + { + public AudioClip audioClip = null; + public bool loop = false; + + private bool wasPlaying = false; + + public void Update() + { + if (!loop && audioClip) + Duration = audioClip.length; + else + Duration = -1; + } + + public override void Trigger(GameObject Actor) + { + AudioSource audio = Actor.GetComponent(); + if (!audio) + { + audio = Actor.AddComponent(); + audio.playOnAwake = false; + } + + if (audio.clip != audioClip) + audio.clip = audioClip; + + audio.time = 0.0f; + audio.loop = loop; + audio.Play(); + } + + public override void UpdateTime(GameObject Actor, float runningTime, float deltaTime) + { + AudioSource audio = Actor.GetComponent(); + if (!audio) + { + audio = Actor.AddComponent(); + audio.playOnAwake = false; + } + + if (audio.clip != audioClip) + audio.clip = audioClip; + + if (audio.isPlaying) + return; + + audio.time = deltaTime; + + + audio.Play(); + + } + + public override void Resume(GameObject Actor) + { + AudioSource audio = Actor.GetComponent(); + if (!audio) + return; + + audio.time = Cutscene.RunningTime - Firetime; + + if (wasPlaying) + audio.Play(); + } + + public override void Pause(GameObject Actor) + { + AudioSource audio = Actor.GetComponent(); + + wasPlaying = false; + if (audio && audio.isPlaying) + wasPlaying = true; + + if (audio) + audio.Pause(); + } + + public override void End(GameObject Actor) + { + AudioSource audio = Actor.GetComponent(); + if (audio) + audio.Stop(); + } + + } + +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayAudioEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayAudioEvent.cs.meta new file mode 100644 index 0000000..f58cdea --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayAudioEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7325078cc186f574684607acb59901e1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayOneShotAudioEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayOneShotAudioEvent.cs new file mode 100644 index 0000000..ca04b4b --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayOneShotAudioEvent.cs @@ -0,0 +1,28 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Audio Source", "Play One Shot", CutsceneItemGenre.ActorItem)] + public class PlayOneShotAudioEvent : CinemaActorEvent + { + public AudioClip Clip; + public float VolumeScale = 1f; + + public override void Trigger(GameObject actor) + { + if (actor != null) + { + AudioSource audio = actor.GetComponent(); + if (!audio) + { + return; + } + + audio.PlayOneShot(Clip, VolumeScale); + } + } + + } + +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayOneShotAudioEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayOneShotAudioEvent.cs.meta new file mode 100644 index 0000000..f54716f --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/PlayOneShotAudioEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2630293c17e32d146836819265374047 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/StopAudioEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/StopAudioEvent.cs new file mode 100644 index 0000000..fdc6015 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/StopAudioEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Audio Source", "Stop Audio", CutsceneItemGenre.ActorItem)] + public class StopAudioEvent : CinemaActorEvent + { + public override void Trigger(GameObject actor) + { + if (actor != null) + { + AudioSource audio = actor.GetComponent(); + if (!audio) + { + return; + } + + audio.Stop(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/StopAudioEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/StopAudioEvent.cs.meta new file mode 100644 index 0000000..25668ee --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/AudioSource/StopAudioEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6d320cdb68d39e14893bd6371a680a57 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject.meta new file mode 100644 index 0000000..d4c3bb6 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: aebb5a7d4b22fad4998602a33e901775 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableBehaviour.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableBehaviour.cs new file mode 100644 index 0000000..d3ce4db --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableBehaviour.cs @@ -0,0 +1,70 @@ +using System.Reflection; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An Event for disabling any behaviour that has an "enabled" property. + /// + [CutsceneItemAttribute("Game Object", "Disable Behaviour", CutsceneItemGenre.ActorItem)] + public class DisableBehaviour : CinemaActorEvent + { + public Component Behaviour; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Trigger this event and Disable the chosen Behaviour. + /// + /// The actor to perform the behaviour disable on. + public override void Trigger(GameObject actor) + { + Component b = actor.GetComponent(Behaviour.GetType()) as Component; + if (b != null) + { + Behaviour.GetType().GetMember("enabled"); + + PropertyInfo fieldInfo = Behaviour.GetType().GetProperty("enabled"); + fieldInfo.SetValue(Behaviour, false, null); + } + } + + /// + /// Reverse trigger this event and Enable the chosen Behaviour. + /// + /// The actor to perform the behaviour enable on. + public override void Reverse(GameObject actor) + { + Component b = actor.GetComponent(Behaviour.GetType()) as Component; + if (b != null) + { + PropertyInfo fieldInfo = Behaviour.GetType().GetProperty("enabled"); + fieldInfo.SetValue(b, true, null); + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableBehaviour.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableBehaviour.cs.meta new file mode 100644 index 0000000..0e9d6d6 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableBehaviour.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aacd68dc9407b5f49ae49ac4a45267f8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableGameObject.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableGameObject.cs new file mode 100644 index 0000000..86aade1 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableGameObject.cs @@ -0,0 +1,82 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An Actor event for disabling the Actor + /// + [CutsceneItemAttribute("Game Object", "Disable", CutsceneItemGenre.ActorItem)] + public class DisableGameObject : CinemaActorEvent, IRevertable + { + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Cache the state of all actors related to this event. + /// + /// + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + foreach (Transform go in actors) + { + if (go != null) + { + reverts.Add(new RevertInfo(this, go.gameObject, "SetActive", go.gameObject.activeSelf)); + } + } + + return reverts.ToArray(); + } + + /// + /// Trigger this event and disable the given actor. + /// + /// The actor to be disabled. + public override void Trigger(GameObject actor) + { + if (actor != null) + { + actor.SetActive(false); + } + } + + /// + /// Reverse the event by settings the game object to the previous state. + /// + /// The actor whose active state will be reversed. + public override void Reverse(GameObject actor) + { + if (actor != null) + { + actor.SetActive(true); // ToDo: Implement reversing with cacheing previous state. + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableGameObject.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableGameObject.cs.meta new file mode 100644 index 0000000..19d88df --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/DisableGameObject.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 45a64e88ccdf4ca44b2f4cb2114f88da +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableBehaviour.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableBehaviour.cs new file mode 100644 index 0000000..71f4ccd --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableBehaviour.cs @@ -0,0 +1,99 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using System.Reflection; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An Event for enabling any behaviour that has an "enabled" property. + /// + [CutsceneItemAttribute("Game Object", "Enable Behaviour", CutsceneItemGenre.ActorItem)] + public class EnableBehaviour : CinemaActorEvent, IRevertable + { + // The Component/Behaviour to Enable. + public Component Behaviour; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Cache the state of all actors related to this event. + /// + /// All the revert info related to this event. + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + foreach (Transform go in actors) + { + if (go != null) + { + Component b = go.GetComponent(Behaviour.GetType()) as Component; + if (b != null) + { + PropertyInfo pi = Behaviour.GetType().GetProperty("enabled"); + bool value = (bool)pi.GetValue(b, null); + + reverts.Add(new RevertInfo(this, Behaviour, "enabled", value)); + } + } + } + + return reverts.ToArray(); + } + + /// + /// Trigger this event and Enable the chosen Behaviour. + /// + /// The actor to perform the behaviour enable on. + public override void Trigger(GameObject actor) + { + Component b = actor.GetComponent(Behaviour.GetType()) as Component; + if (b != null) + { + Behaviour.GetType().GetMember("enabled"); + + PropertyInfo fieldInfo = Behaviour.GetType().GetProperty("enabled"); + fieldInfo.SetValue(Behaviour, true, null); + } + } + + /// + /// Reverse trigger this event and Disable the chosen Behaviour. + /// + /// The actor to perform the behaviour disable on. + public override void Reverse(GameObject actor) + { + Component b = actor.GetComponent(Behaviour.GetType()) as Component; + if (b != null) + { + PropertyInfo fieldInfo = Behaviour.GetType().GetProperty("enabled"); + fieldInfo.SetValue(b, false, null); + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableBehaviour.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableBehaviour.cs.meta new file mode 100644 index 0000000..6b273ad --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableBehaviour.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 937b9eb698794dd4bba21a2b0979a901 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObject.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObject.cs new file mode 100644 index 0000000..854dc6d --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObject.cs @@ -0,0 +1,82 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Enable the Actor related to this event. + /// + [CutsceneItemAttribute("Game Object", "Enable", CutsceneItemGenre.ActorItem)] + public class EnableGameObject : CinemaActorEvent, IRevertable + { + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Cache the state of all actors related to this event. + /// + /// All the revert info related to this event. + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + foreach (Transform go in actors) + { + if (go != null) + { + reverts.Add(new RevertInfo(this, go.gameObject, "SetActive", go.gameObject.activeSelf)); + } + } + + return reverts.ToArray(); + } + + /// + /// Enable the given actor. + /// + /// The actor to be enabled. + public override void Trigger(GameObject actor) + { + if (actor != null) + { + actor.SetActive(true); + } + } + + /// + /// Reverse this triggered event and place the actor back in it's previous state. + /// + /// The actor. + public override void Reverse(GameObject actor) + { + if (actor != null) + { + actor.SetActive(false); // ToDo: Implement reversing with cacheing previous state. + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObject.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObject.cs.meta new file mode 100644 index 0000000..9f49fb6 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObject.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 449468d1ced06564a8786a9426c6fe68 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObjectAction.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObjectAction.cs new file mode 100644 index 0000000..7f65a42 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObjectAction.cs @@ -0,0 +1,114 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Enable the Actor related to this event. + /// + [CutsceneItemAttribute("Game Object", "Temporary Enable", CutsceneItemGenre.ActorItem)] + public class EnableGameObjectAction : CinemaActorAction, IRevertable + { + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Cache the state of all actors related to this event. + /// + /// All the revert info related to this event. + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + foreach (Transform go in actors) + { + if (go != null) + { + reverts.Add(new RevertInfo(this, go.gameObject, "SetActive", go.gameObject.activeSelf)); + } + } + + return reverts.ToArray(); + } + + /// + /// Enable the given actor temporarily. + /// + /// The actor to be enabled. + public override void Trigger(GameObject actor) + { + if (actor != null) + { + actor.SetActive(true); + } + } + + /// + /// End the action and disable the game object. + /// + /// The actor. + public override void End(GameObject actor) + { + if (actor != null) + { + actor.SetActive(false); + } + } + + /// + /// The trigger time has been hit while playing in reverse. disable the action. + /// + /// The actor to disable + public override void ReverseTrigger(GameObject Actor) + { + this.End(Actor); + } + + /// + /// The end time has been hit while playing in reverse. enable the action. + /// + /// The actor to enable + public override void ReverseEnd(GameObject Actor) + { + Trigger(Actor); + } + + /// + /// Set the action to an arbitrary time. + /// + /// The current actor. + /// the running time of the action + /// The deltaTime since the last update call. + public override void SetTime(GameObject actor, float time, float deltaTime) + { + if (actor != null) + { + actor.SetActive(time >= 0 && time < Duration); + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObjectAction.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObjectAction.cs.meta new file mode 100644 index 0000000..dbb42fe --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/EnableGameObjectAction.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 583d7ed8fdca89a41a2161926b0f9c45 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/SendMessageGameObject.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/SendMessageGameObject.cs new file mode 100644 index 0000000..5c517a1 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/SendMessageGameObject.cs @@ -0,0 +1,29 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An event for calling the game object send message method. + /// Cannot be reversed. + /// + [CutsceneItemAttribute("Game Object", "Send Message", CutsceneItemGenre.ActorItem)] + public class SendMessageGameObject : CinemaActorEvent + { + public string MethodName = string.Empty; + public object Parameter = null; + public SendMessageOptions SendMessageOptions = SendMessageOptions.DontRequireReceiver; + + /// + /// Trigger this event and send the message. + /// + /// the actor to send the message to. + public override void Trigger(GameObject actor) + { + if (actor != null) + { + actor.SendMessage(MethodName, Parameter, SendMessageOptions); + } + } + + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/SendMessageGameObject.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/SendMessageGameObject.cs.meta new file mode 100644 index 0000000..49e2111 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/GameObject/SendMessageGameObject.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cc5e0a476ab20344cbe5a6de035967b1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Light.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Light.meta new file mode 100644 index 0000000..e5a14a5 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Light.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 0a8d49f3c481f3841b4b29efb9ea662a +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetColorLight.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetColorLight.cs new file mode 100644 index 0000000..fbec758 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetColorLight.cs @@ -0,0 +1,113 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Set the colour of a light component of a given actor. + /// + [CutsceneItemAttribute("Light", "Set Light Colour", CutsceneItemGenre.ActorItem)] + public class SetLightColour : CinemaActorEvent, IRevertable + { + // The new color. + public Color Color; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + private Color previousColor; + + /// + /// Cache the state of all actors related to this event. + /// + /// + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + foreach (Transform go in actors) + { + if (go != null ) + { + Light light = go.GetComponent(); + if (light != null) + { + reverts.Add(new RevertInfo(this, light, "color", light.color)); + } + } + } + + return reverts.ToArray(); + } + + /// + /// Initialize and save the original colour state. + /// + /// The actor to initialize the light colour with. + public override void Initialize(GameObject actor) + { + Light light = actor.GetComponent(); + if (light != null) + { + previousColor = light.color; + } + } + + /// + /// Trigger this event and change the Color of a given actor's light component. + /// + /// The actor with the light component to be altered. + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Light light = actor.GetComponent(); + if (light != null) + { + previousColor = light.color; + light.color = Color; + } + } + } + + /// + /// Reverse setting the light colour. + /// + /// The actor to reverse the light setting on. + public override void Reverse(GameObject actor) + { + if (actor != null) + { + Light light = actor.GetComponent(); + if (light != null) + { + light.color = previousColor; + } + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetColorLight.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetColorLight.cs.meta new file mode 100644 index 0000000..3723a5c --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetColorLight.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ddfba2783b7e49e4aa0678ffbe4ec4f2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetIntensityLight.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetIntensityLight.cs new file mode 100644 index 0000000..fa18f08 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetIntensityLight.cs @@ -0,0 +1,107 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Set the intensity of a light component of a given actor. + /// + [CutsceneItemAttribute("Light", "Set Intensity", CutsceneItemGenre.ActorItem)] + public class SetIntensityLight : CinemaActorEvent, IRevertable + { + // The new intensity to be set. + public float Intensity; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + private float previousIntensity; + + /// + /// Cache the state of all actors related to this event. + /// + /// + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + foreach (Transform go in actors) + { + if (go != null) + { + Light light = go.GetComponent(); + if (light != null) + { + reverts.Add(new RevertInfo(this, light, "intensity", light.intensity)); + } + } + } + + return reverts.ToArray(); + } + + /// + /// Initialize and save the original intensity state. + /// + /// The actor to initialize the light intensity with. + public override void Initialize(GameObject actor) + { + Light light = actor.GetComponent(); + if (light != null) + { + previousIntensity = light.intensity; + } + } + + /// + /// Trigger this event and change the intensity of a given actor's light component. + /// + /// The actor with the light component to be altered. + public override void Trigger(GameObject actor) + { + Light light = actor.GetComponent(); + if (light != null) + { + previousIntensity = light.intensity; + light.intensity = Intensity; + } + } + + /// + /// Reverse setting the light intensity. + /// + /// The actor to reverse the light setting on. + public override void Reverse(GameObject actor) + { + Light light = actor.GetComponent(); + if (light != null) + { + light.intensity = previousIntensity; + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetIntensityLight.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetIntensityLight.cs.meta new file mode 100644 index 0000000..37af9ed --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Light/SetIntensityLight.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 96e4258c397fddd4d94575eb12818ed0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Navigation.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Navigation.meta new file mode 100644 index 0000000..2994e4c --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Navigation.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: ebdb208a3f19b374cafc2e565aad5a5c +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Navigation/SetDestinationEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Navigation/SetDestinationEvent.cs new file mode 100644 index 0000000..803b723 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Navigation/SetDestinationEvent.cs @@ -0,0 +1,29 @@ +using UnityEngine; +using UnityEngine.AI; + +namespace CinemaDirector +{ + /// + /// An event for setting a navigation destination. + /// Only executes in runtime. Not reversable. + /// + [CutsceneItemAttribute("Navigation", "Set Destination", CutsceneItemGenre.ActorItem)] + public class SetDestinationEvent : CinemaActorEvent + { + // The destination target + public Vector3 target; + + /// + /// Trigger this event and set a new destination. + /// + /// The actor with a NavMeshAgent to set a new destination for. + public override void Trigger(GameObject actor) + { + NavMeshAgent agent = actor.GetComponent(); + if (agent != null) + { + agent.SetDestination(target); + } + } + } +} diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Navigation/SetDestinationEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Navigation/SetDestinationEvent.cs.meta new file mode 100644 index 0000000..e44bd95 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Navigation/SetDestinationEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cda6033a0d7d81943b6ed92293d137a5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Particles.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles.meta new file mode 100644 index 0000000..a07c733 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: d87c41905647b4d4694feccd33047391 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PauseParticleSystemEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PauseParticleSystemEvent.cs new file mode 100644 index 0000000..08c6ef8 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PauseParticleSystemEvent.cs @@ -0,0 +1,29 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Enable the Actor related to this event. + /// + [CutsceneItemAttribute("Particle System", "Pause", CutsceneItemGenre.ActorItem)] + public class PauseParticleSystemEvent : CinemaActorEvent + { + /// + /// Trigger this event and pause the particle system component. + /// + /// The actor to be triggered. + public override void Trigger(GameObject actor) + { + if (actor != null) + { + ParticleSystem ps = actor.GetComponent(); + if (ps != null) + { + ps.Pause(); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PauseParticleSystemEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PauseParticleSystemEvent.cs.meta new file mode 100644 index 0000000..63cd177 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PauseParticleSystemEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 59f01268b291fe54ca0fea47febbb63c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PlayParticleSystemEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PlayParticleSystemEvent.cs new file mode 100644 index 0000000..eb8693a --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PlayParticleSystemEvent.cs @@ -0,0 +1,45 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Enable the Actor related to this event. + /// + [CutsceneItemAttribute("Particle System", "Play", CutsceneItemGenre.ActorItem)] + public class PlayParticleSystemEvent : CinemaActorEvent + { + /// + /// Trigger the particle system to play. + /// + /// The actor to be triggered. + public override void Trigger(GameObject actor) + { + if (actor != null) + { + ParticleSystem ps = actor.GetComponent(); + if (ps != null) + { + ps.Play(); + } + } + } + + /// + /// Reverse this event and stop the particle system. + /// + /// The actor to reverse this event on. + public override void Reverse(GameObject actor) + { + if (actor != null) + { + ParticleSystem ps = actor.GetComponent(); + if (ps != null) + { + ps.Stop(); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PlayParticleSystemEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PlayParticleSystemEvent.cs.meta new file mode 100644 index 0000000..5365689 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/PlayParticleSystemEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5793536dba5d97047b7a26b997fabae8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/StopParticleSystemEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/StopParticleSystemEvent.cs new file mode 100644 index 0000000..a4569b4 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/StopParticleSystemEvent.cs @@ -0,0 +1,45 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Enable the Actor related to this event. + /// + [CutsceneItemAttribute("Particle System", "Stop", CutsceneItemGenre.ActorItem)] + public class StopParticleSystemEvent : CinemaActorEvent + { + /// + /// Trigger the particle system to stop. + /// + /// The actor to be triggered. + public override void Trigger(GameObject actor) + { + if (actor != null) + { + ParticleSystem ps = actor.GetComponent(); + if (ps != null) + { + ps.Stop(); + } + } + } + + /// + /// Reverse this event and play the particle system. + /// + /// The actor to reverse this event on. + public override void Reverse(GameObject actor) + { + if (actor != null) + { + ParticleSystem ps = actor.GetComponent(); + if (ps != null) + { + ps.Play(); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/StopParticleSystemEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/StopParticleSystemEvent.cs.meta new file mode 100644 index 0000000..2403674 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Particles/StopParticleSystemEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b0fbd9802c0eb8349b0a15120ef98e34 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody.meta new file mode 100644 index 0000000..2d1f7d8 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 5072097751c8aa34ab8a4b6be550a7bf +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyForceEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyForceEvent.cs new file mode 100644 index 0000000..07aaded --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyForceEvent.cs @@ -0,0 +1,35 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An Event for applying force to a rigidbody. + /// Can only be triggered in Runtime. + /// + [CutsceneItemAttribute("Physics", "Apply Force", CutsceneItemGenre.ActorItem)] + public class ApplyForceEvent : CinemaActorEvent + { + // The amount of Force. + public Vector3 Force = Vector3.forward; + + // The Force Mode of the add force action. + public ForceMode ForceMode = ForceMode.Impulse; + + /// + /// Trigger this event and Apply force to the RigidBody component of the Actor + /// + /// The Actor of the RigidBody + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Rigidbody affectedObjectRigidBody = actor.GetComponent(); + + if (affectedObjectRigidBody != null) + { + affectedObjectRigidBody.AddForce(Force, ForceMode); + } + } + } + } +} diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyForceEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyForceEvent.cs.meta new file mode 100644 index 0000000..eacc67b --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyForceEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9df18f58265dc5b4281a9a1c24606b66 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyTorqueEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyTorqueEvent.cs new file mode 100644 index 0000000..3c14e5d --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyTorqueEvent.cs @@ -0,0 +1,34 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An Event for applying torque to a rigidbody. + /// Can only be triggered in Runtime. + /// + [CutsceneItemAttribute("Physics", "Apply Torque", CutsceneItemGenre.ActorItem)] + public class ApplyTorqueEvent : CinemaActorEvent + { + // The Torque to be applied + public Vector3 Torque = Vector3.forward; + + // the ForceMode + public ForceMode ForceMode = ForceMode.Impulse; + + /// + /// Trigger this event and apple torque to the RigidBody component of the Actor + /// + /// The Actor with a RigidBody to apply to torque to. + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Rigidbody affectedObjectRigidBody = actor.GetComponent(); + if (affectedObjectRigidBody != null) + { + affectedObjectRigidBody.AddTorque(Torque, ForceMode); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyTorqueEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyTorqueEvent.cs.meta new file mode 100644 index 0000000..764d60e --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ApplyTorqueEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f7b2c3e68a2a1234dbe7fbc234225b63 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodySleepEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodySleepEvent.cs new file mode 100644 index 0000000..b494fa4 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodySleepEvent.cs @@ -0,0 +1,43 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Event to set the rigidbody of a given actor into sleep mode. + /// + [CutsceneItemAttribute("Physics", "Sleep", CutsceneItemGenre.ActorItem)] + public class RigidbodySleepEvent : CinemaActorEvent + { + /// + /// Trigger this event and set the rigidbody of the actor to sleep. + /// + /// The actor to put to sleep. + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Rigidbody rb = actor.GetComponent(); + if (rb != null) + { + rb.Sleep(); + } + } + } + + /// + /// Trigger this event and wake up the rigidbody component of the given actor. + /// + /// The actor to wake up. + public override void Reverse(GameObject actor) + { + if (actor != null) + { + Rigidbody rb = actor.GetComponent(); + if (rb != null) + { + rb.WakeUp(); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodySleepEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodySleepEvent.cs.meta new file mode 100644 index 0000000..ffd5c17 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodySleepEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c1f474cbd94238f4683f4d4f542d496b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodyWakeUpEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodyWakeUpEvent.cs new file mode 100644 index 0000000..6ea518c --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodyWakeUpEvent.cs @@ -0,0 +1,37 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Event to wake up the rigidbody of a given actor. + /// + [CutsceneItemAttribute("Physics", "Wake Up", CutsceneItemGenre.ActorItem)] + public class RigidbodyWakeUpEvent : CinemaActorEvent + { + /// + /// Trigger this event and wake up the rigidbody component of the given actor. + /// + /// The actor to wake up. + public override void Trigger(GameObject actor) + { + Rigidbody rb = actor.GetComponent(); + if (rb != null) + { + rb.WakeUp(); + } + } + + /// + /// Trigger this event and wake up the rigidbody component of the given actor. + /// + /// The actor to wake up. + public override void Reverse(GameObject actor) + { + Rigidbody rb = actor.GetComponent(); + if (rb != null) + { + rb.Sleep(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodyWakeUpEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodyWakeUpEvent.cs.meta new file mode 100644 index 0000000..a5706a8 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/RigidbodyWakeUpEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a09dafba508d9ea469dd2b42c146ccf4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/SetMassEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/SetMassEvent.cs new file mode 100644 index 0000000..3d3a787 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/SetMassEvent.cs @@ -0,0 +1,81 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An event to set the mass of the rigidbody of a given actor. + /// + [CutsceneItemAttribute("Physics", "Set Mass", CutsceneItemGenre.ActorItem)] + public class SetMassEvent : CinemaActorEvent, IRevertable + { + // The new mass. + public float Mass = 1f; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Cache the state of all actors related to this event. + /// + /// All the revert info related to this event. + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + foreach (Transform go in actors) + { + if (go != null) + { + Rigidbody rb = go.GetComponent(); + if (rb != null) + { + reverts.Add(new RevertInfo(this, rb, "mass", rb.mass)); + } + } + } + + return reverts.ToArray(); + } + + /// + /// Trigger this event and set a new mass for the actor's rigidbody. + /// + /// The actor whose mass will be set. + public override void Trigger(GameObject actor) + { + if (actor == null) return; + + Rigidbody affectedObjectRigidBody = actor.GetComponent(); + + if (affectedObjectRigidBody != null) + { + affectedObjectRigidBody.mass = Mass; + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/SetMassEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/SetMassEvent.cs.meta new file mode 100644 index 0000000..c49c834 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/SetMassEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2ec608ab9e51cfc4b839e9fcab9025b3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ToggleGravityEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ToggleGravityEvent.cs new file mode 100644 index 0000000..b8d23fb --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ToggleGravityEvent.cs @@ -0,0 +1,85 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An event to toggle the gravity of a given rigidbody. + /// + [CutsceneItemAttribute("Physics", "Toggle Gravity", CutsceneItemGenre.ActorItem)] + public class ToggleGravityEvent : CinemaActorEvent, IRevertable + { + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Cache the state of all actors related to this event. + /// + /// + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + foreach (Transform go in actors) + { + if (go != null) + { + Rigidbody rb = go.GetComponent(); + if (rb != null) + { + reverts.Add(new RevertInfo(this, rb, "useGravity", rb.useGravity)); + } + } + } + + return reverts.ToArray(); + } + + /// + /// Toggle gravity for the given actor's rigidbody component. + /// + /// The actor with a ridigbody to toggle gravity for. + public override void Trigger(GameObject actor) + { + Rigidbody affectedObjectRigidBody = actor.GetComponent(); + + if (affectedObjectRigidBody != null) + { + affectedObjectRigidBody.useGravity = !affectedObjectRigidBody.useGravity; + } + } + + /// + /// Reverse the toggle of gravity for the given actor's rigidbody component. + /// + /// The actor with a ridigbody to toggle gravity for. + public override void Reverse(GameObject actor) + { + Trigger(actor); + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ToggleGravityEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ToggleGravityEvent.cs.meta new file mode 100644 index 0000000..115ba0a --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Rigidbody/ToggleGravityEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b6715b23a877b1c42b6b4cb6cd87a322 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform.meta new file mode 100644 index 0000000..b205600 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 66d720a8d75a13246b8e48bfeff9a6aa +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/AttachChildrenEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/AttachChildrenEvent.cs new file mode 100644 index 0000000..dd795ac --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/AttachChildrenEvent.cs @@ -0,0 +1,27 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Detaches all children in hierarchy from this Parent. + /// + [CutsceneItemAttribute("Transform", "Attach Children", CutsceneItemGenre.ActorItem)] + public class AttachChildrenEvent : CinemaActorEvent + { + public GameObject[] Children; + public override void Trigger(GameObject actor) + { + if (actor != null && Children != null) + { + foreach (GameObject child in Children) + { + child.transform.parent = actor.transform; + } + } + } + + public override void Reverse(GameObject actor) + { + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/AttachChildrenEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/AttachChildrenEvent.cs.meta new file mode 100644 index 0000000..f37969a --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/AttachChildrenEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 822a3d84428d72a48923d0aa93fbfc3e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/DetachChildrenEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/DetachChildrenEvent.cs new file mode 100644 index 0000000..bfad31a --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/DetachChildrenEvent.cs @@ -0,0 +1,23 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Detaches all children in hierarchy from this Parent. + /// + [CutsceneItemAttribute("Transform", "Detach Children", CutsceneItemGenre.ActorItem)] + public class DetachChildrenEvent : CinemaActorEvent + { + public override void Trigger(GameObject actor) + { + if (actor != null) + { + actor.transform.DetachChildren(); + } + } + + public override void Reverse(GameObject actor) + { + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/DetachChildrenEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/DetachChildrenEvent.cs.meta new file mode 100644 index 0000000..5d0d369 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/DetachChildrenEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 283ce824fb2efa74d8d71faaceca143d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetParent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetParent.cs new file mode 100644 index 0000000..b34fe23 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetParent.cs @@ -0,0 +1,16 @@ +using UnityEngine; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Transform", "Set Parent", CutsceneItemGenre.ActorItem)] + public class SetParent : CinemaActorEvent + { + public override void Trigger(GameObject actor) + { + } + + public override void Reverse(GameObject actor) + { + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetParent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetParent.cs.meta new file mode 100644 index 0000000..460ead6 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetParent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e27fe34fc453934fb78e2ced2f4d770 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetPositionEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetPositionEvent.cs new file mode 100644 index 0000000..02872c7 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetPositionEvent.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Detaches all children in hierarchy from this Parent. + /// + [CutsceneItemAttribute("Transform", "Set Position", CutsceneItemGenre.ActorItem)] + public class SetPositionEvent : CinemaActorEvent + { + public Vector3 Position; + + public override void Trigger(GameObject actor) + { + if (actor != null) + { + actor.transform.position = Position; + } + } + + public override void Reverse(GameObject actor) + { + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetPositionEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetPositionEvent.cs.meta new file mode 100644 index 0000000..1a086ac --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetPositionEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c2ea3aae9dd90394aa649052b553f45a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetTransformEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetTransformEvent.cs new file mode 100644 index 0000000..66ebe7b --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetTransformEvent.cs @@ -0,0 +1,77 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Sets the transform of the Actor to that of another Game Object's Transform. + /// + [CutsceneItemAttribute("Transform", "Set Transform", CutsceneItemGenre.ActorItem, CutsceneItemGenre.TransformItem)] + public class SetTransformEvent : CinemaActorEvent, IRevertable + { + public Transform Transform; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Cache the state of all actors related to this event. + /// + /// + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + for (int i = 0; i < actors.Count; i++) + { + Transform go = actors[i]; + if (go != null) + { + Transform t = go.GetComponent(); + if (t != null) + { + reverts.Add(new RevertInfo(this, t, "localPosition", t.localPosition)); + reverts.Add(new RevertInfo(this, t, "localRotation", t.localRotation)); + reverts.Add(new RevertInfo(this, t, "localScale", t.localScale)); + } + } + } + + return reverts.ToArray(); + } + + public override void Trigger(GameObject actor) + { + if (actor != null) + { + actor.transform.position = Transform.position; + actor.transform.rotation = Transform.rotation; + actor.transform.localScale = Transform.localScale; + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetTransformEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetTransformEvent.cs.meta new file mode 100644 index 0000000..7b69168 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/SetTransformEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1b4e269716d93b549b25cac3286ba0ee +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/TransformLookAtAction.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/TransformLookAtAction.cs new file mode 100644 index 0000000..41b6fa5 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/TransformLookAtAction.cs @@ -0,0 +1,100 @@ +// Cinema Suite +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An action that updates the transform of the Actor to look at a target game object. + /// + [CutsceneItem("Transform", "Look At", CutsceneItemGenre.ActorItem, CutsceneItemGenre.TransformItem)] + public class TransformLookAtAction : CinemaActorAction, IRevertable + { + [SerializeField] + [Tooltip("The target that the Actor should look at.")] + GameObject LookAtTarget; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + + /// + /// Cache the state of all actors related to this event. + /// + /// Info to revert rotation + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + for (int i = 0; i < actors.Count; i++) + { + Transform go = actors[i]; + if (go != null) + { + Transform t = go.GetComponent(); + if (t != null) + { + reverts.Add(new RevertInfo(this, t, "localRotation", t.localRotation)); + } + } + } + + return reverts.ToArray(); + } + + /// + /// Trigger this action and have the actor look at the target. + /// + /// The actor to update the transform of. + public override void Trigger(GameObject actor) + { + if (actor == null || LookAtTarget == null) return; + actor.transform.LookAt(LookAtTarget.transform); + } + + /// + /// Continue to update the transform to look at the target. + /// + /// The actor being updated. + /// The running time of the cutscene. + /// The deltaTime since last call. + public override void UpdateTime(GameObject actor, float runningTime, float deltaTime) + { + if (actor == null || LookAtTarget == null) return; + actor.transform.LookAt(LookAtTarget.transform); + } + + /// + /// End the action. + /// + /// The actor of this action. + public override void End(GameObject actor) + { + // Do nothing. + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/TransformLookAtAction.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/TransformLookAtAction.cs.meta new file mode 100644 index 0000000..1e9924c --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/Transform/TransformLookAtAction.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a67ca75c46868e47adbc4d11cef9706 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI.meta new file mode 100644 index 0000000..ceae4b8 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d0269ba345418564288c9a7400485d4e +folderAsset: yes +timeCreated: 1461606314 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/CanvasCameraSwitchEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/CanvasCameraSwitchEvent.cs new file mode 100644 index 0000000..93c6f0d --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/CanvasCameraSwitchEvent.cs @@ -0,0 +1,51 @@ +using UnityEngine; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("uGUI", "Switch Canvas Camera", CutsceneItemGenre.ActorItem)] + public class CanvasCameraSwitchEvent : CinemaActorEvent + { + public Camera Camera; + Camera initialCamera; + + public override void Trigger(GameObject actor) + { + Canvas canvasComponent = actor.GetComponent(); + + if (actor != null && Camera != null && canvasComponent != null) + { + if (canvasComponent.renderMode == RenderMode.ScreenSpaceOverlay) + { + Debug.LogWarning("Current canvas render mode does not target a camera"); + initialCamera = Camera.main; + } + else + { + initialCamera = canvasComponent.worldCamera; + canvasComponent.worldCamera = Camera; + } + } + } + + public override void Reverse(GameObject actor) + { + Canvas canvasComponent = actor.GetComponent(); + + if (actor != null && Camera != null && canvasComponent != null) + { + if (canvasComponent.renderMode == RenderMode.ScreenSpaceOverlay) + Debug.LogWarning("Current canvas render mode does not target a camera"); + else + canvasComponent.worldCamera = initialCamera; + } + } + + public override void Stop(GameObject actor) + { + Canvas canvasComponent = actor.GetComponent(); + + if (actor != null && canvasComponent != null) + canvasComponent.worldCamera = initialCamera; + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/CanvasCameraSwitchEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/CanvasCameraSwitchEvent.cs.meta new file mode 100644 index 0000000..44576ab --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/CanvasCameraSwitchEvent.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8e297e568da2d874182a7f737aa46cc9 +timeCreated: 1453902314 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChange.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChange.cs new file mode 100644 index 0000000..ea54411 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChange.cs @@ -0,0 +1,130 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +#if UNITY_EDITOR +using UnityEditor; +#endif +using UnityEngine.UI; +using UnityEngine; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("uGUI", "Change Color", CutsceneItemGenre.ActorItem)] + public class ColorChange : CinemaActorAction, IRevertable + { + [SerializeField] + Color colorValue = Color.white; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + Color initialColor; + + /// + /// Cache the state of all actors related to this event. + /// + /// + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + for (int i = 0; i < actors.Count; i++) + { + Transform go = actors[i]; + if (go != null) + { + Graphic clr = go.GetComponent(); + if (clr != null) + { + reverts.Add(new RevertInfo(this, clr, "color", clr.color)); + } + } + } + return reverts.ToArray(); + } + + + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Graphic UIcomponent = actor.GetComponent(); + + if (UIcomponent != null) + { + initialColor = UIcomponent.color; + } + } + } + + public override void SetTime(GameObject actor, float time, float deltaTime) + { + if (actor != null) + { + if (time > 0 && time <= Duration) + { + UpdateTime(actor, time, deltaTime); + } + } + } + + public override void UpdateTime(GameObject actor, float runningTime, float deltaTime) + { + if (actor != null) + { + float transition = runningTime / Duration; + + Graphic UIcomponent = actor.GetComponent(); + + if (UIcomponent != null) + { + Color lerpedColor = Color.Lerp(initialColor, colorValue, transition); + UIcomponent.color = lerpedColor; + + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponent()); + #endif + } + } + } + + public override void End(GameObject actor) + { + if (actor != null) + { + Graphic UIcomponent = actor.GetComponent(); + + if (UIcomponent != null) + { + UIcomponent.color = colorValue; + + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponent()); + #endif + } + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChange.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChange.cs.meta new file mode 100644 index 0000000..7acd271 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChange.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bc2174a3762776e44b29df34d2482719 +timeCreated: 1453975893 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChangeSelectable.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChangeSelectable.cs new file mode 100644 index 0000000..9e8430a --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChangeSelectable.cs @@ -0,0 +1,184 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +#if UNITY_EDITOR +using UnityEditor; +#endif +using UnityEngine.UI; +using UnityEngine; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("uGUI", "Change Color Selectable", CutsceneItemGenre.ActorItem)] + public class ColorChangeSelectable : CinemaActorAction, IRevertable + { + enum ColorBlockChoices {normalColor,highlightedColor,pressedColor, disabledColor}; + [SerializeField] + ColorBlockChoices colorField; + + [SerializeField] + Color colorValue = Color.white; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + Color initialColor; + + /// + /// Cache the state of all actors related to this event. + /// + /// + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + for (int i = 0; i < actors.Count; i++) + { + Transform go = actors[i]; + if (go != null) + { + Selectable clr = go.GetComponent(); + if (clr != null) + { + reverts.Add(new RevertInfo(this, clr, "colors", clr.colors)); + } + } + } + return reverts.ToArray(); + } + + + public override void Trigger(GameObject actor) + { + if (actor != null) + { + Selectable UIcomponent = actor.GetComponent(); + + if (UIcomponent != null) + { + switch ((int)colorField) + { + case 0: + initialColor = UIcomponent.colors.normalColor; + break; + case 1: + initialColor = UIcomponent.colors.highlightedColor; + break; + case 2: + initialColor = UIcomponent.colors.pressedColor; + break; + case 3: + initialColor = UIcomponent.colors.disabledColor; + break; + } + } + } + } + + public override void SetTime(GameObject actor, float time, float deltaTime) + { + if (actor != null) + { + if (time > 0 && time <= Duration) + { + UpdateTime(actor, time, deltaTime); + } + } + } + + public override void UpdateTime(GameObject actor, float runningTime, float deltaTime) + { + if (actor != null) + { + float transition = runningTime / Duration; + + Selectable UIcomponent = actor.GetComponent(); + + if (UIcomponent != null) + { + ColorBlock tempValue = UIcomponent.colors; + Color lerpedColor = Color.Lerp(initialColor, colorValue, transition); + + switch ((int)colorField) + { + case 0: + tempValue.normalColor = lerpedColor; + break; + case 1: + tempValue.highlightedColor = lerpedColor; + break; + case 2: + tempValue.pressedColor = lerpedColor; + break; + case 3: + tempValue.disabledColor = lerpedColor; + break; + } + + UIcomponent.colors = tempValue; + + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponent()); + #endif + } + } + } + + public override void End(GameObject actor) + { + if (actor != null) + { + Selectable UIcomponent = actor.GetComponent(); + + if (UIcomponent != null) + { + ColorBlock tempValue = UIcomponent.colors; + + switch ((int)colorField) + { + case 0: + tempValue.normalColor = colorValue; + break; + case 1: + tempValue.highlightedColor = colorValue; + break; + case 2: + tempValue.pressedColor = colorValue; + break; + case 3: + tempValue.disabledColor = colorValue; + break; + } + + if (UIcomponent != null) + UIcomponent.colors = tempValue; + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponent()); + #endif + } + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChangeSelectable.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChangeSelectable.cs.meta new file mode 100644 index 0000000..511bdff --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/ColorChangeSelectable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 86c92bd70e0d627469414cb93dffff60 +timeCreated: 1455833507 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/SetIsInteractable.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/SetIsInteractable.cs new file mode 100644 index 0000000..c339c82 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/SetIsInteractable.cs @@ -0,0 +1,80 @@ +using UnityEngine.UI; +using UnityEngine; +using CinemaDirector.Helpers; +using System.Collections.Generic; +#if UNITY_EDITOR +using UnityEditor; +#endif + + +namespace CinemaDirector +{ + [CutsceneItemAttribute("uGUI", "Interactable", CutsceneItemGenre.ActorItem)] + public class SetIsInteractable : CinemaActorEvent, IRevertable + { + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + + public override void Trigger(GameObject actor) + { + Selectable UIcomponent = actor.GetComponent(); + if (UIcomponent != null) + UIcomponent.interactable = !UIcomponent.interactable; + + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponent()); + #endif + } + + public override void Reverse(GameObject actor) + { + Selectable UIcomponent = actor.GetComponent(); + + if (UIcomponent != null && runtimeRevertMode == RevertMode.Revert && Application.isPlaying) + UIcomponent.interactable = !UIcomponent.interactable; + + if (UIcomponent != null && editorRevertMode == RevertMode.Revert && Application.isEditor && !Application.isPlaying) + UIcomponent.interactable = !UIcomponent.interactable; + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponent()); + #endif + } + + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + for (int i = 0; i < actors.Count; i++) + { + Transform go = actors[i]; + if (go != null) + { + Selectable UIcomponent = go.GetComponent(); + if (UIcomponent != null) + { + reverts.Add(new RevertInfo(this, UIcomponent, "interactable", UIcomponent.interactable)); + } + } + } + return reverts.ToArray(); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/SetIsInteractable.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/SetIsInteractable.cs.meta new file mode 100644 index 0000000..6ea3ebd --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/SetIsInteractable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 487a011191725e94ab44a13a508908a1 +timeCreated: 1453902329 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextDegenerationEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextDegenerationEvent.cs new file mode 100644 index 0000000..49993e3 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextDegenerationEvent.cs @@ -0,0 +1,102 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +#if UNITY_EDITOR +using UnityEditor; +#endif +using UnityEngine.UI; +using UnityEngine; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("uGUI", "Text Remover", CutsceneItemGenre.ActorItem)] + public class TextDegenerationEvent : CinemaActorAction, IRevertable + { + + string textValue; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Cache the state of all actors related to this event. + /// + /// + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + for (int i = 0; i < actors.Count; i++) + { + Transform go = actors[i]; + if (go != null) + { + Text txt = go.GetComponentInChildren(); + if (txt != null) + { + reverts.Add(new RevertInfo(this, txt, "text", txt.text)); + } + } + } + return reverts.ToArray(); + } + + public override void Trigger(GameObject actor) + { + textValue= actor.GetComponentInChildren().text; + } + + public override void SetTime(GameObject actor, float time, float deltaTime) + { + if (actor != null) + if (time > 0 && time <= Duration) + UpdateTime(actor, time, deltaTime); + } + + public override void UpdateTime(GameObject actor, float runningTime, float deltaTime) + { + float transition = runningTime / Duration; + int numericalValue; + + if (textValue!=null) + { + numericalValue = (int)Mathf.Round(Mathf.Lerp(textValue.Length,0, transition)); + + actor.GetComponentInChildren().text = textValue.Substring(0, numericalValue); + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponentInChildren()); + #endif + } + } + + public override void End(GameObject actor) + { + actor.GetComponentInChildren().text = ""; + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponentInChildren()); + #endif + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextDegenerationEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextDegenerationEvent.cs.meta new file mode 100644 index 0000000..dc003d0 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextDegenerationEvent.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9ee87daec25885a46b9b1107c82bd734 +timeCreated: 1454006440 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextGenerationEvent.cs b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextGenerationEvent.cs new file mode 100644 index 0000000..92b3760 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextGenerationEvent.cs @@ -0,0 +1,115 @@ +using CinemaDirector.Helpers; +using System.Collections.Generic; +#if UNITY_EDITOR +using UnityEditor; +#endif +using UnityEngine.UI; +using UnityEngine; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("uGUI", "Text Generator", CutsceneItemGenre.ActorItem)] + public class TextGenerationEvent : CinemaActorAction, IRevertable + { + + [TextArea(3, 10)] + public string textValue; + private string initialTextValue; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Cache the state of all actors related to this event. + /// + /// + public RevertInfo[] CacheState() + { + List actors = new List(GetActors()); + List reverts = new List(); + for (int i = 0; i < actors.Count; i++) + { + Transform go = actors[i]; + if (go != null) + { + Text txt = go.GetComponentInChildren(); + if (txt != null) + { + reverts.Add(new RevertInfo(this, txt, "text", txt.text)); + } + } + } + return reverts.ToArray(); + } + + public override void Trigger(GameObject actor) + { + initialTextValue = actor.GetComponentInChildren().text; + actor.GetComponentInChildren().text = ""; + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponentInChildren()); + #endif + } + + public override void ReverseTrigger(GameObject actor) + { + actor.GetComponentInChildren().text = initialTextValue; + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponentInChildren()); + #endif + } + + public override void SetTime(GameObject actor, float time, float deltaTime) + { + if (actor != null) + if (time > 0 && time <= Duration) + UpdateTime(actor, time, deltaTime); + } + + public override void UpdateTime(GameObject actor, float runningTime, float deltaTime) + { + float transition = runningTime / Duration; + int numericalValue; + + if (textValue!=null) + { + numericalValue = (int)Mathf.Round(Mathf.Lerp(0, textValue.Length, transition)); + actor.GetComponentInChildren().text = textValue.Substring(0, numericalValue); + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponentInChildren()); + #endif + } + } + + public override void End(GameObject actor) + { + actor.GetComponentInChildren().text= textValue; + #if UNITY_EDITOR + EditorUtility.SetDirty(actor.GetComponentInChildren()); + #endif + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextGenerationEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextGenerationEvent.cs.meta new file mode 100644 index 0000000..ea071da --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Actor Items/uGUI/TextGenerationEvent.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ab1f28727c36d2845afef267781d9730 +timeCreated: 1453999894 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Cutscene Items/Core.meta b/Assets/Cinema Director/Cutscene Items/Core.meta new file mode 100644 index 0000000..369cbb6 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Core.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 9aab8cd5078f356468db4c8b2314b9a1 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Core/CinemaAudio.cs b/Assets/Cinema Director/Cutscene Items/Core/CinemaAudio.cs new file mode 100644 index 0000000..83fdbeb --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Core/CinemaAudio.cs @@ -0,0 +1,98 @@ +using System.Collections.Generic; +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + [CutsceneItemAttribute("Audio", "Play Audio", typeof(AudioClip), CutsceneItemGenre.AudioClipItem)] + public class CinemaAudio : TimelineActionFixed + { + private bool wasPlaying = false; + + public void Trigger(){ + } + + public void End() + { + Stop(); + } + + public void UpdateTime(float time, float deltaTime) + { + AudioSource audio = gameObject.GetComponent(); + if (audio != null) + { + audio.mute = false; + if (Cutscene.State == CinemaDirector.Cutscene.CutsceneState.Scrubbing) + { + audio.time = time + InTime; + } + if (!audio.isPlaying) + { + audio.time = time + InTime; + audio.Play(); + } + } + } + + public void Resume() + { + AudioSource audio = gameObject.GetComponent(); + if (audio != null) + { + if (wasPlaying) + { + audio.Play(); + } + } + } + + public void Pause() + { + AudioSource audio = gameObject.GetComponent(); + if (audio != null) + { + wasPlaying = false; + if (audio.isPlaying) + { + wasPlaying = true; + } + + audio.Pause(); + } + } + + public override void Stop() + { + AudioSource audio = gameObject.GetComponent(); + if (audio) + audio.Stop(); + } + + public void SetTime(float audioTime) + { + AudioSource audio = gameObject.GetComponent(); + if (audio != null) + { + audio.time = audioTime; + } + } + + public override void SetDefaults(Object PairedItem) + { + AudioClip clip = PairedItem as AudioClip; + if (clip != null) + { + AudioSource source = gameObject.AddComponent(); + source.clip = clip; + + Firetime = 0; + Duration = clip.length; + InTime = 0; + OutTime = clip.length; + ItemLength = clip.length; + source.playOnAwake = false; + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Core/CinemaAudio.cs.meta b/Assets/Cinema Director/Cutscene Items/Core/CinemaAudio.cs.meta new file mode 100644 index 0000000..60eaffc --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Core/CinemaAudio.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b1422ff3df485774eb5b60d1178f1672 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Core/CinemaShot.cs b/Assets/Cinema Director/Cutscene Items/Core/CinemaShot.cs new file mode 100644 index 0000000..6dad0a0 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Core/CinemaShot.cs @@ -0,0 +1,72 @@ +// Cinema Suite +using System; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// The representation of a Shot. + /// + [CutsceneItemAttribute("Shots", "Shot", CutsceneItemGenre.CameraShot)] + public class CinemaShot : CinemaGlobalAction + { + public Camera shotCamera; + private bool cachedState; + + public override void Initialize() + { + if (shotCamera != null) + { + cachedState = shotCamera.gameObject.activeInHierarchy; + } + } + + public override void Trigger() + { + if (this.shotCamera != null) + { + this.shotCamera.gameObject.SetActive(true); + } + } + + + public override void End() + { + if (this.shotCamera != null) + { + this.shotCamera.gameObject.SetActive(false); + } + } + + public override void Stop() + { + if (shotCamera != null) + { + this.shotCamera.gameObject.SetActive(cachedState); + } + } + + #region Properties + + /// + /// Accesses the time that the cut takes place + /// + public float CutTime + { + get { return this.Firetime; } + set { this.Firetime = value; } + } + + /// + /// The length of this shot in seconds. + /// + public float ShotLength + { + get { return this.Duration; } + set { this.Duration = value; } + } + + #endregion + + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Core/CinemaShot.cs.meta b/Assets/Cinema Director/Cutscene Items/Core/CinemaShot.cs.meta new file mode 100644 index 0000000..cc7be7c --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Core/CinemaShot.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a14086d9fe0c27b4cba8d7ccad7972e5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items.meta b/Assets/Cinema Director/Cutscene Items/Global Items.meta new file mode 100644 index 0000000..2af6848 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 06c52ccd81fb72b409abdd19c82f0811 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/AudioSource.meta b/Assets/Cinema Director/Cutscene Items/Global Items/AudioSource.meta new file mode 100644 index 0000000..c7c4744 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/AudioSource.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 9acef83b5d7021940868edda2ea8032c +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/AudioSource/PlayClipAtPointAudioEvent.cs b/Assets/Cinema Director/Cutscene Items/Global Items/AudioSource/PlayClipAtPointAudioEvent.cs new file mode 100644 index 0000000..0dadcd5 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/AudioSource/PlayClipAtPointAudioEvent.cs @@ -0,0 +1,29 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Event to trigger playing an audio clip at a point in space. + /// + [CutsceneItemAttribute("Audio Source", "Play Clip At Point", CutsceneItemGenre.GlobalItem)] + public class PlayClipAtPointAudioEvent : CinemaGlobalEvent + { + // The Audio Clip to be played. + public AudioClip Clip; + + // The position to be played at. + public Vector3 Position; + + // The volume. + public float VolumeScale = 1f; + + /// + /// Trigger the audio clip to be played at a position. + /// + public override void Trigger() + { + AudioSource.PlayClipAtPoint(Clip, Position, VolumeScale); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/AudioSource/PlayClipAtPointAudioEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/AudioSource/PlayClipAtPointAudioEvent.cs.meta new file mode 100644 index 0000000..06e275e --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/AudioSource/PlayClipAtPointAudioEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 20db811cd86175e4cbc22119825f6833 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene.meta new file mode 100644 index 0000000..832886c --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: e52c2ec8236c0fa4bab8ef584956824b +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PauseCutscene.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PauseCutscene.cs new file mode 100644 index 0000000..0f3286b --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PauseCutscene.cs @@ -0,0 +1,26 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Pause a given Cutscene. + /// + [CutsceneItem("Cutscene", "Pause Cutscene", CutsceneItemGenre.GlobalItem)] + public class PauseCutscene : CinemaGlobalEvent + { + // The cutscene to be paused. + public Cutscene cutscene; + + /// + /// Pause the given Cutscene. + /// + public override void Trigger() + { + if (cutscene != null) + { + cutscene.Pause(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PauseCutscene.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PauseCutscene.cs.meta new file mode 100644 index 0000000..6be3ce6 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PauseCutscene.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3211878c884309d4eabae9678d91be9d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PlayCutscene.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PlayCutscene.cs new file mode 100644 index 0000000..b02a911 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PlayCutscene.cs @@ -0,0 +1,26 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Play a given Cutscene. + /// + [CutsceneItem("Cutscene", "Play Cutscene", CutsceneItemGenre.GlobalItem)] + public class PlayCutscene : CinemaGlobalEvent + { + // The Cutscene to be played. + public Cutscene cutscene; + + /// + /// Trigger this event and Play the given Cutscene. + /// + public override void Trigger() + { + if (cutscene != null) + { + cutscene.Play(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PlayCutscene.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PlayCutscene.cs.meta new file mode 100644 index 0000000..2677274 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/PlayCutscene.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c95963228dbbea48941bf865ce99cfa +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/StopCutscene.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/StopCutscene.cs new file mode 100644 index 0000000..e109d14 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/StopCutscene.cs @@ -0,0 +1,26 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Stop a given Cutscene from playing. + /// + [CutsceneItem("Cutscene", "Stop Cutscene", CutsceneItemGenre.GlobalItem)] + public class StopCutscene : CinemaGlobalEvent + { + // The cutscene to be stopped. + public Cutscene cutscene; + + /// + /// Trigger this event and stop the given Cutscene from playing. + /// + public override void Trigger() + { + if (cutscene != null) + { + cutscene.Stop(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/StopCutscene.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/StopCutscene.cs.meta new file mode 100644 index 0000000..1879653 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Cutscene/StopCutscene.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c65b26ed8e5dcbb47a28d37896eeeeb5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Debug.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Debug.meta new file mode 100644 index 0000000..987e7d7 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Debug.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 0899e0a8471cb3f409cd83e74940d6be +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/GUITexture.meta b/Assets/Cinema Director/Cutscene Items/Global Items/GUITexture.meta new file mode 100644 index 0000000..bbc4c0c --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/GUITexture.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 16992084efa50ed4da4e191784d7f30d +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/GUITexture/FadeTexture.cs b/Assets/Cinema Director/Cutscene Items/Global Items/GUITexture/FadeTexture.cs new file mode 100644 index 0000000..33ee223 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/GUITexture/FadeTexture.cs @@ -0,0 +1,134 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An action that fades in a texture over the first 25% of length, shows for 50% of time length + /// and fades away over the final 25%. + /// + [CutsceneItem("GUITexture", "Fade Texture", CutsceneItemGenre.GlobalItem)] + public class FadeTexture : CinemaGlobalAction + { + // The GUITexture to show + public GUITexture target; + + // Optional Tint + public Color tint = Color.grey; + + /// + /// Disable the Texture and make it clear. + /// + void Awake() + { + if (this.target != null) + { + this.target.enabled = false; + this.target.color = Color.clear; + } + } + + /// + /// Trigger this event, enable the texture and make it clear. + /// + public override void Trigger() + { + if (this.target != null) + { + this.target.enabled = true; + this.target.color = Color.clear; + } + } + + /// + /// Reverse the start of this action by disabling the texture. + /// + public override void ReverseTrigger() + { + End(); + } + + /// + /// Update the fading/showing of this texture. + /// + /// The time of this action. + /// The deltaTime since last update. + public override void UpdateTime(float time, float deltaTime) + { + if (this.target != null) + { + float transition = time / Duration; + if (transition <= 0.25f) + { + FadeToColor(Color.clear, tint, (transition / 0.25f)); + } + else if (transition >= 0.75f) + { + FadeToColor(tint, Color.clear, (transition - 0.75f) / .25f); + } + } + } + + /// + /// Update this action to an arbitrary time. + /// + /// The new time. + /// The deltaTime since last update. + public override void SetTime(float time, float deltaTime) + { + if (this.target != null) + { + this.target.enabled = true; + if (time >= 0 && time <= Duration) + { + UpdateTime(time, deltaTime); + } + else if (target.enabled) + { + this.target.enabled = false; + } + } + } + + /// + /// End this action and disable the texture. + /// + public override void End() + { + if (this.target != null) + { + this.target.enabled = false; + } + } + + /// + /// Trigger the action from the end in reverse. + /// + public override void ReverseEnd() + { + Trigger(); + } + + /// + /// Stop this action and disable its texture. + /// + public override void Stop() + { + if (this.target != null) + { + this.target.enabled = false; + } + } + + /// + /// Fade between two colours over a transition value. + /// + /// The start color. + /// The end color. + /// The transition amount. + private void FadeToColor(Color from, Color to, float transition) + { + this.target.color = Color.Lerp(from, to, transition); + } + } +} diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/GUITexture/FadeTexture.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/GUITexture/FadeTexture.cs.meta new file mode 100644 index 0000000..6aee0b2 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/GUITexture/FadeTexture.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 116e9b43ace58834d9c6364b256a61e2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/GameObject.meta b/Assets/Cinema Director/Cutscene Items/Global Items/GameObject.meta new file mode 100644 index 0000000..39e50ff --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/GameObject.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 15829f6bfa69af545982693d50470de6 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/DisableGameObjectGlobal.cs b/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/DisableGameObjectGlobal.cs new file mode 100644 index 0000000..f893fbc --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/DisableGameObjectGlobal.cs @@ -0,0 +1,80 @@ +// Cinema Suite +using CinemaDirector.Helpers; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// A simple event for Disabling a Game Object. + /// + [CutsceneItemAttribute("Game Object", "Disable Game Object", CutsceneItemGenre.GlobalItem)] + public class DisableGameObjectGlobal : CinemaGlobalEvent, IRevertable + { + // The target Game Object + public GameObject target; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + // Keep track of the GameObject's previous state when calling Trigger. + private bool previousState; + + /// + /// Cache the initial state of the target GameObject's active state. + /// + /// The Info necessary to revert this event. + public RevertInfo[] CacheState() + { + if (target != null) + return new RevertInfo[] { new RevertInfo(this, target, "SetActive", target.activeInHierarchy) }; + + return null; + } + + /// + /// Trigger this event and set the given GameObject to disabled. + /// + public override void Trigger() + { + if (target != null) + { + previousState = target.activeInHierarchy; + target.SetActive(false); + } + } + + /// + /// Reverse this Event and put the GameObject into its' previous state. + /// + public override void Reverse() + { + if (target != null) + { + target.SetActive(previousState); + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/DisableGameObjectGlobal.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/DisableGameObjectGlobal.cs.meta new file mode 100644 index 0000000..ec72e0d --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/DisableGameObjectGlobal.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c88a020fb298dfa4f9dda082a3f62f2e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/EnableGameObjectGlobal.cs b/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/EnableGameObjectGlobal.cs new file mode 100644 index 0000000..27aca0a --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/EnableGameObjectGlobal.cs @@ -0,0 +1,80 @@ +// Cinema Suite +using CinemaDirector.Helpers; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// A simple event for Enabling a Game Object + /// + [CutsceneItemAttribute("Game Object", "Enable Game Object", CutsceneItemGenre.GlobalItem)] + public class EnableGameObjectGlobal : CinemaGlobalEvent, IRevertable + { + // The target GameObject + public GameObject target; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + // Keep track of the GameObject's previous state when calling Trigger. + private bool previousState; + + /// + /// Cache the initial state of the target GameObject's active state. + /// + /// The Info necessary to revert this event. + public RevertInfo[] CacheState() + { + if (target != null) + return new RevertInfo[]{new RevertInfo(this, target, "SetActive", target.activeInHierarchy)}; + + return null; + } + + /// + /// Trigger this event and set the given GameObject to enabled. + /// + public override void Trigger() + { + if (target != null) + { + previousState = target.activeInHierarchy; + target.SetActive(true); + } + } + + /// + /// Reverse this Event and put the GameObject into its' previous state. + /// + public override void Reverse() + { + if (target != null) + { + target.SetActive(previousState); + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/EnableGameObjectGlobal.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/EnableGameObjectGlobal.cs.meta new file mode 100644 index 0000000..81b5262 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/GameObject/EnableGameObjectGlobal.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 04f4e69d858c882478543f3fd46d64f1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Time.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Time.meta new file mode 100644 index 0000000..f5caff3 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Time.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 9bd41387fcc1acf48979a5d1aac75b42 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Time/SetTimeScaleEvent.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Time/SetTimeScaleEvent.cs new file mode 100644 index 0000000..4f94580 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Time/SetTimeScaleEvent.cs @@ -0,0 +1,71 @@ +// Cinema Suite +using CinemaDirector.Helpers; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An event for changing Time Scale. + /// + [CutsceneItem("Time", "Set Time Scale", CutsceneItemGenre.GlobalItem)] + public class SetTimeScaleEvent : CinemaGlobalEvent, IRevertable + { + // The new timescale + public float TimeScale = 1f; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + // Keep track of the previous time scale when calling Trigger. + private float previousTimescale = 1f; + + /// + /// Cache the initial state of the time scale. + /// + /// The Info necessary to revert this event. + public RevertInfo[] CacheState() + { + return new RevertInfo[] { new RevertInfo(this, typeof(Time), "timeScale", Time.timeScale) }; + } + + /// + /// Trigger this event and set a new time scale. + /// + public override void Trigger() + { + previousTimescale = Time.timeScale; + Time.timeScale = TimeScale; + } + + /// + /// Reverse this event and set time scale back to it's previous state. + /// + public override void Reverse() + { + Time.timeScale = previousTimescale; + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Time/SetTimeScaleEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Time/SetTimeScaleEvent.cs.meta new file mode 100644 index 0000000..e8a832a --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Time/SetTimeScaleEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e23160b4acfa6cb42ac95e12d8d96378 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Time/TimeScaleCurveAction.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Time/TimeScaleCurveAction.cs new file mode 100644 index 0000000..eee5d0f --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Time/TimeScaleCurveAction.cs @@ -0,0 +1,85 @@ +// Cinema Suite +using CinemaDirector.Helpers; +using UnityEngine; + +namespace CinemaDirector +{ + [CutsceneItem("Time", "Time Scale Curve", CutsceneItemGenre.GlobalItem)] + public class TimeScaleCurveAction : CinemaGlobalAction, IRevertable + { + // The curve that controls time scale. Make sure that it goes from 0 to the duration of this action. + public AnimationCurve Curve; + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + // Keep track of the GameObject's previous state when calling Trigger. + private float previousScale; + + /// + /// Cache the initial state of the time scale. + /// + /// The Info necessary to revert this event. + public RevertInfo[] CacheState() + { + return new RevertInfo[]{ new RevertInfo(this, typeof(Time), "timeScale", Time.timeScale)}; + } + + /// + /// Trigger the start of the time curve. Save the current time scale. + /// + public override void Trigger() + { + previousScale = Time.timeScale; + } + + /// + /// Update the Time Scale using the animation curve. + /// + /// The time of this action. + /// The time since the last update. + public override void UpdateTime(float time, float deltaTime) + { + if (Curve != null) + { + Time.timeScale = Curve.Evaluate(time); + } + } + + /// + /// End the Time Scale action. + /// + public override void End() { } + + /// + /// Reset the time scale to the previous value when exiting this action in reverse. + /// + public override void ReverseTrigger() + { + Time.timeScale = previousScale; + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Time/TimeScaleCurveAction.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Time/TimeScaleCurveAction.cs.meta new file mode 100644 index 0000000..f4e4a52 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Time/TimeScaleCurveAction.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c4f3daca6c219f4ebdb87b1d746adee +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions.meta new file mode 100644 index 0000000..8a6d7dc --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 53eedf70b03ce3e41afe07db6f92f04d +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/ColorTransition.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/ColorTransition.cs new file mode 100644 index 0000000..104953b --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/ColorTransition.cs @@ -0,0 +1,123 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Generic transition From any colour To any colour. + /// + [CutsceneItem("Transitions", "Color Transition", CutsceneItemGenre.GlobalItem)] + public class ColorTransition : CinemaGlobalAction + { + // The starting colour + public Color From = Color.black; + + // The final colour + public Color To = Color.clear; + + /// + /// Setup the effect when the script is loaded. + /// + void Awake() + { + if (GetComponent() == null) + { + gameObject.transform.position = Vector3.zero; + gameObject.transform.localScale = new Vector3(100, 100, 100); + gameObject.AddComponent(); + GetComponent().enabled = false; + GetComponent().texture = new Texture2D(1, 1); + GetComponent().pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + GetComponent().color = Color.clear; + } + } + + /// + /// Enable the overlay texture and set to From colour + /// + public override void Trigger() + { + GetComponent().enabled = true; + GetComponent().pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + GetComponent().color = From; + } + + /// + /// Firetime is reached when playing in reverse, disable the effect. + /// + public override void ReverseTrigger() + { + End(); + } + + /// + /// Update the effect over time, progressing the transition + /// + /// The time this action has been active + /// The time since the last update + public override void UpdateTime(float time, float deltaTime) + { + float transition = time / Duration; + FadeToColor(From, To, transition); + } + + /// + /// Set the transition to an arbitrary time. + /// + /// The time of this action + /// the deltaTime since the last update call. + public override void SetTime(float time, float deltaTime) + { + if (time >= 0 && time <= Duration) + { + GetComponent().enabled = true; + UpdateTime(time, deltaTime); + } + else if (GetComponent().enabled) + { + GetComponent().enabled = false; + } + } + + /// + /// End the effect by disabling the overlay texture. + /// + public override void End() + { + GetComponent().enabled = false; + } + + /// + /// The end of the action has been triggered while playing the Cutscene in reverse. + /// + public override void ReverseEnd() + { + GetComponent().enabled = true; + GetComponent().pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + GetComponent().color = To; + } + + /// + /// Disable the overlay texture + /// + public override void Stop() + { + if (GetComponent() != null) + { + GetComponent().enabled = false; + } + } + + /// + /// Fade from one colour to another over a transition period. + /// + /// The starting colour + /// The final colour + /// the Lerp transition value + private void FadeToColor(Color from, Color to, float transition) + { + GetComponent().color = Color.Lerp(from, to, transition); + } + + } +} diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/ColorTransition.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/ColorTransition.cs.meta new file mode 100644 index 0000000..b290332 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/ColorTransition.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: afeb7fc1ce6a1da489b286f4acb4362f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromBlack.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromBlack.cs new file mode 100644 index 0000000..699f70a --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromBlack.cs @@ -0,0 +1,119 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Transition from Black to Clear over time by overlaying a GetComponent(). + /// + [CutsceneItem("Transitions", "Fade from Black", CutsceneItemGenre.GlobalItem)] + public class FadeFromBlack : CinemaGlobalAction + { + private Color From = Color.black; + private Color To = Color.clear; + + /// + /// Setup the effect when the script is loaded. + /// + void Awake() + { + if (GetComponent() == null) + { + gameObject.transform.position = Vector3.zero; + gameObject.transform.localScale = new Vector3(100, 100, 100); + gameObject.AddComponent(); + GetComponent().enabled = false; + GetComponent().texture = new Texture2D(1, 1); + GetComponent().pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + GetComponent().color = Color.clear; + } + } + + /// + /// Enable the overlay texture and set the Color to Black. + /// + public override void Trigger() + { + GetComponent().enabled = true; + GetComponent().pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + GetComponent().color = From; + } + + /// + /// Firetime is reached when playing in reverse, disable the effect. + /// + public override void ReverseTrigger() + { + End(); + } + + /// + /// Update the effect over time, progressing the transition + /// + /// The time this action has been active + /// The time since the last update + public override void UpdateTime(float time, float deltaTime) + { + float transition = time / Duration; + FadeToColor(From, To, transition); + } + + /// + /// Set the transition to an arbitrary time. + /// + /// The time of this action + /// the deltaTime since the last update call. + public override void SetTime(float time, float deltaTime) + { + if (time >= 0 && time <= Duration) + { + GetComponent().enabled = true; + UpdateTime(time, deltaTime); + } + else if (GetComponent().enabled) + { + GetComponent().enabled = false; + } + } + + /// + /// End the effect by disabling the overlay texture. + /// + public override void End() + { + GetComponent().enabled = false; + } + + /// + /// The end of the action has been triggered while playing the Cutscene in reverse. + /// + public override void ReverseEnd() + { + GetComponent().enabled = true; + GetComponent().pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + GetComponent().color = To; + } + + /// + /// Disable the overlay texture + /// + public override void Stop() + { + if (GetComponent() != null) + { + GetComponent().enabled = false; + } + } + + /// + /// Fade from one colour to another over a transition period. + /// + /// The starting colour + /// The final colour + /// the Lerp transition value + private void FadeToColor(Color from, Color to, float transition) + { + GetComponent().color = Color.Lerp(from, to, transition); + } + } +} diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromBlack.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromBlack.cs.meta new file mode 100644 index 0000000..afbd626 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromBlack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 49639c98e0a468842ad4187b08d7ae86 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromWhite.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromWhite.cs new file mode 100644 index 0000000..2fa7cd3 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromWhite.cs @@ -0,0 +1,119 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Transition from White to Clear over time by overlaying a guiTexture. + /// + [CutsceneItem("Transitions", "Fade from White", CutsceneItemGenre.GlobalItem)] + public class FadeFromWhite : CinemaGlobalAction + { + private Color From = Color.white; + private Color To = Color.clear; + + /// + /// Setup the effect when the script is loaded. + /// + void Awake() + { + if (guiTexture == null) + { + gameObject.transform.position = Vector3.zero; + gameObject.transform.localScale = new Vector3(100, 100, 100); + gameObject.AddComponent(); + guiTexture.enabled = false; + guiTexture.texture = new Texture2D(1, 1); + guiTexture.pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + guiTexture.color = Color.clear; + } + } + + /// + /// Enable the overlay texture and set the Color to White. + /// + public override void Trigger() + { + guiTexture.enabled = true; + guiTexture.pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + guiTexture.color = From; + } + + /// + /// Firetime is reached when playing in reverse, disable the effect. + /// + public override void ReverseTrigger() + { + End(); + } + + /// + /// Update the effect over time, progressing the transition + /// + /// The time this action has been active + /// The time since the last update + public override void UpdateTime(float time, float deltaTime) + { + float transition = time / Duration; + FadeToColor(From, To, transition); + } + + /// + /// Set the transition to an arbitrary time. + /// + /// The time of this action + /// the deltaTime since the last update call. + public override void SetTime(float time, float deltaTime) + { + if (time >= 0 && time <= Duration) + { + guiTexture.enabled = true; + UpdateTime(time, deltaTime); + } + else if (guiTexture.enabled) + { + guiTexture.enabled = false; + } + } + + /// + /// End the effect by disabling the overlay texture. + /// + public override void End() + { + guiTexture.enabled = false; + } + + /// + /// The end of the action has been triggered while playing the Cutscene in reverse. + /// + public override void ReverseEnd() + { + guiTexture.enabled = true; + guiTexture.pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + guiTexture.color = To; + } + + /// + /// Disable the overlay texture + /// + public override void Stop() + { + if (guiTexture != null) + { + guiTexture.enabled = false; + } + } + + /// + /// Fade from one colour to another over a transition period. + /// + /// The starting colour + /// The final colour + /// the Lerp transition value + private void FadeToColor(Color from, Color to, float transition) + { + guiTexture.color = Color.Lerp(from, to, transition); + } + } +} diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromWhite.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromWhite.cs.meta new file mode 100644 index 0000000..61c2b27 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeFromWhite.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f8d778ac170e2be47b7084cb69030d3a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToBlack.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToBlack.cs new file mode 100644 index 0000000..7d1adf9 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToBlack.cs @@ -0,0 +1,120 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Transition from Clear to Black over time by overlaying a guiTexture. + /// + [CutsceneItem("Transitions", "Fade to Black", CutsceneItemGenre.GlobalItem)] + public class FadeToBlack : CinemaGlobalAction + { + private Color From = Color.clear; + private Color To = Color.black; + + /// + /// Setup the effect when the script is loaded. + /// + void Awake() + { + if (guiTexture == null) + { + gameObject.transform.position = Vector3.zero; + gameObject.transform.localScale = new Vector3(100, 100, 100); + gameObject.AddComponent(); + guiTexture.enabled = false; + guiTexture.texture = new Texture2D(1, 1); + guiTexture.pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + guiTexture.color = Color.clear; + } + } + + /// + /// Enable the overlay texture and set the Color to Clear. + /// + public override void Trigger() + { + guiTexture.enabled = true; + guiTexture.pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + guiTexture.color = From; + } + + /// + /// Firetime is reached when playing in reverse, disable the effect. + /// + public override void ReverseTrigger() + { + End(); + } + + /// + /// Update the effect over time, progressing the transition + /// + /// The time this action has been active + /// The time since the last update + public override void UpdateTime(float time, float deltaTime) + { + float transition = time / Duration; + FadeToColor(From, To, transition); + } + + /// + /// Set the transition to an arbitrary time. + /// + /// The time of this action + /// the deltaTime since the last update call. + public override void SetTime(float time, float deltaTime) + { + if (time >= 0 && time <= Duration) + { + guiTexture.enabled = true; + UpdateTime(time, deltaTime); + } + else if (guiTexture.enabled) + { + guiTexture.enabled = false; + } + } + + /// + /// End the effect by disabling the overlay texture. + /// + public override void End() + { + guiTexture.enabled = false; + } + + /// + /// The end of the action has been triggered while playing the Cutscene in reverse. + /// + public override void ReverseEnd() + { + guiTexture.enabled = true; + guiTexture.pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + guiTexture.color = To; + } + + /// + /// Disable the overlay texture + /// + public override void Stop() + { + if (guiTexture != null) + { + guiTexture.enabled = false; + } + } + + /// + /// Fade from one colour to another over a transition period. + /// + /// The starting colour + /// The final colour + /// the Lerp transition value + private void FadeToColor(Color from, Color to, float transition) + { + guiTexture.color = Color.Lerp(from, to, transition); + } + + } +} diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToBlack.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToBlack.cs.meta new file mode 100644 index 0000000..0e5f366 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToBlack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a99f85a6d7b661f4f94de1fcdeb603c5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToWhite.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToWhite.cs new file mode 100644 index 0000000..4c83f58 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToWhite.cs @@ -0,0 +1,119 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Transition from Clear to White over time by overlaying a guiTexture. + /// + [CutsceneItem("Transitions", "Fade to White", CutsceneItemGenre.GlobalItem)] + public class FadeToWhite : CinemaGlobalAction + { + private Color From = Color.clear; + private Color To = Color.white; + + /// + /// Setup the effect when the script is loaded. + /// + void Awake() + { + if (guiTexture == null) + { + gameObject.transform.position = Vector3.zero; + gameObject.transform.localScale = new Vector3(100, 100, 100); + gameObject.AddComponent(); + guiTexture.enabled = false; + guiTexture.texture = new Texture2D(1, 1); + guiTexture.pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + guiTexture.color = Color.clear; + } + } + + /// + /// Enable the overlay texture and set the Color to Clear. + /// + public override void Trigger() + { + guiTexture.enabled = true; + guiTexture.pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + guiTexture.color = From; + } + + /// + /// Firetime is reached when playing in reverse, disable the effect. + /// + public override void ReverseTrigger() + { + End(); + } + + /// + /// Update the effect over time, progressing the transition + /// + /// The time this action has been active + /// The time since the last update + public override void UpdateTime(float time, float deltaTime) + { + float transition = time / Duration; + FadeToColor(From, To, transition); + } + + /// + /// Set the transition to an arbitrary time. + /// + /// The time of this action + /// the deltaTime since the last update call. + public override void SetTime(float time, float deltaTime) + { + if (time >= 0 && time <= Duration) + { + guiTexture.enabled = true; + UpdateTime(time, deltaTime); + } + else if (guiTexture.enabled) + { + guiTexture.enabled = false; + } + } + + /// + /// End the effect by disabling the overlay texture. + /// + public override void End() + { + guiTexture.enabled = false; + } + + /// + /// The end of the action has been triggered while playing the Cutscene in reverse. + /// + public override void ReverseEnd() + { + guiTexture.enabled = true; + guiTexture.pixelInset = new Rect(0f, 0f, Screen.width, Screen.height); + guiTexture.color = To; + } + + /// + /// Disable the overlay texture + /// + public override void Stop() + { + if (guiTexture != null) + { + guiTexture.enabled = false; + } + } + + /// + /// Fade from one colour to another over a transition period. + /// + /// The starting colour + /// The final colour + /// the Lerp transition value + private void FadeToColor(Color from, Color to, float transition) + { + guiTexture.color = Color.Lerp(from, to, transition); + } + } +} diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToWhite.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToWhite.cs.meta new file mode 100644 index 0000000..954c0c6 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Transitions/FadeToWhite.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 26450fe968f1ad24fbf827fe85d87bd9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Utility.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Utility.meta new file mode 100644 index 0000000..aac7457 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Utility.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: f6dc846fafb4d754487e77e418189aed +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Utility/LoadLevelEvent.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/LoadLevelEvent.cs new file mode 100644 index 0000000..e077ebe --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/LoadLevelEvent.cs @@ -0,0 +1,26 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Event for loading a new level + /// + [CutsceneItem("Utility", "Load Level", CutsceneItemGenre.GlobalItem)] + public class LoadLevelEvent : CinemaGlobalEvent + { + // The index of the level to be loaded. + public int Level = 0; + + /// + /// Trigger the level load. Only in Runtime. + /// + public override void Trigger() + { + if (Application.isPlaying) + { + Application.LoadLevel(Level); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Utility/LoadLevelEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/LoadLevelEvent.cs.meta new file mode 100644 index 0000000..7da3966 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/LoadLevelEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d212dbfd36634a14cafe5f3a2fe44459 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Utility/MassDisabler.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/MassDisabler.cs new file mode 100644 index 0000000..896b259 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/MassDisabler.cs @@ -0,0 +1,140 @@ +// Cinema Suite +using CinemaDirector.Helpers; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Utility action for disabling a lot of GameObjects at once and then re-enabling them at the end of the action. + /// + [CutsceneItem("Utility", "Mass Disabler", CutsceneItemGenre.GlobalItem)] + public class MassDisabler : CinemaGlobalAction, IRevertable + { + // Game Objects to be disabled temporarily. + public List GameObjects = new List(); + + // Game Object Tags to be disabled temporarily. + public List Tags = new List(); + + // Cache the game objects. + private List tagsCache = new List(); + + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + /// + /// Cache the initial state of the target GameObject's active state. + /// + /// The Info necessary to revert this event. + public RevertInfo[] CacheState() + { + List gameObjects = new List(); + foreach (string tag in Tags) + { + GameObject[] tagged = GameObject.FindGameObjectsWithTag(tag); + foreach (GameObject gameObject in tagged) + { + gameObjects.Add(gameObject); + } + } + + gameObjects.AddRange(GameObjects); + + List reverts = new List(); + foreach (GameObject go in gameObjects) + { + if (go != null) + { + reverts.Add(new RevertInfo(this, go, "SetActive", go.activeInHierarchy)); + } + } + + return reverts.ToArray(); + } + + /// + /// Trigger this Action and disable all Game Objects + /// + public override void Trigger() + { + tagsCache.Clear(); + foreach (string tag in Tags) + { + GameObject[] gameObjects = GameObject.FindGameObjectsWithTag(tag); + foreach (GameObject gameObject in gameObjects) + { + tagsCache.Add(gameObject); + } + } + + setActive(false); + } + + /// + /// End the action and re-enable all game objects. + /// + public override void End() + { + setActive(true); + } + + /// + /// Trigger the beginning of the action while playing in reverse. + /// + public override void ReverseTrigger() + { + End(); + } + + /// + /// Trigger the end of the action while playing in reverse. + /// + public override void ReverseEnd() + { + Trigger(); + } + + /// + /// Enable/Disable all the game objects. + /// + /// Enable or Disable + private void setActive(bool enabled) + { + // Enable gameobjects + foreach (GameObject gameObject in GameObjects) + { + gameObject.SetActive(enabled); + } + + // Enable tags + foreach (GameObject gameObject in tagsCache) + { + gameObject.SetActive(enabled); + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Utility/MassDisabler.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/MassDisabler.cs.meta new file mode 100644 index 0000000..0427809 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/MassDisabler.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3c4646b40f000d41814a1be4cb65bbc +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Utility/StoryboardEvent.cs b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/StoryboardEvent.cs new file mode 100644 index 0000000..6e1af86 --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/StoryboardEvent.cs @@ -0,0 +1,22 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Event that captures a screenshot when triggered. + /// + [CutsceneItem("Utility", "Storyboard", CutsceneItemGenre.GlobalItem)] + public class StoryboardEvent : CinemaGlobalEvent + { + public static int Count = 0; // Count how many screenshots have been captured. + + /// + /// Capture screenshot on trigger. + /// + public override void Trigger() + { + Application.CaptureScreenshot(string.Format(@"Assets\{0}{1}.png", this.gameObject.name, Count++)); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/Cutscene Items/Global Items/Utility/StoryboardEvent.cs.meta b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/StoryboardEvent.cs.meta new file mode 100644 index 0000000..e1937cf --- /dev/null +++ b/Assets/Cinema Director/Cutscene Items/Global Items/Utility/StoryboardEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 069e8a09026ace249bb9b7c844f0355b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Prefabs.meta b/Assets/Cinema Director/Prefabs.meta new file mode 100644 index 0000000..1894107 --- /dev/null +++ b/Assets/Cinema Director/Prefabs.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: d860b59f3637f5a4d91c67bd0fbe7691 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Prefabs/Cutscene.prefab b/Assets/Cinema Director/Prefabs/Cutscene.prefab new file mode 100644 index 0000000..acd290f --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Cutscene.prefab @@ -0,0 +1,54 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400000} + - 114: {fileID: 11400000} + m_Layer: 0 + m_Name: Cutscene + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400000 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dea88cf454d6b69408653729ea66ec34, type: 3} + m_Name: + m_EditorClassIdentifier: + duration: 30 + runningTime: 0 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100000} + m_IsPrefabParent: 1 + m_IsExploded: 1 diff --git a/Assets/Cinema Director/Prefabs/Cutscene.prefab.meta b/Assets/Cinema Director/Prefabs/Cutscene.prefab.meta new file mode 100644 index 0000000..96ba048 --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Cutscene.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: e4be95785bf9a8544b21596188075801 +NativeFormatImporter: + userData: diff --git a/Assets/Cinema Director/Prefabs/CutsceneQueue.prefab b/Assets/Cinema Director/Prefabs/CutsceneQueue.prefab new file mode 100644 index 0000000..1e14ae8 --- /dev/null +++ b/Assets/Cinema Director/Prefabs/CutsceneQueue.prefab @@ -0,0 +1,54 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400000} + - 114: {fileID: 11400000} + m_Layer: 0 + m_Name: CutsceneQueue + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400000 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8064d87a4dc950a4b800cb8c5341f022, type: 3} + m_Name: + m_EditorClassIdentifier: + Cutscenes: [] +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100000} + m_IsPrefabParent: 1 + m_IsExploded: 1 diff --git a/Assets/Cinema Director/Prefabs/CutsceneQueue.prefab.meta b/Assets/Cinema Director/Prefabs/CutsceneQueue.prefab.meta new file mode 100644 index 0000000..5e849a8 --- /dev/null +++ b/Assets/Cinema Director/Prefabs/CutsceneQueue.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 117e764eac8894949953b87768b7d353 +NativeFormatImporter: + userData: diff --git a/Assets/Cinema Director/Prefabs/CutsceneTrigger.prefab b/Assets/Cinema Director/Prefabs/CutsceneTrigger.prefab new file mode 100644 index 0000000..312d5cc --- /dev/null +++ b/Assets/Cinema Director/Prefabs/CutsceneTrigger.prefab @@ -0,0 +1,70 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400000} + - 65: {fileID: 6500000} + - 114: {fileID: 11400000} + m_Layer: 0 + m_Name: CutsceneTrigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400000 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!65 &6500000 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: deaa21a8e28e0a34e8c6d465b485c807, type: 3} + m_Name: + m_EditorClassIdentifier: + StartMethod: 0 + Cutscene: {fileID: 0} + TriggerObject: {fileID: 0} + SkipButtonName: Jump +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100000} + m_IsPrefabParent: 1 + m_IsExploded: 1 diff --git a/Assets/Cinema Director/Prefabs/CutsceneTrigger.prefab.meta b/Assets/Cinema Director/Prefabs/CutsceneTrigger.prefab.meta new file mode 100644 index 0000000..cfc5140 --- /dev/null +++ b/Assets/Cinema Director/Prefabs/CutsceneTrigger.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: ee09add0d202f1645abb11f28dc33cc3 +NativeFormatImporter: + userData: diff --git a/Assets/Cinema Director/Prefabs/ScreenshotCapturer.prefab b/Assets/Cinema Director/Prefabs/ScreenshotCapturer.prefab new file mode 100644 index 0000000..8128c7c --- /dev/null +++ b/Assets/Cinema Director/Prefabs/ScreenshotCapturer.prefab @@ -0,0 +1,54 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400000} + - 114: {fileID: 11400000} + m_Layer: 0 + m_Name: ScreenshotCapturer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400000 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.2929306, y: -16.5007896, z: -51.3662491} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a66d90914943cc04194592e2ab601eaf, type: 3} + m_Name: + m_EditorClassIdentifier: + Folder: CaptureOutput + FrameRate: 24 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100000} + m_IsPrefabParent: 1 + m_IsExploded: 1 diff --git a/Assets/Cinema Director/Prefabs/ScreenshotCapturer.prefab.meta b/Assets/Cinema Director/Prefabs/ScreenshotCapturer.prefab.meta new file mode 100644 index 0000000..50a6934 --- /dev/null +++ b/Assets/Cinema Director/Prefabs/ScreenshotCapturer.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 3f6de491b988e054f875176c9289cb63 +NativeFormatImporter: + userData: diff --git a/Assets/Cinema Director/Prefabs/Themes.meta b/Assets/Cinema Director/Prefabs/Themes.meta new file mode 100644 index 0000000..547a84e --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Themes.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 06d798669c634f24d9d3ff71cca2ad61 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs.meta b/Assets/Cinema Director/Prefabs/Themes/LUTs.meta new file mode 100644 index 0000000..04e6924 --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Themes/LUTs.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: cd494e1728136524eb44830dacfbc403 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/BleachBypass3D16.png b/Assets/Cinema Director/Prefabs/Themes/LUTs/BleachBypass3D16.png new file mode 100644 index 0000000000000000000000000000000000000000..651ab073c3c7f2dec0458c8be6e2497a5a3a131b GIT binary patch literal 18739 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/CrossProcess3D16.png.meta b/Assets/Cinema Director/Prefabs/Themes/LUTs/CrossProcess3D16.png.meta new file mode 100644 index 0000000..eb6c38e --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Themes/LUTs/CrossProcess3D16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 991926dd931d51a4da7ddf5060b3f22e +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/Dream3D16.png b/Assets/Cinema Director/Prefabs/Themes/LUTs/Dream3D16.png new file mode 100644 index 0000000000000000000000000000000000000000..605a655a414c19cd37f44ad4f09180539c3109dd GIT binary patch literal 22009 zcmeI4cT`i`x9>N-7ex_ihK{rldO`@j_a>ksgd`Lxp-Ge8QRzwt0Tqy@f`UjfR7Iq! zC`FKF0Vz@y1a8!G)RS`#@Auxjciex-0J7(rYkt?-pS9-NYcs~)aYhE3bkwZW007Ww zYpIz401^HWV5B6*|Mj^e!-@Z*a@Vr*0stDOZ@)x9Rt^gQP#Zd_su~$NV!g3mj#zh) zwyG+~-4ko?2WfhYNG#D4GBw zzh^X*08T#}C(a(T%P^~wd73CRk_hLWET>BudI(SoNKh#Plr)G!b2Io&fqYWHwhLu9 z1sI6}wgMq=9w_fUaX}rh6bBC3>$X9GSE7Kp zwuQYGaJv@3^)S*@0hF|WxN&UMae(wZVEdSd#}A0i1P*B|TfjdFS2Dg6!jsCZg4gjv z)x%Cvih593Scq{7_GljwJ|u%AMrJ9AwfJWql?an!c(d{p0P>R$+-O$j?^zMVs0O&K5bNKnhVv?6hXJ5D9#cst*~ zE_!lYWQznbE)Cp1iy%6mELviXB3aiJV6^ncO>O|day_>BxgaG;sAI%LukY@n;72Fv%k(7DOf(>C*q{@#enUGw= zu|#$kEO`jjUaHp2&-sOLA;7c2eodhJtQcHwq@L(bnnDKn9YMU(Y z!8lb3fx0AO?K{`a1`ZBr47i!_d=R;rEv3cEliE3qcCMm;UKRlfKaQHtoo=0$oMxNm zT0TXcYp3LK{j=$$pvjZ7I!9+1XQXDxF&Prd=GU@JUY8V@9gt2usZvo;V{*$lri4lA zTo$xDf>~SlMn&P3XRMA#95( zG@FHj#o?$g%dHH(qNC3)9(`mcE(@8Y-K2V+R%TwBYcyxdX6kTLz9gp9p#*EDcsh7^%oUNZx%pRC3Pe% zs!did+bdE`Wq5qf@iw4(Cs>@m5`1Co(BkpQ<7`DzdUX)YY3I_k^fb#dtuo^>&ACRI z%K75lqDJ+4tF174>xYNoz@7P0LF@LfgXvZWdE)*BPW5l;sUNwBG(y(^+$~_UP@ISL7p=HLf*5NC&$k4z=x-tqZA* zsX-5d;gb-dR+tS15n)^f9}vs>m%Ms6+0EI2L1 zj9z^zb@h0jm84f+>toe7#xwnjG*_>PJCBzK8>$+HIox~414e<9Eh=8#uD#(~x`A9g zf>=j*UY$Zr!DYuJ#;k0f%HnDt*LE4UV)JaG##KXjcG0^5yZu0MC?AmnNnDt6*eT+z z&jEp44-*t&BbfE7p?T#?`E|;Nl@r4&!e^Q*xEvpUOse48c$d+W+~Y(aWfc5=u#W=y z7J0EXm{uSvCdwjOF~L37lC>X_F74Yts_HeawyBn;HkR!GF@)X{)sYrLl!~2&56eD~ zdZ5@LW^eWMg=Ma#wu>%1R7|K+#?7T^{OkNm%w+B)&D8lL8Q{m(?*0WmEvr$*%s0gj zionv8^kNOuCx z-JL(!a&RK0=0>!xg(!#R+s5*<&?>lx{|NQeVKU+96XfOa`xk12TwfTL&0C~b1~>8t z=sSmU^j>epNCMsxd^yR#@p(WUA{2p>MI+qP`IPOB_p^+o$heKWoj{428 z#bBR2%pARZ_hwmJ9lFxu(6HkY#K2q zGS`1${{pk6y;Z%TSQ%IP;d9!St96BetH=B!k^z!!3Lg5Jmvzrya11DznIsMh&uP*> zI@Yw4yXY%QCqri*pVKkPrOk@Ed(^)J8!@7fh|wA=k;o%|0m|%!54W@h1ZQM0oaZ9jkR&+*TJ3w+dW8d=!3=aPMV(w*6e@1^n`f_^eL)X9?+q1a2qqjyn zS~@tJI{hReXI4*a%{Tjw`f@B@8)q<_4g`e=?mB+Cvu4^?yp?)1HFcMiBxB_(N>X$L z0AQ?6W|rQT`g$-F)>RCN#@b=T{9N7f8&Lp&EBd)3QO+1|kR8Us$xVTKvHl@9$O)~$ zZ6U2MuJ5jjadgrO@Whw~7?_~~oKa9Tw<3ZX?gzsQxMIAKAU{_ZH!ql<0{3@a82#b`ud9bN{V4U9l#JM6bcrX z082=S;%kU{`MY@|{Y2focz%fdsiTJRLU}s5dplv>K;LwccGz>?3f$b^8v6P9UXi^#?mVMX(>z9Sji@2mezL8uc^A{hX)E_pYH)V2lgK731dZg^z>$W1Rb+oByBT ze`)fk`(GQzkBPqiKL`KWUsu6_rs|17dSgA!uvizwk6HHX z{t18kB&d%>Ik|nipE?c)6W0GV*uSJOYDjMk;@e~tg-GCMq8S7VgGj?9Afn>ZFmdtU zM1IsH(9p-Co$USp)Q}Pt|Mp`Bk%Hl)CFJnOKQ(@jsgBb;234j8bzn*$vDtMIp)Kc^H-73+fa#CHpWkc5N(srVnG@HeSOKkiWxUM89< zAZ>M383}8M=l5*0rq9`d8 zQdCMp93^UJhp`hyVUXfb2}yA%27{OXTln9k)v%~@-%{=mX*6D1+}<7~XAhMSMcYZ* zi%Lmh#aB=#+u(=~Wy)fU>R)PD^y#2Wn{#@w3#e7eH7!vhu zNkpK&WfcYu2mht?SGRsf{t@Q%_W}IRDF4v^E&Six@O8wv?Uk56q`uescM&hFy|*vY z6Qk^apA-Mb1>=Y0Ut}~Gj+M5r7cOMr4kiE@)Tzm5&@b2Rx0J68ak85u}1m1mI1VHvS z_i^pbhrqj!ivY;p=AO8ye?9Ptal=35>5G4yQ~hu*{%s@x2&HAB4*&st01z4h0AF_T z-yZaNS*c6*~4gA|ocC^)$&HRS%p6p6My*y{_tk^Tvq{UojS*}_3 z!nHF+2i)9rvkD33dr zk8;rU9iELulT8u6sDtDzZ-_{q=6$WC;K$`W$hYo0b}HEA1IqB~Orcg7DY}qU!suhC z;yD~`fSLm4!R4=7U5Vv^DNlM$_=JtZSdHVD9alRQSKl0h6@#tBZomiDNp2lGzb$o7 zjmA4H?IRB?zg8gRWrXA_$V$qZNtWht@SE2HW5GEA`2ys&l(cP!GGx> zrWjDD+98=kXtz=z7*lbPa@2ZZI!0H&&eH~v+Gtr-1>qKg=7V#Ju3qm{%?2dj#EMV? zl#vQwws_t{2Eu3bhA9RVt0q*lzw&mAeH1hTlGH$q0KWHmN(LFskKYX_^zGcyN30GR znw;l8mC0Lsm2rJqwz!WhsME7!y?{QkBKZAhsXOVQ*e%tof#=ArBt$dCNEr?%(kc1` zW+inR$BZbO>@udu^7)J1=jA*LmkGYSB+|KtaQ*WhQEMjA1G&(?hQi%k7E{I1(|1N2_P^A{!(%NJBp~NR1e$jb%8B~&Q*LI$pl$VP#u40)Q))Wv8y@OObu3?_R1s5C@ z0_TfMm7wDsdc_4~iIeQ|TMjx=j$M^_f}I*N&0}OEK4^C+3Yt$D=MmDeJvtfldD+mC z(OH>Njf?p$3m*mQ^zkdrp)G!Te5W&_;;XaJ≺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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/Dream3D16.png.meta b/Assets/Cinema Director/Prefabs/Themes/LUTs/Dream3D16.png.meta new file mode 100644 index 0000000..8be0e0e --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Themes/LUTs/Dream3D16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 1a2fb6928f03e0742ba8d0bdd95e7399 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/FLIR3D16.png b/Assets/Cinema Director/Prefabs/Themes/LUTs/FLIR3D16.png new file mode 100644 index 0000000000000000000000000000000000000000..e59015d10e422bc6e54e590de131e6109208943a GIT binary patch literal 20558 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/FLIR3D16.png.meta b/Assets/Cinema Director/Prefabs/Themes/LUTs/FLIR3D16.png.meta new file mode 100644 index 0000000..165084d --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Themes/LUTs/FLIR3D16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 64d74ceaeeb975142a5f5824c83615c6 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/Horror3D16.png b/Assets/Cinema Director/Prefabs/Themes/LUTs/Horror3D16.png new file mode 100644 index 0000000000000000000000000000000000000000..245b3430d8ffc77a871014b275e1cb42317bdccf GIT binary patch literal 22611 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 N?5vzD^DMUR`fpaXe~bVC literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/Negative3D16.png.meta b/Assets/Cinema Director/Prefabs/Themes/LUTs/Negative3D16.png.meta new file mode 100644 index 0000000..95ab73c --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Themes/LUTs/Negative3D16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 4da68ce732bfffe44a41667dc228d474 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/Noire3D16.png b/Assets/Cinema Director/Prefabs/Themes/LUTs/Noire3D16.png new file mode 100644 index 0000000000000000000000000000000000000000..ef5f0250a2c2579311fe2dacc400001795a7660e GIT binary patch literal 18392 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/Noire3D16.png.meta b/Assets/Cinema Director/Prefabs/Themes/LUTs/Noire3D16.png.meta new file mode 100644 index 0000000..5a546d6 --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Themes/LUTs/Noire3D16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 98b5cf5f0ff38ad43a4a0407a02ca51d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/Posterize3D16.png b/Assets/Cinema Director/Prefabs/Themes/LUTs/Posterize3D16.png new file mode 100644 index 0000000000000000000000000000000000000000..fac951846cebd3fbc0b6347785fea29de511992e GIT binary patch literal 17737 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/Posterize3D16.png.meta b/Assets/Cinema Director/Prefabs/Themes/LUTs/Posterize3D16.png.meta new file mode 100644 index 0000000..9ea48c8 --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Themes/LUTs/Posterize3D16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 7504fafd1dee4ae408fb22b8b9e4e99a +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/SciFi3D16.png b/Assets/Cinema Director/Prefabs/Themes/LUTs/SciFi3D16.png new file mode 100644 index 0000000000000000000000000000000000000000..55b0c0920e06f272fbe6acd221205783db2db9b4 GIT binary patch literal 17811 zcmeI3dpuOz-^aJZala)}NoUYSGBak}nlZ*@TyqN}qx&{9#)O$MGv!h_B$qBHN#zzt zb;_+&6bXfd5~6fLsgTs6=TL_(cs6orSM!|b`Tc&c=bxDuGyA)~>-$-2z1RA#z4jk_ z?;2-YIq8Mc0079@+gZ5*fCzL6C`$eWeQ&>Lv>5u4;@Eld06=E$_`e8{a(q4jNV_me zq%~`N*?cz7m(4-glSl{-m+iy!rvpH6YnnTQ?A|-ibm-|jONZF-BMxjg6-k7f<^FKx z_+>g8Qi`i%HBLNMajlqRZ7rr&n-ME|@L>1>6<1x^ebSF4x-?E6j64;)@AjwXJ5KpM zC>?rPKYIBgvFGeyT0x^kxuondJAGHfaM^6j#dDrT)>KtL??RbJNH5_){Vt$s@J6&m zfZ;F#VWnod#5F)9_@0a;Q0|mkuD2*=OyRX<@&=LcJtF1&_*D*);mUw{=t0XffVquG zcv{jjcOXLy*iuLJ?gZ8#fi25_eR&TEPa96&Ap)#FqM;&^5f32d(qpXvUlZVLq?i}rI%;lH^z;k|B)2J@GU}3n4czD3*$)){b zzMEt+whis~$yYGH3}p1SdJb~N*;t=ARQ&jHcURY=)m4`3!P}m@Mj4fx%RNW@KZFrJ z550eO?ZuJ^?8XRNvEgTxciuUkUetJ4YL9pO%Q)N5MKWWb)$eIm*?SjLbd)!f1 zr5qT}67Mmhr+pHYa87()gH^xOo|=ce$4q znjSDZ(Q`M~SD`hINUG5*e>Go1zsg?^Rei(q;woLK1Zv$y&9kz()eA4IJu6zW_dT`o zVvv|pgmt-;kywx=0$gliM{%S$KeEe0ELvhPr&Y>WN_3BF<#Nr0EQd?WuFm;THQyVH ziJ{o(YCTYjn~PT55lgBvUZS*@gk4^I=qLM&e~_D%nr)g{Zd$#%*{KG03$+q%wbK0Z zC2&V{5i4t>y3)FCbm@1gb!iN&mrnCG5By`;{e`yM?X9a9bSrinbc@rIuofPtQrw>W;@J9+fpLSI$iA?Ep4{Ht@G99`_3c-OPJ zuGjWe;w#a2L9%kuDv>p@4DAJ}^Cjjp76i>dpX7LE!M*(pYRG!Vm^Vp1$qLDA4~kBq z&Q6v1+tNo@A6<4-O$SZR&N-9wG)Kl`(4&qVm%Yh-SDuZBzI$i3)cs?*9yw`i-ngr| zGqO#xVsaQ+Y_i!OVO}G9#l3Dg-f$uP;hJ%Ab7yHaLWa7aAXrz!PcAolTZCcNvWxYP zcW&1yNg7cv*>9SYeF8_)U#;(1;5K-~$4sI#DRB5W-&v|hJ2P=GY~NGmw<}((P&;Gb zSd5`>@XI-tc#M*3m+P8q`=-n&uP-z0Oqq3w*QW@1i<;HTH!Qbh#5Me!*5m%z{Yj>D z<~%1;{QEpqj^Amu6D3wb*IAkUN$J-%g{M2RGoOZ(^?Y2k3q3*}3HX@#-d2_(ULdkZhQ0ig}3bN$p8}nA%aaWnJ((-NLNG zD|Gw(u61X;`U^{0QR{GCrzsxmHWt{NOFOspLCLw2%sH9G&I!)B=?@q;F8oz^t1!E0 z!G-Qe;%#|_0foCjhPNuC=w{xH{)DoGT~~MgHexCv7xP#?SACs&81E8S8NU|)G^OEq zzuB&v?~e7N8I(rF#z*>{g>&mxR58=sQ}5X_R2jv*$idkCdmVPyp%RIxRJH0SwPjta z`R@ZaJ`ZhvpO#vXTG^M?cD~=JpV=SN{`(z+-&dr2>GSU1s3kpf?QSxY`TeM#U&q-n z7m`Z^<8qG{nu?D1JooTI(dnR^A@Hp#@oysc_fBFb!T2fmsn_N^#^pt|MRhJW*y)?2 zI!M22jnT$J$C`l5@TDRQ(Y+BC5$k{YG#t89j4m{KtJ32QrE+R4n3lpWEGC zaZbax_RmA-G=_ST8sZz6@=JW2KTM4bkR}HS3Rik{o?zB+SDE9sii*P8NJR_F>wT{ny zgE24CUdVLrP)$PDZsdfVXsCP_l{qgPrKF2LX6_j4yz0n*St#mc%{#DkU~bUTgVG_D z>Xi&lbdyn2>?6_!oyE=rb~;X>hyRQ(H4IsDQ~$JXck!O(*@sFUm|94wU_$d|83odPOR5%D~T*56`#6JxKc{bywy-|Vn+Uh{EqyQ zY}DWUA5N};;^APcHYVm2If3p8nFl3guH>Y>_*r$Mv z=bQrq`)Wj+MMosGISG>WmxIeV)@(!P&UbS@Nh9~dJ zLjIaJ_MjylXZoaUFqA!XbLf4?yeDDY=}AnB+4|A; zM{nDI-C7=$G1$~@J0uEoAgyg9PWh~cck}oCaICuxGY_D z^yFw=p6Wbw*l^36hYd|hO(zlu5)-Zm>^wd4y8O+8^KI3Y)r+s)3f9MLdbjpdUqw)R zkowzG9SSa8I}yKXkNJMM_}=|)=BI=O2?=9jqDh0Fsrtw^0KhL~k|}(OlOvwW4nTo4 zwl^IW9KeANq5wcJ3+8}SKRO@bO=mD!rkZa{u4^KgG*eAaLnl2a4vFr|vUX0d6OjP0fnQB^$H;AA(twE63 zTsp!KWr(EeVKE3}913G-fWu&P5m-HpJ{qHk#^R6|4Bo&Pk1;}g`DhZQp(_HH=7V>$ zviZ^+WSMIE^7$M*8XXiAgbLC}vAGO128Y9;^{{9x775ir@>>7lT0>0Zck8iylLhuFY zSItgE^2i|^I@*oSV{hY9>DJq!p=fiQ|hAiNQiE zk&MCNF@|_72B~L=*VCINGFcO*;l!pfeL|)*43K)`e`Jh49+ELIg081EX4QmiK*>V` z`QSfNnO%354vmWUVRHjOK9Ly!GU#Xyi$Oro6wazSy`=CYwm+K-b&F2aC!oJq{M{(% zA$85&pfIupwkZ_ncKK^B#6Z$*R(P)sHbZ%i}P zr(z80NF#ki1EhgI9Yo?lXfHFy;;hqxSfqimk3Mo04Z6aD#>O}wW15~JNS~6P756}_%kOqHV(+;(Z|!)RC6kCr+32Xjcz<30&nQpo&kFx>8$rHwmY~F(l$xmZV-X(PhaUuT z=@txVP5h4=#-!xeF>q}Hdi?(3&-@R}0uS8&ug$?fOQQe79QE)JY}zI#^Xr_N+6unSLBjam3=icmw3fh$yn%MSZ^~v`o~%z9&qM!h6ZMU; zde8?t_CTL6p|joaP%puuv)%B}nMe;7lTXBcX$@99D{B0fJ9$fRhfardA~ZC35xn*q zW-#5KV#S2^Ti*CCf;BYy5(M{rH_~e+67yByEXS9?$$6S}h?~g1$x`Tu2%S#R)5p_q z5_5X<`gdN;jOgE~3eyrc0s|u06yg%h2j&&xf&me13ULYM1M>=T!GH)hg}4Osfq8|v zU_b<$LR^CRz`R0SFd%|WAuhpuU|u0E7!bjx5SL&+Fs~3742WP;h)XaZm{*7k21Kwa z#3h&y%qzqN10vWI;u6dU<`v?C0TFBpaS7%F^9pgnfCx5)xCHZod4;%OKm?mYT!Q() zyh2CW8#dHG=MDiJrF&JJpU~7w<5ZYk0fyLzJo;MW#hbIRv<=)Fp9fQMfW2C|X)8 zVrL<7SJxs8xFurum-r#1MZClzUFeHL*{!LtrAW+rak-DwzBdX0Fg7L%)XOTFWDZ}Q R2lWxKw|2J5v)r=#zX2U;bin`s literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/SciFi3D16.png.meta b/Assets/Cinema Director/Prefabs/Themes/LUTs/SciFi3D16.png.meta new file mode 100644 index 0000000..13da69b --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Themes/LUTs/SciFi3D16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 4436e6473114ee3428f90966e7d8c882 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/Sepia3D16.png b/Assets/Cinema Director/Prefabs/Themes/LUTs/Sepia3D16.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb7647b7851895c0be397696e7259298009a2cf GIT binary patch literal 20727 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/Prefabs/Themes/LUTs/Vintage3D16.png.meta b/Assets/Cinema Director/Prefabs/Themes/LUTs/Vintage3D16.png.meta new file mode 100644 index 0000000..fdc608a --- /dev/null +++ b/Assets/Cinema Director/Prefabs/Themes/LUTs/Vintage3D16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 11a6d5db4204204419476b592e65f05a +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System.meta b/Assets/Cinema Director/System.meta new file mode 100644 index 0000000..6e520cc --- /dev/null +++ b/Assets/Cinema Director/System.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 4af6530ff838424449b765a5cec48ca1 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Common.meta b/Assets/Cinema Director/System/Common.meta new file mode 100644 index 0000000..f2ee325 --- /dev/null +++ b/Assets/Cinema Director/System/Common.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 06e73ca0d2634ae4b94719ac1d07992d +folderAsset: yes +timeCreated: 1461606313 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/System/Common/Reflection.meta b/Assets/Cinema Director/System/Common/Reflection.meta new file mode 100644 index 0000000..77e23aa --- /dev/null +++ b/Assets/Cinema Director/System/Common/Reflection.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 985ade49d8895e149a1b5d53e923c0fd +folderAsset: yes +timeCreated: 1461606313 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/System/Common/Reflection/ReflectionHelper.cs b/Assets/Cinema Director/System/Common/Reflection/ReflectionHelper.cs new file mode 100644 index 0000000..7884325 --- /dev/null +++ b/Assets/Cinema Director/System/Common/Reflection/ReflectionHelper.cs @@ -0,0 +1,116 @@ +using System; +using System.Reflection; +#if NETFX_CORE +using System.Collections; +using System.Collections.Generic; +using System.Linq; +#endif + +namespace CinemaSuite.Common +{ + /// A helper class for reflection calls, that allows for calls on multiple platforms. + public static class ReflectionHelper + { +#if NETFX_CORE + private static List assemblies = new List(); +#endif + public static Assembly[] GetAssemblies() + { +#if NETFX_CORE + if(assemblies == null || assemblies.Count == 0) + { + var folder = Windows.ApplicationModel.Package.Current.InstalledLocation; + var files = folder.GetFilesAsync(); + files.AsTask().Wait(); + + foreach (var file in files.GetResults()) + { + if (file.FileType == ".dll" || file.FileType == ".exe") + { + try + { + var filename = file.Name.Substring(0, file.Name.Length - file.FileType.Length); + AssemblyName name = new AssemblyName { Name = filename }; + Assembly assembly = Assembly.Load(name); + assemblies.Add(assembly); + } + catch (Exception) + { + continue; + } + } + } + + var typeInfo = typeof(CinemaDirector.Cutscene).GetTypeInfo(); + assemblies.Add(typeInfo.Assembly); + } + return assemblies.ToArray(); +#else + return AppDomain.CurrentDomain.GetAssemblies(); +#endif + } + + public static Type[] GetTypes(Assembly assembly) + { +#if NETFX_CORE + var types = new List(); + //foreach (var t in assembly.GetTypes()) + foreach (var t in assembly.DefinedTypes.Select(aa => aa.AsType()).ToArray()) + { + types.Add(t); + } + return types.ToArray(); +#else + return assembly.GetTypes(); +#endif + } + + public static bool IsSubclassOf(Type type, Type c) + { +#if NETFX_CORE + return type.GetTypeInfo().IsSubclassOf(c); +#else + return type.IsSubclassOf(c); +#endif + } + + public static MemberInfo[] GetMemberInfo(Type type, string name) + { +#if NETFX_CORE + var members = new List(); + members.Add(GetField(type, name)); + members.Add(GetProperty(type, name)); + return members.ToArray(); +#else + return type.GetMember(name); +#endif + } + + public static FieldInfo GetField(Type type, string name) + { +#if NETFX_CORE + return type.GetTypeInfo().GetDeclaredField(name); +#else + return type.GetField(name); +#endif + } + + public static PropertyInfo GetProperty(Type type, string name) + { +#if NETFX_CORE + return type.GetTypeInfo().GetDeclaredProperty(name); +#else + return type.GetProperty(name); +#endif + } + + public static T[] GetCustomAttributes(Type type, bool inherited) where T : Attribute + { +#if NETFX_CORE + return (T[]) type.GetTypeInfo().GetCustomAttributes(typeof(T), inherited); +#else + return (T[]) type.GetCustomAttributes(typeof(T), inherited); +#endif + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Common/Reflection/ReflectionHelper.cs.meta b/Assets/Cinema Director/System/Common/Reflection/ReflectionHelper.cs.meta new file mode 100644 index 0000000..1813076 --- /dev/null +++ b/Assets/Cinema Director/System/Common/Reflection/ReflectionHelper.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63cef700b6c5309449ee3c74a2e0d695 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Editor.meta b/Assets/Cinema Director/System/Editor.meta new file mode 100644 index 0000000..7d22b7a --- /dev/null +++ b/Assets/Cinema Director/System/Editor.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 54d0ffc57dadc7c4f941215da4cce7df +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Resources.meta b/Assets/Cinema Director/System/Resources.meta new file mode 100644 index 0000000..175757b --- /dev/null +++ b/Assets/Cinema Director/System/Resources.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a77dba6b3c864c745b676c22e987ccaf +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Resources/ActorGroupIconFree.png b/Assets/Cinema Director/System/Resources/ActorGroupIconFree.png new file mode 100644 index 0000000000000000000000000000000000000000..9583ca54aa370996c102809a6e71462eaa9c51c6 GIT binary patch literal 52401 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 I>E6Nr02WG);s5{u literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/ActorGroupIconFree.png.meta b/Assets/Cinema Director/System/Resources/ActorGroupIconFree.png.meta new file mode 100644 index 0000000..2238ec4 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/ActorGroupIconFree.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 7081c752d64ffb04fa1fc3b969c759b9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/ActorGroupIconPro.png b/Assets/Cinema Director/System/Resources/ActorGroupIconPro.png new file mode 100644 index 0000000000000000000000000000000000000000..ca5a544a5304a1f465486b034f3084ed1948936e GIT binary patch literal 53114 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ö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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/ActorGroupIconPro.png.meta b/Assets/Cinema Director/System/Resources/ActorGroupIconPro.png.meta new file mode 100644 index 0000000..c36c8dc --- /dev/null +++ b/Assets/Cinema Director/System/Resources/ActorGroupIconPro.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 97f44645fc725c149951b358d976e5af +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/AddIcon.png b/Assets/Cinema Director/System/Resources/AddIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..a3b6077fbdbd3a9ab8ace90402cb1d0c599a0689 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxL735kHCP2GC{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKs4C9W z#WBRffA3jFt_A}hmVP-+_-ks&v R!veI4!PC{xWt~$(695%tN$LOq literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/AddIcon.png.meta b/Assets/Cinema Director/System/Resources/AddIcon.png.meta new file mode 100644 index 0000000..cc03246 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/AddIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8e41bfd084f9e994ca6817458e5b4bcc +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/AddIconActivated.png b/Assets/Cinema Director/System/Resources/AddIconActivated.png new file mode 100644 index 0000000000000000000000000000000000000000..855ed533d06de52861299055701f4e2c38997b7d GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`R{j-xfP*sSh zi(`m||IsrCIT;jrTmqx-%-Uwz9d%;T;f6MSi;52)_#%6L*a(7w^S;0CyvMTm z&QAw-?b3QFA=%zn|4c$wFBWv$`Trna4+#EV^jCoMldw!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`R{j-xfP*sAb zi(`m||K78WoDBv%E*JYA{hPca^o*yb`%hNq(1(gOleV}X5$h3^&^GX@YhNsRP^0$c zl>dAg7gD9!m+iBg@V`3q>2GGe+Yz&@bP0l+XkKce6^W literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/AddIconHover.png.meta b/Assets/Cinema Director/System/Resources/AddIconHover.png.meta new file mode 100644 index 0000000..f7eb0cf --- /dev/null +++ b/Assets/Cinema Director/System/Resources/AddIconHover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: c8e5a68bbe60b1b4ab61362718921314 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/CharacterGroupIconFree.png b/Assets/Cinema Director/System/Resources/CharacterGroupIconFree.png new file mode 100644 index 0000000000000000000000000000000000000000..4a10e9b52e7cd073ef64f947546a3f79d823e81a GIT binary patch literal 50421 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 LNkvXXu0mjfvT0px literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/CharacterGroupIconPro.png.meta b/Assets/Cinema Director/System/Resources/CharacterGroupIconPro.png.meta new file mode 100644 index 0000000..67deff6 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/CharacterGroupIconPro.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e1d5b61b21a4cd5438b34633a7d1e7b1 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Cinema Suite Monochrome.PNG b/Assets/Cinema Director/System/Resources/Cinema Suite Monochrome.PNG new file mode 100644 index 0000000000000000000000000000000000000000..6f9c1210b1ffe7b021ed05d5bc966fee3fd92143 GIT binary patch literal 3253 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 P?PlbP0l+XkKxP4u# literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/CompressVerticalActivated.png.meta b/Assets/Cinema Director/System/Resources/CompressVerticalActivated.png.meta new file mode 100644 index 0000000..6b7adda --- /dev/null +++ b/Assets/Cinema Director/System/Resources/CompressVerticalActivated.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: f6b45984b78c2dd43816fd0f6e3cfeb0 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/CompressVerticalHover.png b/Assets/Cinema Director/System/Resources/CompressVerticalHover.png new file mode 100644 index 0000000000000000000000000000000000000000..a383f80af9ec3e43c6e24cea8e63f7e6d0f6443d GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXfiUAMr;P`Ig6t)pzOL-|SOkT{Om2IZ?*s}-mAFQf1m~xf zlqVLYG6W=M=9TFAxrQi|8S9zq85+8Ob}|R5%J+0}46*QEI%7`0 zCcV40MNZ~OX`GX9;xk>z7e>m=v1ut4%^mBe)|6>=tZDPk;r;#9#Ykqa(7&${S58mR z{PddtuEuwxkS?D7$LZ%f7&SZMq_+RNDgJNTk*^mva6MIDyy`Gh9>3%=ZWBM@JIX+- O89ZJ6T-G@yGywqf&R&-Q literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/CompressVerticalHover.png.meta b/Assets/Cinema Director/System/Resources/CompressVerticalHover.png.meta new file mode 100644 index 0000000..b59f701 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/CompressVerticalHover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e836d8bc78f90d34eac4aa72d5080444 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/CurveCanvas.png b/Assets/Cinema Director/System/Resources/CurveCanvas.png new file mode 100644 index 0000000000000000000000000000000000000000..ffce9e51f6eb3ad3fb1ddeba066fa16aa51c6962 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r+UAk1jN8ms~olqzwJC<)F_D=AMbN@WO0%*-p%^K%VRC^ObG)iX47|LkNARAuVv z;usR){`QNS%G}c0*}aI z1_r);Ak6s6Y2yK)pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9ish**s`)4O}pehqj z7srqY_qXQ^85tCKm<>`ClK-8Z%FTOsqH?|8q|9H9(Mk%)V1s(Vq)O{U387ykui60h OGkCiCxvX$~UlT}9G+w)FFHyD!S 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/DirectorGroupIconPro.png.meta b/Assets/Cinema Director/System/Resources/DirectorGroupIconPro.png.meta new file mode 100644 index 0000000..278dcd7 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/DirectorGroupIconPro.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: b1438025fb60cfa46b80b39cc761cf5b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/DirectorGroupIcon_Light.png b/Assets/Cinema Director/System/Resources/DirectorGroupIcon_Light.png new file mode 100644 index 0000000000000000000000000000000000000000..5c1c246a8a5f76c43d03c55865da4fe8eff3a52b GIT binary patch literal 588 zcmV-S0<-;zP)z>%7<5HgbW?9;ba!ELWdLwtX>N2bZe?^J zG%heMHD!e|WdHyH%1J~)R9Hvt)xS#uVHgK+ArM*{{0sUsnjKmaqD=y!A-G96Tw7cO z!P%+F_5KAF8@h@xkxQhjOUl4H%4|4rux*HW-vdA`$1}GB&s>G~R+^7(gAWkmUBx1Xh72+i(hR&~+T=dNP@u6I#Q} z5Xxd%D7*s((0}|g91brdcb}N`b6$%B%w(aTt&eLc#+PPfrnR1{52mZRs z!Vd{axPnI*mCI$@bzSy;1-k!ArP58O({w@~(1KmAK4F8D05?=1lgSJW!{~UPxA1=H zM2f|tlS-xDk>|n%uwOlyvOvNfSTM?Fvwb>3u9>V>tF?7qr-x7+^BMfuSeX8SqzxG4 z^ZA}-Sxv5)AdVUPKY{MJ33HEm5oLiQb*`a|zG~Pvf_pfU^OvD4P_W81CHSl-q345M zugg%b$3Fl)^<8d&pwJL(?CnAl)= awAeSM^FsIMqL`xq0000&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM z&os5wC>5wC%+tj&#KM2+*=Vi<3Op`>({DY!73#YDFXu~9YY7X5>*3uU$`Z0LSh=o; zFTAwmrP$i?F#eL0*^B-@cbj=$U;6zS@&1GoDEy;;iyNS%G}c0*}aI z1_o|E5N34P_Yf$_AW`BPQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi>gnPb z65;;#oS`U#0?&~PRaWL-n>%JXIqp5Mm{~0EwBER ckiYMW`2D>{ZoIae{T3wc>FVdQ&MBb@03wz-&;S4c literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem.png.meta b/Assets/Cinema Director/System/Resources/Director_ActorItem.png.meta new file mode 100644 index 0000000..83ed015 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_ActorItem.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: d844ea1a332f6924f9c450d4e76f69a8 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem_Hover.png b/Assets/Cinema Director/System/Resources/Director_ActorItem_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..e2e0754212b33ae39beb3cf6516e235613dd71dc GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|E5N34P_Yf$_AW`BPQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi>gnPb z65;;#oS`U#0?&~PRaWt(jUBU`9QPhr%q*67a>5z=RjXn>UooaEQw1tV1`n98^*zpD c$lrHGoPElK^NrhIo&rgGy85}Sb4q9e0Q7@6asU7T literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_ActorItem_Hover.png.meta new file mode 100644 index 0000000..bbb33d5 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_ActorItem_Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a980d008dc7a4dc4485b0d33456aeeaf +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem_Hover_Personal.png b/Assets/Cinema Director/System/Resources/Director_ActorItem_Hover_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..27577552072f7f5bc0c17e2f720e7b1a67eeb997 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|k5N3SKen1B(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi;_2cT z65;;#+(JeprfuucM{an^LB{Ts5+h8}1 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem_Hover_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_ActorItem_Hover_Personal.png.meta new file mode 100644 index 0000000..a58aad0 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_ActorItem_Hover_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 4b1651e891abbe246be67071906b1cac +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem_Personal.png b/Assets/Cinema Director/System/Resources/Director_ActorItem_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..2baefd8c05ed34266769d92c74939d518f7ff408 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|k5N3SKen1B(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi;_2cT z65;;#oT4a$0nd>ORaU*5!z@^rUfsA?^vt1&4J`j(yem>&$u?o;G@xo^(7+#I-M5%= a&(EOP9d|wY!z_!+LDHVCelF{r5}E+Wi#Kop literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_ActorItem_Personal.png.meta new file mode 100644 index 0000000..9c96a20 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_ActorItem_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 10f70d14f9a9e2a48bd0a5107663a8ad +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem_Selected.png b/Assets/Cinema Director/System/Resources/Director_ActorItem_Selected.png new file mode 100644 index 0000000000000000000000000000000000000000..e8916a5becf0cceb2b510611da0af5878fa38fe9 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WSkfJR9T^xl_H+M9WCij$3p^r= z85p?vK$y{C-$S4zgG7mIL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TZ4x2KC^ zh=+GFN4}-A^^&)9*ft$dEM)7wu!5E4A^|M8S0}^vxPvmwCWem8jyabZieq0anJAUk Q12mSw)78&qol`;+0I5ei-~a#s literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem_Selected.png.meta b/Assets/Cinema Director/System/Resources/Director_ActorItem_Selected.png.meta new file mode 100644 index 0000000..6fee2a0 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_ActorItem_Selected.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: be2203cfe4452184199881d3462e1dad +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem_Selected_Personal.png b/Assets/Cinema Director/System/Resources/Director_ActorItem_Selected_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..900d6659f62a6ef0548d6ed62b0054ba153ca460 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WSkfJR9T^xl_H+M9WCij$3p^r= z85p>EL74F^`vD!GphSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TZ4kEe@c zh=+IbiFseAlzH5??d-IIsW! literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_ActorItem_Selected_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_ActorItem_Selected_Personal.png.meta new file mode 100644 index 0000000..bfffb14 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_ActorItem_Selected_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 6222d63769bc5f74fa8a03aa9b3283dc +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_AddIcon.png b/Assets/Cinema Director/System/Resources/Director_AddIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..bae64dd9860af1e11d5a9989a14a0e6cca0b207a GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J=4@yqg0@pI8PVH z5DWjkXBoK~40u=$+Ff1#^YVHfnEHv_MDtEc;! zrAlrdYh1aW|H=QjsGt8DPMb|zc8)zp{z$m2TjkS+#gYdj8aFaMF21ODdj5v)28~r9 Pzc6^Z`njxgN@xNA02WMg literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_AddIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_AddIcon.png.meta new file mode 100644 index 0000000..b9fb7ec --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_AddIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 0d549b7a473c68e4aa4865af6d75079b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_AddIcon_Activated.png b/Assets/Cinema Director/System/Resources/Director_AddIcon_Activated.png new file mode 100644 index 0000000000000000000000000000000000000000..755242c46797f28605202e6a9cb270b15d5ff589 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxL735kHCP2GC{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXn=;`7Z zV&T8{>_N^020YFe*UaGEb5P!g{C5%gF{$=k_^^)aVa`fi<6z9mIhC6*XHXLdbHLKCT#k)v;^8d*0 RS{|Tf44$rjF6*2UngA{BNWB06 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_AddIcon_Activated.png.meta b/Assets/Cinema Director/System/Resources/Director_AddIcon_Activated.png.meta new file mode 100644 index 0000000..db7845d --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_AddIcon_Activated.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: ce0052364a2350140b539af41e209fd2 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_AddIcon_Hover.png b/Assets/Cinema Director/System/Resources/Director_AddIcon_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..45b848ba694046a654d4ef94e8e6ab5332949244 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxL735kHCP2GC{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPW6=jq}Y zV&T8{EF)Kg0T0VTyQ}TLr_Y!i)VGP%IW$pVno6$VM%HB3V_ZFx?mx_MGw_PHdb*!k zs^sRe#+B>&pZt%D`uVTnwAr*}=h$Q9kA%y*RX%N4EO{`ZaU;{?;){CXlG~-9C4O`R P+Qi`L>gTe~DWM4frbtP! literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_AddIcon_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_AddIcon_Hover.png.meta new file mode 100644 index 0000000..3f99156 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_AddIcon_Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: ec1b24c70f92c9c439ca3e313be6d3d3 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_AltKeyframe.png b/Assets/Cinema Director/System/Resources/Director_AltKeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..eea00eab310fe24e57cfb6342527192307ae43c0 GIT binary patch literal 19719 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_AltKeyframe.png.meta b/Assets/Cinema Director/System/Resources/Director_AltKeyframe.png.meta new file mode 100644 index 0000000..78e831a --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_AltKeyframe.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8adbaa390ff906b47ba6623cf8f1af42 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_AudioIcon.png b/Assets/Cinema Director/System/Resources/Director_AudioIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d1fa007cd6501e5c353111658db1fe2bbb8500c GIT binary patch literal 19323 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_AudioIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_AudioIcon.png.meta new file mode 100644 index 0000000..92c83f2 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_AudioIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 5bee3aa360dc8a64c8eb534387767ecb +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_AudioItem.png b/Assets/Cinema Director/System/Resources/Director_AudioItem.png new file mode 100644 index 0000000000000000000000000000000000000000..c9b9636c8162d55871f09ffe6ed56015fd54c4b2 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|^5N4e8lX)pnP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5y2)zif> zB*OjeIYU7P1s)d13t#dc=`a=T)z4*}Q$iB}X#O>Y literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_AudioItem.png.meta b/Assets/Cinema Director/System/Resources/Director_AudioItem.png.meta new file mode 100644 index 0000000..78bbd0e --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_AudioItem.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 370ee70a022f21c42acfa9e863ff95ba +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_AudioItem_Hover.png b/Assets/Cinema Director/System/Resources/Director_AudioItem_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..b8f0fac5cbe9515b15875c68a90ac6e8075cc6a9 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|^5N4e8lX)pnP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5y2)zif> zB*OjeIYU7P1s)d13t#pNS%G}c0*}aI z1_o|E5N34P_Yf$_AW`BPQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi;_2cT z65;;#+(JPH1s)d16)&@wExK`I%E1Eyj@NS%G}c0*}aI z1_o|E5N34P_Yf$_AW`BPQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi>gnPb z65;;#oS`6t0uPJhg)g%<3W;VaH#aJ>itXF^Xx+WQ(3f68W(rC=j6mhcKz_q@n?9)z b&%7%cAN~k@|I?0*1tjh1>gTe~DWM4fRmL>= literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_AudioItem_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_AudioItem_Personal.png.meta new file mode 100644 index 0000000..811521d --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_AudioItem_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: bec33addaffdbc54893b6fc732c7dfff +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_AudioItem_Selected.png b/Assets/Cinema Director/System/Resources/Director_AudioItem_Selected.png new file mode 100644 index 0000000000000000000000000000000000000000..7ce0bfb1f4067d24b8d3c3044cca4b3f528db94c GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WSkfJR9T^xl_H+M9WCij$3p^r= z85p?vL6~vUPv)gSL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J=4@yqg0?8A5Ry@ z5D)KUj(kgJ>m_gJux&b^Sjg6UVFfG8MFLoGug;I%Qzp7`q%aCx7O-5-$Z&PlCl<#? Sw)Q}C89ZJ6T-G@yGywqjtULn% literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_AudioItem_Selected.png.meta b/Assets/Cinema Director/System/Resources/Director_AudioItem_Selected.png.meta new file mode 100644 index 0000000..7e88052 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_AudioItem_Selected.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 986c2b287a2c1fd4ba70c30741b1cbf8 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_AudioItem_Selected_Personal.png b/Assets/Cinema Director/System/Resources/Director_AudioItem_Selected_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd3e30b365f9475d23b6dc155c4356436e2902e GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WSkfJR9T^xl_H+M9WCij$3p^r= z85p?vK$y{C-$S4zgG7mIL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TZ4kEe@c zh=+IbiFseAlzH5?!lvI6;>1s;*b3=DjSL74G){)!Z!phSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7i zo@r{UQ7TZ4gQtsQNQC>_>xP013Op>1OOA4_d!!*cPeIFR kPbpA264=MUbMNySZuc`9{rop1_kv_RUHx3vIVCg!03)C|ga7~l literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Box_Select.png.meta b/Assets/Cinema Director/System/Resources/Director_Box_Select.png.meta new file mode 100644 index 0000000..a09874d --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Box_Select.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8d7e8875ef4c2df47b72299c02b5ea4b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_CharacterGroupIcon_Light.png b/Assets/Cinema Director/System/Resources/Director_CharacterGroupIcon_Light.png new file mode 100644 index 0000000000000000000000000000000000000000..3d6a280bee22d1188dacc5745993096816f12e6b GIT binary patch literal 1234 zcmV;@1TFiCP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGU0000000HV{7Nh_G02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&1Vc$gK~z{r-Ii-;lV=piJ2$O!D~jtJcDQ<3 zbUH`XM7+VgU^TKx)wp_@TGpjiI*F;eda0V&dT9cd7D_3FhJ3IUO6i4Cn6-q`54O;` z?b95LvCr)s&Kpyw)!#op5fPn9XZ+wFe&l)Iyze>Zd7g95^CrEHdIORTBXr|c>Mclv zC9nuSf;S=Il9LZ$A?$`Da0m)u4NQcD1)?RN1YdzSJw5#sm&>&{D=W*IoSghI_kxfI z3h#j?<+jmy+AY{{gYqY4$+-oJ+-~>h z80&<8`}_M_%gf8x_4W0gdqxm9o12?GCMVj=|37#{)AsZ&;R82`yHktieb78$10WF!H$lO!%@Q}B_;Ou_Vyyi zSB>w8xc)T|2(0bt>8WNsWbO@AR8*`t&JTkcld2(RjfecErl#E(>#3=!*<4v!xq)${ z+@j)ou)e-NPmWSkQ>Sz7h4XUG`=?+JSRw9GRI_oWrKQcV+wF7BzAED*Gn5z(G&D5i zt2}wu2Ss|`YPCiZk!$sdFF>|lC>Q{;44i~- zAP2sK5>T_61+x8I$(c?sMXKJd-maRJ;Zvsk8sMIBdJS$xB0w6qw6qkO#-n$X>6-l< zm<*%fxl)tS!v$J4_R^(Vj^gwAPW1Nnp2f*O#@Y4G&dyT($M{Ml0>pR#oXP=gIp9B? zJ}Eu80FG%XF>)1dJ;hz)M+zxWIWj?9H}@4pP|XKh`(X;iBsH5A5Fmg8jA$lW;-?ve zHYFp^YJYuN^6u{LO77n_0h}<~psbIpcsD-N62ZO=wQR?dIwh7(O%*@oDZUY6Z zSq4-AIKH7EV3W!G?JxmimXc5}u7b_*HMl^@sOGU2>|g_Z11yGpP!tY_&*1nD3@S+O z>9|&q`VxvuY7i=wcR@~MK((tR)d?o_%ve|kZY?*CRUMHwTv%ABey_%}6;#d%k$S{( zI7%|AEB2cGzo0GTz5>t|CG4wMhBZ^a*Xvz{<3CIQRc8P9!c<78G*h2B7ybfC=Y0T_ z2X8|{rDJ-BzJ76B$^w+BTXIj|iYn7#eRjnoZG&33OP^Zib4zEzCQxv%M5+$$wa$z$ wVKwOcKVixDEGdZhKut&0k?^H|os^XH5W{u!lvI6;>1s;*b z3=DjGL736~_k^`TLG}_)Usv{fEP_H}CbzxIcLIeZN?apKg7ec#$`gxH8440J^Gfvc zQcDy}^bGV&Q(KKvfohsOT^vI!{Feqa@-`^&JQj)n%<=!@<(CDs@6KSlwL~%7`=kb! z(k~b1w7v@yW-6Po6xJ#|Q>kWl;d?i6(ROiR9rakw^NaQ~$88X@t7Kcxz1=*>dyNiP z=$@v$`ez}H1>EV;0*uH0$fr!7YO|SdrdUGR{{xP$2Cw%?PR{u^aq*u>ho=mu{y*L2 T>9Qgh=o$u3S3j3^P6!lvI6;>1s;*b z3=DjGL736~_k^`TLG}_)Usv{fEP_H}CbzxIcLIeZN?apKg7ec#$`gxH8440J^Gfvc zQcDy}^bGV&Q(KKvfoeKET^vI!{Feqa@-`T7JQj)n#M1wPY5r#oVHuZchXS^*@!Y(2 zN}J;uo1-BziCTRI;+@;f&F*Qei0FA;ICr8%fS?qw_d@Q8-xpUOVc2n9!18JDJ}zPB zgMXzv>)v)Ybsg<^EZxo|_wHd1v(kbK+nHUi^*rwWC&_g5zO2Oz4%ff=$BxX_-!y$P bqmTJ~2`;G+{>6WQj$-h1^>bP0l+XkKaKU3W literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_CompressVertical_Activated.png.meta b/Assets/Cinema Director/System/Resources/Director_CompressVertical_Activated.png.meta new file mode 100644 index 0000000..3e1d896 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_CompressVertical_Activated.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 6b568da429d5c594b9976d40762f0d91 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_CompressVertical_Hover.png b/Assets/Cinema Director/System/Resources/Director_CompressVertical_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..d98a1bf69a8f5c55ae251432fc77720be1644dfc GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGL736~_k^`TLG}_)Usv{fEP_H}CbzxIcLIeZN?apKg7ec#$`gxH8440J^Gfvc zQcDy}^bGV&Q(KKvfohsOT^vI!{Feqa@-`^&JQj)n%(4IL^p^#*@6KSlwL~%7`=kb! z(k~b1w7v@yW-6Po6xJ#|Q>kWl;d?i6(ROiR9rakw^NaQ~$88X@t7Kcxz1=*>dyNiP z=$@v$`ez}H1>EV;0*uH0$fr!7YO|SdrdUGR{{xP$2Cw%?PR{u^aq*u>ho=mGmcEv& TX8BSFbPa>2tDnm{r-UW|`xIV$ literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_CompressVertical_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_CompressVertical_Hover.png.meta new file mode 100644 index 0000000..a505e0b --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_CompressVertical_Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 6ba52ef8683e88048906cecd35ba6344 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_CurveCanvas_Dark.png b/Assets/Cinema Director/System/Resources/Director_CurveCanvas_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..ffce9e51f6eb3ad3fb1ddeba066fa16aa51c6962 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r+UAk1jN8ms~olqzwJC<)F_D=AMbN@WO0%*-p%^K%VRC^ObG)iX47|LkNARAuVv z;usR){`QNS%G}c0*}aI z1_r);Ak6s6Y2yK)pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9ish**s`)4O}pehqj z7srqY_qXQ^85tCKm<>`ClK-8Z%FTOsqH?|8q|9H9(Mk%)V1s(Vq)O{U387ykui60h OGkCiCxvXNS%G}c0*}aI z1_o|E5N34P_Yf$_AW`BPQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi>gnPb z65;;#oS`U#0?&~PRaWMuVX{9Q9QPhr%q*67a>5z=RjXn>UooaEQw1tV1`n9S-aO7= b$lrHG{4wJx8wQho{UB*iS3j3^P6NS%G}c0*}aI z1_o|E5N34P_Yf$_AW`BPQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi>gnPb z65;;#oS`U#0?&~PRaWs|gJpj>IPN{Lm{~0E{2%p literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover.png.meta new file mode 100644 index 0000000..a4b23bf --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a512af9ef903fd24ba3a5e27424ef025 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover_Personal.png b/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..0d861f217a6b7e009e89053dce8991c89ccde8dd GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o{(5N5P@P&xq=lqhkHC<)F_D=AMbN@XZW%*-p%%S$a$Fwry6GfizZN(HKM@pN$v ziEw{=ZlNfH0?&~P?@AVLW?!~#Tk(O#O`_*qRDQXaPuKP|Z8)=q1*jSs)EwxlmEnDG bcKRzOo19Cv@#_rtfuucM{an^LB{Ts5xdk`L literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover_Personal.png.meta new file mode 100644 index 0000000..976570f --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Hover_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e180d35037da9034ebfa2169490d7e44 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Personal.png b/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..00615a9d2484077c07a6dbe25fb217fd150cf306 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|k5N3SKen1B(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi>gnPb z65;;#oS`U#0?&~PRaRTCHn#U^tPrm#IdDih4LgPH?fwKBX9 b&QAZuq!1`RzxaRu8IZK6tDnm{r-UW|(OfrT literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Personal.png.meta new file mode 100644 index 0000000..2db31b5 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: c3288d651f7e3354589494ea9595dc27 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Selected.png b/Assets/Cinema Director/System/Resources/Director_CurveClipItem_Selected.png new file mode 100644 index 0000000000000000000000000000000000000000..0cdda325c3256f9c16aa87774992c2b0d5db46ed GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WSkfJR9T^xl_H+M9WCij$3p^r= z85p?vK$y{C-$S4zgG7mIL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TZ4kEe@c zh=+GFN4}-A^^&)9*ft$dEM)7wu!5E4A^|M8SLeo=f<8Bn6h?u|0+!1e844BNal||` R`vEkU!PC{xWt~$(69CEK$y|qLFoigP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5y2$J50z z#KSxJ#JsOl$~Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0>(*1K~z{r#gw~?8c`I+eZ=RoHX$x-p&%C9 zB-uLH3W9xN(pvZr*!Tji0wImfifm;ih`8riqO zaYIJ4_UUvA)oK;e=`<9JMHr1n!Y7Q@fg^GrGmhxiJ|2&OE^~W(3wRFK*Vj<5*I_su zo|-tf4m_6gm~lkZ9twp{wG(uSMxz1P2>AVe8U~lkB`!ftESF0$N9e5skK{aN*lbQz z!QpVMQmGV7CKI%e&;_V^kH;gz72zyoG8ys7)%5#)xVgEZnQy2!D4xfRBSF+%AP`uW z%Vn{1V!z)*x7&qyJPub^S0eoK@)BaP7~J3A!)CJ)bHrdUfMhaBm-~TpA5aby&tt}K zo}+3Qu%S!L=W{#;@$~n4JrRmO!w`)|;qmeDbWYGisS1CKdPe_{z+*X&88XyF9iQk` zrBXRHL0>&;qE@RxtJRX$qJFQb)+% z#|&*W*P-TI?P_pT&SQo?n(H8pYFC5favn3zBdvpWZ>DxNERPw+h;`ssbd$|yA(2QJ z)~<%-F~b~U9d5UKjp2s1t6_P}Fb}PRe&^qz&epDm!lvI6;>1s;*b z3=DjGK$vmro+3}6phSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TYPmZytj zh=u>vp3}Sy20YHjT&oYJLQbgEd;#3zKEZD>}RdmH1 b_ooc04x1lTY@cZfw3Wfr)z4*}Q$iB}SRqg8 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_DownArrowIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_DownArrowIcon.png.meta new file mode 100644 index 0000000..95f0637 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_DownArrowIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: c0dc802dcd9d8124f9274f9fada5d159 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Activated.png b/Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Activated.png new file mode 100644 index 0000000000000000000000000000000000000000..a02458e950282fe68c80736b974a4f0dd3e392bf GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGK$vmro+3}6phSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TYPo~Mgr zh=u>vo`bv%20TZMxQsV4t~pf1(<)-o8J1ae!EH}PgvfTgz^ncNGaFCw1a|1OiN^mw zCUjKv%?_qQUm}1 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Activated.png.meta b/Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Activated.png.meta new file mode 100644 index 0000000..601632a --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Activated.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 4d4f4191be6501641a6e2b2a44ed1de7 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Hover.png b/Assets/Cinema Director/System/Resources/Director_DownArrowIcon_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..c5997cfdbb1ed7866f93685f26fff7c0ae037621 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGK$vmro+3}6phSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TYPmZytj zh=u>vp3}Sy20YHjT&oYhc_WzR=xWzy_UOpNl_#@v0C8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FWS01FWTe`H^g0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-)@NWrZ?j z0002SNklJ zlq>oU>Tm~qqFlK?rH-MGa2D$L{Q=&;poTi821Nb^7V22vz#6ay{QZEkJpf5HvJn?p Rm%RW0002ovPDHLkV1fY&bVG7wVRUbD000P?b4y-7D@iRS6G=otR5*>5(@!geQ547V&pbVpQc{X6tgV=a?3AU_lvf~DCQ3G5#cYt2 zoxL3kWnp7akw33M7K1EoC}Z*5soR)&o^k8e?VS7l-QPK^0CI3ET(xyPLH%SpUFl5E~4+I~?S} vWMkZpM27Gz`)OxIaLd5}Zlm2Og5vcHnFd5{oSS9P00000NkvXXu0mjfU^Al> literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_EditIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_EditIcon.png.meta new file mode 100644 index 0000000..66a430a --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_EditIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 1f721441a6c27874498159124bca5c1e +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_EditIcon_Hover.png b/Assets/Cinema Director/System/Resources/Director_EditIcon_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..258a6aadd4b923f98304e09d9118a6840d065425 GIT binary patch literal 428 zcmV;d0aN~oP)bVG7wVRUbD000P?b4y-7D@iRSE=fc|R5*>5(N9a2K^(>LkKS$wE?NkJAWDI6z@?(7v~<%e5H7TH7luL* zh<_Gti*|w{NsBfSy@Rw!d<#+=QE=lbBsgy7p$EC$#|DOB&dm4x&iqCa|1qB@*-tWC zY5nduS{TMtOkfKO@Zg>Xs~E)!b})u@{Ao(i!ZRFV9BakoS2^qSdT%SqW|HG1uaZ1T z@+HZ;Bx6ZFB{}CDC78kxK9%(hd)RG)D}zBC)#iB4P)C8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FQQ01FQRlKBIr0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-)@NWrZ?j z00010NklC8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FNP01FNQK)&HY0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-)@NWrZ?j z0001!Nkl>(vOpHd0>3EmR~SaZFcOAwT6qDIqm&t= Slxc1N0000C8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FWS01FWTe`H^g0000QbVXQnQ*UN;cVTj608n9RZgehAMN}YmGcGkQF)>H; zLN@>a0HjGoK~z{r?ao0CfFKM+QLe%Lufv^cY8s>XDWD0uXp^^@Ks!l9K84{*7M3=J-PBIm5@ z=tdNX0#P6eM1d#}1^!(i=|@^P!#l1pJbP23cU)muds1TLxWbUklo&m(Fl-qqF>_pD l=+Oh7`h5?ED`B{fqz!Ose_fe!gwy~4002ovPDHLkV1ixS*d71? literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_EventItem_Light.png.meta b/Assets/Cinema Director/System/Resources/Director_EventItem_Light.png.meta new file mode 100644 index 0000000..f79de93 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_EventItem_Light.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e200ecf02e7fea64bba125d82d15d314 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_ExpandVertical.png b/Assets/Cinema Director/System/Resources/Director_ExpandVertical.png new file mode 100644 index 0000000000000000000000000000000000000000..db48e87997087e0f06d8025c4e7a6a9991937a52 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGL736~_k^`TLG}_)Usv{fEP_G;9E;MW$l( zrIsj|=o#plrnVZT0@c)dx;Tbd_%EHr$ag@2gSqz9zHRe=2CE5sxQbmg-MM0m!Q{vg zmy#AuBjXuL#?6`r>yDjW{as+P_P(>Z@s&@Fe@&8PZ8O!bdA2KUMnDqJ*{&7 zo{D*K@G0+4%V8MOHCIw}Y2PTunq P=nw`^S3j3^P6!lvI6;>1s;*b z3=DjGL736~_k^`TLG}_)Usv{fEP_G;9E;MW$l( zrIsj|=o#plrnVZT0@ZYTx;Tbd_%EH*&3izB!$o$fc4^DGOHZvrgt=L?ANE<#4vlyME*F(Fi~gLC6)H?yTk9b?>WULweRfFJGDQ c^P!ry>5m0(IjT#@0-eR+>FVdQ&MBb@0OxjLi2wiq literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_ExpandVertical_Activated.png.meta b/Assets/Cinema Director/System/Resources/Director_ExpandVertical_Activated.png.meta new file mode 100644 index 0000000..f2bae39 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_ExpandVertical_Activated.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8dd587cb997b41347b99eb880cd71002 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_ExpandVertical_Hover.png b/Assets/Cinema Director/System/Resources/Director_ExpandVertical_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..64b59e7125968a7a10a8e5b2a02ebc3d926f5689 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGL736~_k^`TLG}_)Usv{fEP_G;9E;MW$l( zrIsj|=o#plrnVZT0@XBlx;Tbd_%EH*$k(92;qrG%-P-@};!k)dG=!vV-@CHhA@8P( z%a#@`ZtWGDHZ*B*Zadd!nkE)%u>RRT`wfqBir0NKYBb}vI6PfyLKpLOoelBQ1?{p5 zXO3yq>}@oVe%3uP;`CSNV-jv%$1m=vHgEc S)ES^#7(8A5T-G@yGywqKQDGqf literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_ExpandVertical_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_ExpandVertical_Hover.png.meta new file mode 100644 index 0000000..be0c2a4 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_ExpandVertical_Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: f5f5b0a8c8539014f8fca66a971305cd +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_FrameBackwardIcon.png b/Assets/Cinema Director/System/Resources/Director_FrameBackwardIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..c6423037eb0d6e22d3a63b8dab0a110dad1e7233 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5dqJ4d{r7~mKtc8r zPhVH|`%IFe8cY{2KQsagUGsEt46!)IYx?~+SPLEJi=e0-L?ce3@^YHxfZdkR7@Aa;_?hezh zrb>ElM$)N~>&$&Oiwe$`*R2v*d*yNC1E0GmKi6#k8p|lMf599^;j2?FWv0t9+`JIg zebgyIdWOr9Nc}&dA6EW7$EE)Eji%d@I6lD(LOxfgR@o=4Y~%P=bVDwav*NkE$hpR)Ro~s~9?A-q*DD^hTM()1`oYW|fdOz8LQq`dP~f`+kw$`~8{n)hFf(g!ko9zam$V5X zoFBakNzc~8IrjmqfxCm;ZOj0Z9~Hd!pH)?rz!JFs^<$9q)^%b>?g`ieU%<;B`3rmZ Wi(P;Fh3CTn0000NS%G}c0*}aI z1_o|^5N4e8lX)pnP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5y2&C|s( zB*OjeIYU7P1s)d17=b)^*JCkv~Y<)78&qol`;+0Eyx?#{d8T literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_GlobalItem.png.meta b/Assets/Cinema Director/System/Resources/Director_GlobalItem.png.meta new file mode 100644 index 0000000..1e09ba2 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_GlobalItem.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 68a88ce7419c4a74ca96d0e8fb9119ac +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover.png b/Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd079d4e1a21d2449c1e31b18ea98c50ac27522 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|^5N4e8lX)pnP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5y2&C|s( zB*OjeIYU7P1s)d17=FVdQ&MBb@0AkuS+yDRo literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover.png.meta new file mode 100644 index 0000000..67992db --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a9dae9f21db094e4aad792b6f1cb2191 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover_Personal.png b/Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..055903e30182eb1d47b29d584787212306437c99 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|E5N34P_Yf$_AW`BPQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi=IP=X z65;;#+(upo1)d`g+Y%<+ukZ2*$uwqTn%E?|uQ2ht`6{hg&r@tJEvi8E$lw9aWwicUtD>nvEc7Pgg&ebxsLQ0N@Qb00000 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover_Personal.png.meta new file mode 100644 index 0000000..cfb0439 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_GlobalItem_Hover_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 912e270fe7d0e3b4995c53d907819d87 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_GlobalItem_Personal.png b/Assets/Cinema Director/System/Resources/Director_GlobalItem_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..9d02fd45a02fd2a82a3ab80828dd769f8f713623 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|E5N34P_Yf$_AW`BPQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi=IP=X z65;;#+(JPH1s)d1T?;0>zrTznB`Puj#Nn8*oKj|_e^?0r^v crNKP@6u0ijD90Ar)BGT5Pgg&ebxsLQ07NG@0#LT=By}Z;C1rt33J=4@yqg0?8A5Ry@ z5D)KUj(kgJ>m_gJux&b^Sjg6UVFfG8MFLoGug;HZ-#Km^DU1S_1uT~{GW7oW74|HA R>Jp&244$rjF6*2UngIFvJi-6~ literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_GlobalItem_Selected.png.meta b/Assets/Cinema Director/System/Resources/Director_GlobalItem_Selected.png.meta new file mode 100644 index 0000000..a7e93c1 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_GlobalItem_Selected.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 96a5bb79e5c3e5a4c92243f4765809e1 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_GlobalItem_Selected_Personal.png b/Assets/Cinema Director/System/Resources/Director_GlobalItem_Selected_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..099921fb2d995a6f8b737047168acb3a9237ebf7 GIT binary patch literal 206 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 Ef`PU!lvI6;>1s;*b z3=Cq*Ak26&Fd-W#C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPX{*VDx@ z#KM2+#l3utfdZ@#E_SqqDGN4~x8t<$z8%%i z(#;h$m+o&#>@?63Y?Jd7cMJ4Ay3j-V*oFqvH#5I4JXbYee4-eSL%Uf)llGkz%d`p|7x_$$|Q&n~E{YUk41 z6aALqtbRfu`!lvI6;>1s;*b z3=Cq*Ak26&Fd-W#C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPX{$J50z z#KM2+MMFMDN0DP6d)-RDSV>KF?ohrEv_jTn`GpSVjwq!lt2?QG_MbhIQnu$%z@M`F zHJ|ULm_=JY|CiLJdS*k5WZEu?)X0>!jN~3xGYiK`dF%M=NsVG`5lQ{paut=bF&o?- zGvuBraLL$qWZ@LK;0R{RudjZ|&o?+Id@aChulD-F2A+k>X4iYyWyp9f?Y?m3^H;I* z`1ZZVXQVsWoHl2rTII}J^L0AkzI8_*g{MUv;_;sG@O#Wxwx_QRUK@pS@d5q8;OXk; Jvd$@?2>_kscRc_A literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Icon_Light.png.meta b/Assets/Cinema Director/System/Resources/Director_Icon_Light.png.meta new file mode 100644 index 0000000..9383554 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Icon_Light.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: b3fb5b7d09f020b489774b5de0395783 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_InspectorIcon.png b/Assets/Cinema Director/System/Resources/Director_InspectorIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..956add9e3a0787918741494aa088e4a50aa371e3 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0gN_s>q|KvgF^T^vI!{F5b?J^26sztaDIf4dnj@fz?vSNJR4* zNlE6XIt#oE83P!(0~|RgJyM%c;Nx>9Z-#`3w?oMS#sw|Bvz%fq7*?^0HmFPx&C1HU z$HuvMH^YlfOdWhC3{yB9!#EB(BtGJ0@Y!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKsA`+1 zi(`m||J{j>T!#!qT#Dz;S$d&YL1dHAEv)w4z!-+m)YNA=wJ3s^N4pZg0_7f)0^;qhCh!!n}T_C^D1sJ-aYdjhLMAM>-n)du>2!PC{xWt~$( F698b}Z@&Nl literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_InspectorIcon_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_InspectorIcon_Hover.png.meta new file mode 100644 index 0000000..07e31c1 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_InspectorIcon_Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 5c3bd48ad42de2a45be29738e22f14ea +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Keyframe.png b/Assets/Cinema Director/System/Resources/Director_Keyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..134c9c15d2d94712c03a0f47f3a052637fa70446 GIT binary patch literal 374 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9i zsh**s`)4O}psJ^yE{-7)?r*2x2CF(lkBd{abDahS}(Qp(z*BEb$KTK)fa9kD;$qdZn`7!cxuoZLC3tcU$swf z+Ti-;NrSSICcCmS-_ryamu)g%dNigr%L!gBx*#-BTU@?7NI0wK|?YJ*tK0Dm7J=-facVfS(f2}= z{idMulLrP#OJr1(EuJKZAJk-5OggqdNkD1a##4++%T64;Qhu0^<0Fg1wcN(nhO=$~ PJgTe~DWM4fDNv2N literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Keyframe.png.meta b/Assets/Cinema Director/System/Resources/Director_Keyframe.png.meta new file mode 100644 index 0000000..5e01e52 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Keyframe.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 5bbc8d1b9a4c6274e846b07bb135a9ea +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_KeyframeBackground.png b/Assets/Cinema Director/System/Resources/Director_KeyframeBackground.png new file mode 100644 index 0000000000000000000000000000000000000000..3b299943132feb66f32525e5958858b31d9753d3 GIT binary patch literal 746 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A00076Nkl8kq!w(mRUg<}k+I_;B( z-BC{t5xcz2D4tTpN7NXTw2qqf?d8`l~stieKVsr`n4!;L+M5eOsFeJDHgW(}g zja9U>K(z#;;USLoRSw9q*MKc8!Eku&ZNbOnI2OY}qO=fOD8X=ecuYp|mXsFq-IQSb zR2chOCA9NFxGBMDF+5)D${dknQd*ql5-f$sPhRw6Uj`b)E3xgs)XIN@*ue4R?)<;t cKSrbR7dJQ!D-FuWu>b%707*qoM6N<$f~;CndjJ3c literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_KeyframeBackground.png.meta b/Assets/Cinema Director/System/Resources/Director_KeyframeBackground.png.meta new file mode 100644 index 0000000..8039afc --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_KeyframeBackground.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: ca86822b56f7c3c45a2420b7c18c93a4 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_KeyframeOffset.png b/Assets/Cinema Director/System/Resources/Director_KeyframeOffset.png new file mode 100644 index 0000000000000000000000000000000000000000..ad3bdd6afd1ef9a74ab2b1a334dad923ee5033e6 GIT binary patch literal 501 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 O0^|IphIi&ww*D9BXZEuI literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_LockIcon_Light.png.meta b/Assets/Cinema Director/System/Resources/Director_LockIcon_Light.png.meta new file mode 100644 index 0000000..f5b28bf --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_LockIcon_Light.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 054ce6342ab674d4bbe2a78ba2e54608 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark.png b/Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..b94cc9afb856222be0b116ab1640ed5c7b728908 GIT binary patch literal 1151 zcmV-_1c3XAP)kdg00009a7bBm000XU z000XU0RWnu7ytkR7->U8P*7-ZbZ>KLZ*U+lnSp_Ufq@}0xwybFAi#%#fq@|}KQEO56)-X|e7nZL z$iTqBa9P*U#mSX{G{Bl%P*lRez;J+pfx##xwK$o9f#C}S14DXwNkIt%17i#W1A|CX zc0maP17iUL1A|C*NRTrF17iyV0~1e4YDEbH0|SF|enDkXW_m`6f}y3QrGjHhep0GJ zaAk2xYHqQDXI^rCQ9*uDVo7QW0|Nup4h9AW240u^5(W3f%sd4n162kpgNVo|1qcff zJ_s=cNG>fZg9jx8g8+j9g8_pBLjXe}Lp{R+hNBE`7{wV~7)u#fFy3PlV+vxLz;uCG zm^qSpA@ds+OO_6nTdaDlt*rOhEZL^9ePa)2-_4=K(Z%tFGm-NGmm}8}ZcXk5JW@PU zd4+f<@d@)yL(o<5icqT158+-B6_LH7;i6x}CW#w~Uy-Pgl#@Irl`kzV zeL|*8R$ca%T%Wv){2zs_iiJvgN^h0dsuZZ2sQy$tsNSU!s;Q*;LF<6_B%M@UD?LHI zSNcZ`78uqV#TeU~$eS{ozBIdFzSClfs*^S+dw;4dus<{M;#|MXC)T}S9v!D zcV!QCPhBq)ZyO(X-(bH4|NMaZz==UigLj2o41F2S6d@OB6%`R(5i>J(Puzn9wnW{e zu;hl6HK{k#IWjCVGqdJqU(99Cv(K+6*i`tgSi2;vbXD1#3jNBGs$DgVwO(~o>mN4i zHPtkqZIx>)Y(Ls5-Br|mx>vQYvH$Kwn@O`L|D75??eGkZnfg$5<;Xeg_o%+-I&+-3%01W^SH2RkDT>t<8AY({UO#lFTB>(_`g8%^e z{{R4h=>PzAFaQARU;qF*m;eA5Z<1fdMgRZ+;Ymb6RCwC#)xS!^P#6X9Uv7np4$kgE z3q|Rog6|&}aWD$eKoT+u`KH6+yN7$eKlett zZV~hXodq_26MNs_LTpsv7uO!XU|J_o#HAYniM6Sbds}XsTNs-OGG~q*I+Y1###O0N z{@22$C;OI8Bn3J3Xxp~|XV+t>^Ii#O3*JAtVG+PVvT4gk7!E0?nF RhExCm002ovPDHLkV1kXT@52B9 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark.png.meta b/Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark.png.meta new file mode 100644 index 0000000..fe487e5 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 81fbab028397e824a8990b9a4d37db84 +timeCreated: 1455833992 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 32 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark_Hover.png b/Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..75c9bbc615986cbc9a25582eb16af95239abccba GIT binary patch literal 1153 zcmV-{1b+L8P)kdg00009a7bBm000XU z000XU0RWnu7ytkR7->U8P*7-ZbZ>KLZ*U+lnSp_Ufq@}0xwybFAi#%#fq@|}KQEO56)-X|e7nZL z$iTqBa9P*U#mSX{G{Bl%P*lRez;J+pfx##xwK$o9f#C}S14DXwNkIt%17i#W1A|CX zc0maP17iUL1A|C*NRTrF17iyV0~1e4YDEbH0|SF|enDkXW_m`6f}y3QrGjHhep0GJ zaAk2xYHqQDXI^rCQ9*uDVo7QW0|Nup4h9AW240u^5(W3f%sd4n162kpgNVo|1qcff zJ_s=cNG>fZg9jx8g8+j9g8_pBLjXe}Lp{R+hNBE`7{wV~7)u#fFy3PlV+vxLz;uCG zm^qSpA@ds+OO_6nTdaDlt*rOhEZL^9ePa)2-_4=K(Z%tFGm-NGmm}8}ZcXk5JW@PU zd4+f<@d@)yL(o<5icqT158+-B6_LH7;i6x}CW#w~Uy-Pgl#@Irl`kzV zeL|*8R$ca%T%Wv){2zs_iiJvgN^h0dsuZZ2sQy$tsNSU!s;Q*;LF<6_B%M@UD?LHI zSNcZ`78uqV#TeU~$eS{ozBIdFzSClfs*^S+dw;4dus<{M;#|MXC)T}S9v!D zcV!QCPhBq)ZyO(X-(bH4|NMaZz==UigLj2o41F2S6d@OB6%`R(5i>J(Puzn9wnW{e zu;hl6HK{k#IWjCVGqdJqU(99Cv(K+6*i`tgSi2;vbXD1#3jNBGs$DgVwO(~o>mN4i zHPtkqZIx>)Y(Ls5-Br|mx>vQYvH$Kwn@O`L|D75??eGkZnfg$5<;Xeg_o%+-I&+-3%01W^SH2RkDT>t<8AY({UO#lFTB>(_`g8%^e z{{R4h=>PzAFaQARU;qF*m;eA5Z<1fdMgRZ+<4Ht8RCwC#)iFu~K@`UE-%NxA8=Ewq zAc26`h<(TvL@R60u%!V#fe>s2%Wb?t&akb8AoeLNOhgE4;VNthWS6akebvXu;}37< zeKR4~tfCgs7_hf#jDN+Y#Gug6Zan_T`7S_FSMEe)){YH4*f*;_!q8N-aPHKJGYiqw zuqvP@)weQ{`jUGx@u4r(s|JWhxR?DonFOP4-P=d_#7oI}E8H5_SU%oPojq8}@m}&4 z$So`Efy99>E*$EJf?(|kUAI=Q%k5z^&f^{Vo`*J#E#P0giC*ggLi@Ef2Ye3z<1{Mk TD>mA500000NkvXXu0mjfp0M_F literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark_Hover.png.meta new file mode 100644 index 0000000..717ff69 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_LockedIconSmall_Dark_Hover.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 9ce4a4da4bd109c4d953ea6d3cbbba2a +timeCreated: 1455833992 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 32 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/System/Resources/Director_LockedIcon_Dark.png b/Assets/Cinema Director/System/Resources/Director_LockedIcon_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..cf5327d5adcb5ecf6c5e1e9ec786099b0bbb296d GIT binary patch literal 1182 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 A00000 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_LockedIcon_Dark_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_LockedIcon_Dark_Hover.png.meta new file mode 100644 index 0000000..132e8c5 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_LockedIcon_Dark_Hover.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: d2204957686e4784d8df3baf9ac11290 +timeCreated: 1455833992 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 32 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/System/Resources/Director_Magnet_Dark.png b/Assets/Cinema Director/System/Resources/Director_Magnet_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..a73e04adee2e00563876483859a1808262427157 GIT binary patch literal 18770 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 U1uxqa+#6kz6H|>_#^x;e4+ID|5&!@I literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Magnet_Dark.png.meta b/Assets/Cinema Director/System/Resources/Director_Magnet_Dark.png.meta new file mode 100644 index 0000000..c964228 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Magnet_Dark.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: f4f04f8cdc5f783418b8c7e55873f064 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Magnet_Light.png b/Assets/Cinema Director/System/Resources/Director_Magnet_Light.png new file mode 100644 index 0000000000000000000000000000000000000000..2c5e6f7b6a2baa4906c62fa4a930c489b0e19cde GIT binary patch literal 1180 zcmV;N1Y`S&P)C8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FZT01FZU(%pXi0000QbVXQnQ*UN;cVTj608n9RZgehAMN}YmGcGkQF)>H; zLN@>a0ToF^K~z{r#nHiS0znW&QSw0~KnPqo;8?ghKcd=<+oi=FCsogyZ0650xNr$A^d)FreP>P~^sSg1>AE7Y9= up|RZlw)ZZftx$Igx?$J}!%i6XSvObLy6e9Orn7Va0000GPj^-)QtSnvw3z zl3e!ks@QQCdn&>RC} zNJLdRjyoHoKtMo6?Hzxqxo2IZve@LA6by@^Ton5p7@yvPMzxpR46AJbf#ZY!X<<#Pjhj2ql;y+Dr5`!*6w zEa>}AxiZ@GdgC=gK5JI~u}}T=HKX_O5PfKO?)P$Y7h2r*(yscc?z23wyw&6SN%2Yd zlDM$t`3bT8uQl*PUU9DbU$GCIs=a8{^*eiMyu%>ax8nwJzR_DR&ld3gB%BVXh;O*l5&2aNqRXKwl9V?)d7Iaf!(m3G8`-BQ)w z(kQMWQj-Ci0i%nWoMXQgxBC9(ZN^Tv=?R*{6y%(Gr$5?DvE+NETeICZ_d?wQen zBS`^M0+D85sWJ*wuTXlvtiEFW2}$%Z*PYRW<9>7p*d5wF_O_+>3{o&=eO|kHS-;s&|O=XIkE7XSzSK0g;$4jJa9nL-0Q6gD6l`p)O11+3Fqq7B#1ND+{JP6 z0M*2O7^F+gqTUqh?Ks+u%-=nR3LMD{BD6kWX_3)$Rz$E?cp4nEY^TPu@wA@}jvm8@ z=Y)r}&MB$GH79PKvA3?6YC5Ta!F40f7xLok9Rf0{0f+`#>CR&7$#{lMAI!q1BVH2+ z%c7t*m?dH%BzXO2AV~lrGc*26S^@9}9}zcF+_d;h*LZlyrM>;7Udaz~tlG!bHEYJyHHVwnTwe&=xlNAO zVaYkQ5=HZm(q$XTR?3BcVdnJ+3-XUt8iK4Kfg4Amw;#ZVIS-pB0F{*)B3vS2SOU=- zXm`bAnnCmC+A&=hDhQoH%tjW31@|k`0h+Zr)xa`aiJ5M6oGu70ds^|*bfx;>`S_z$ z0|1V|Vf5bK!`kGhF0c42vS{aKf}$X3H0VCs>H=v;c+!`6_$8!n2zNYL3d#FnQK!rb zVu&>bb7M(M!$s95?M_Gut04(sAxW}9ao-QtyqoTKksY17f?!?Nu_6r^u45)hf_K8h zUf8uq0B7L-u&wkpWV}fa#q)O>#G4Oydu1ry2Hf8}5amu5-e&!*ef==@mG!p%(EgR& znJlK#h4HZ(n9v#u5haOdB#M)_K77uxgo*h^2#a;BrsE4Z-*Qey^48$;Md5FMTU#VA z(-UPVhbgf<<=%eDEvShDOffWuikNxGhXIp)0Dw4N9_1|vLqL&IXUJ@4NH!!DakxLM zf*E%)fruh>@`5kjd}MNy%9K}1C8dig+rnP+9WgG>=>TY4P+76Tnrc;!&grCG_}A`9 z#VGE90@D=PdZ2T%GK)@f^c*X#jE>BCbRXo*)lw@a^<9QNo`|48==FZhu5mSCX*Eh| z>~_4iu8|>E?1(0MhhZF*T;TNVF+%izL=DUodO2J;Ano=P{mApX{`yIE|KpR zMxIy?XQ}BF_djS8_orpHJp>OA{nW40I(CJA^|R@Uaw7JL5ESbBQ1|lmk%EH)f|&Uv zx8UYWhqPWK_AOe6Fg(DF@C;2_I6RE~e>ThJ7-UekD}gVE0)EQgY16T&S^z2G6n zcw4Wl@YJIW9HAnx7zHQt^WCaS_R~$YqLNz#%7dy*8Xq7`$w?qo&U;U|Oew|u08K_kh!BWTnyLUC6GNpq zse$yhs(|n#6UQ#d<-N>^r>pCf7W+qNfD5YA-S7E zzEJuSqp};jMzXJO>9p~ycaq`UU|>)NG&(g*jc~vnDaJ; zlp2>M^APo9#)O0Cp=ktrTbtVPRu%0Z2}qa-WFuk|)usiGhI}c#{r?oS|3rtjF#Z$` zK`7fnBIpYK$lb>0ImN-nLUOFaZhUx^w;H5pz9VG5z1sGhbtzOE@5hDH`mQsn{4yv4 z3$3~_NCPVVf$_p*qcwXs$Vz0lNP;-|pv!f$O@R1lT7s;&uyL=_IEA)Zn%9F0&TUAt zkyOa2J#%c`h?A!bLJSY0mmtZCE}B>r6b_2md@gUesf(jlNoj8%R$s&sB7oc`M~5gY z6OS-5nF?-`R0-3Kpg?A-WoDJ2q~a2_2o)`-R#KV;qDkK0mlls1^~Q4wGGQbm%V8?U z&s%ww8dNW*bP0b2i1mv7lmZn?ws%^Dh|?CA#|jlNn$Papme%$J!^+qOEufiWso6)Xki6N@v;+j)^nK! z`@JWe@NPep;IcZ%Cf()&SnRUeU1R%Y)ZsqM7xfb@=uoOI7~8M@8U77;DfbL~E+*DL zhRok0*_Kl9EHl8Hgg-ZcAs2PF9tk`XdK(u5wmoJrC&^31jrf77%7&Z_CPULR#Oqjv zOA}T@nMKgh!w!$GO)yj9uqqmlGzx1=%=i|!%%9Rl`t>KFU^9esLc8xAx^kFss)>MyM$|*7kdPmcuVJ}8=dHzlO?2R zrdAD#Eg_^oBgo}PV6d1~L2^Tu3B=`p$|1RLr);5KYgtSJf-RuLi2B9b@Q2ovqj&!%^0Lc(Qb z#a=3AYfSuTeNW5&Y+cnSL}!$v!(7!G`#qkt3~3AL&Jd9{?JFc{+qD!+2M)NxS7(pNNU4r z=#1|0NBnCkW>3JH7icfB+n-zT=WgH#XWjiXCLPa*mY4!=AMMR2Cf^g>%trlxqwY5~@j7ir?4^XgMaD!@6-GVPbMk32Ld>LyHd=M6`s> zeH=Nd<2e;x$dJ(p1gE%k<;~@>G#jy2;Y7|*ndebbgt#X5N^wUjVW&*;+nQ&;!Ccg% ztk$?=PhE+5Dt{f+qa>b3%=gn(gf|V5*({P(lgzz|6xrZKeqhARzV5)2GWH9k@oCCy zqhkS!u+$(OY<>%qJ`(7fW=9>RnkC%4-^#HAb8R5?4ZhsbwInCKhc6f4GfW~MOOh@c_u&@fb$IgllG@oKU@X zgC=K$S&0i$pOSLu+Ug_z((h^|>}$$?HP}q5p$3y?|Fwqp6q{YWUqC!wBP(m;ycP4J zxAO)od9!EgA+V0d$_lvF_7~17M7?~$ZZri_9@)VNdpIJp9*1u^p)&lOQS+(+=+k#E zQg_}=&FD9q{(6xvBmt?Na}nhAKz zbxURG;+ESb9FFwb?dGhdW%1VWXw+M$hg%5(gEvz|)u{be^BD$X9%L6UVj!c=%5_O{ zzM1V~h=uR;hA$vL10LxjlHHXhL8pcPQ2!>OmJ9Y%AzNFJw}qYVXu1tL44(TQqEs81 zHoZ_SJ)VeM-jCCoG0YYDEh_zDO#$jBn?z%{t+BFryCL}s8D&Yw;#7~phI`I&Q2eIa zpsOI$+V>EDo1{hY5`nCkTx&|%!^c7PE%RuPgALs$%kH&Egwko4C-97*XrF4tT(x_! zEPVo7EJkWPi`2-CZa4NTSJ#_8>~VYsJ<&g+MEFRT&b&<9>$z;AjciK8%MUw*y{y9r z(y6Oj4j-KMT|^zPr1t)bbjvK@4q{jGytD1QuU~*e&BSSrJc^`6xeMxNfdKMn#8~;0 z19nCNtA5<w^ct>vRx+S26?(9MhlKqNmd3XR;_!G8h2R+9#Fm8FB~I>3;r^E zjVJV^n617-Ob^v>)K;0@?~%#gc!~R<3zK)RGeh{*Z6S8zIkdjO5!9rhbW7~4QUvzW z^x4KE(#@y=NN?Anjz$T#6Ds)BQq&V-0R5uujlhZ1xHm*`lo-C~1+rfhveyE&eobC* zGEMzC_if5YxU;5W(kkS=ALW$ygjJt(ggz;2ZYZ#N$g}l_tEzdkoU7t-G0YdrC&g_a z+fQFQMz7;1--3;|BESo~7#r`;0dmi=6Y7grIq!MAk)ARrAc$Xd79PEGXZ}0e=5#l9$^RN4a7P@-dQ~ymS^3ZRe-yis zLTb!5f2Mn={r9lCr2kWs?V;A_G&Rl63q0?XcKxeUZr}3yxADgR8q6Yh2fSLofW)hA ze<4;_(Q;dwpyaHRW(K04s=JIE!+ZJ+n)D!kIN$9zxf=>sGmlykI-|oTPMaZmn)oI| z0NOjp2qo(uZs6ez=6X^KBwiEYe15~~;}7$-Tc1-qL$wX@3w%mvgZb4bJ58s;cC#(% z4KFfhrtxLzulqM}hPTtRy`+M75>I#7gu9L>49P^9trJQ3ben69aTXoLy9%ZiO z^Wm+OtlGBuB%XeBrVjkAmdr_Txtj6s6+gBJFP;5NND>LD zreBhVzaIyqW2cfgg0c=!z+=fCyi+X`r=AGSS|Pi#m04oI4X_@r;1A^}igyBff0i6XMtWry&A$O+Cr z49)oj4oP+M5yg3W-M`$SO`U%?QEWP^+KiFxqhv zYZOP>8#&ibJ@mVy+Zdf$ytZZoP^=bXHOJv%V7WQJ+eG^VA?K7_+CyY!)VHTfdlgP{ zq6;&HUFTNOm@sR-gHd)QSN_){iv!ME;Dn=c)o zl98es3jR#z@IORUtPKq76_;)X37xha;Bd$SbXe9p-vzfh#}hFXoLB!Vqn2CtU^sQJIW0T=&^W8|XqYpZ zH)V{D@y<(0uqGn?w~8;-ZCD>%x{bl2Ti*Q@*POD&LIEU9CPgl)#y+gI4c5< zO_O|-k;=y?7e}-_w=pq_PEri`k!DhtnDle-`@W|AS9}~o4&OCm-C@swYf)FE#;~1| ztl@#*D19!G;xkmvHIH|+x5c4VKdTM0j86$myc6C5!(518DGik-S%irH^pXAkBXr#D z%wWKZU-VqJB-`P_K-&DP%&SNJ!fkOkrf!$~v#!*VNRo-xU8Rv0ZiIMeBoNZbb%_7M zXaCfkX(ET=*HWaL5EP?_4`Nx5Fi`~4@U?Y9iQ=RUiYPBzA<~hcQPt5LW?>R`Px%Uj zhI!EuTuV*3+g(w5Eo^KP5U(cQuLtUE4XtuZ$uio0aHhyNjBan3LNv)SXt$YVY^D@u zx`+#r|LZJ%r)N+#wY77m$i!~?)Kr$4@#W2McolN$`V*z5Bbu0j=>gW^n*=(SY_t)) zu1j1DLx!KwqdZwz;A`PCAh{}6xG}_My!_@o6zieibo>?43H(d_+03Y%EWA`{4_Z^U z*Q{mW#m^Dzo%P}7;K7b2@-zGwir%*xIhr%Ta_e&83k!6t%k#F!!vq(w4QrZVF2h*& zD9u!J`@Jgf>nd(>O*g09+Qp2*CHwFthPIHE)TeIrR6&d_Fc+y>2Hq5@usS<_XjuK( z)7eB!@dK(3KIaut9QluY&D3bd;-j4A#MFsM3w`4IKqb;1>tK+Z57GRGQtN!%L+!2dXW(d>>U_O=Q!m%U*dZY-QFpZbi&qn<~85qy%c!Tk7*;!GdgIL5rORw& zrjA=rxr=bCWVhh#WF(WwnS1j+_OmVgy2IynO`O*Pl%YZ4RZw`L26pDDg2U!}4FIOr3pqza^23o_VP;RNyb z;kk`buWIDxaE2*wfh%==_-L;f^4e(B-HXo~IXI=-$~_UAycd4nvI2_~ zXsOAu#|~m<5-cT(_1rNVQ)OZ#J*XZu@~6V>>OIzQekG7*_C-F*q_3Tu?0W}s!+w%P zFb+2v0&lznl^z{V?gCFfY9l@3OfA66P_(a{VWI1(ZgS53%k`oG24dC?U=zshH~nF z@AdwJ-#QD{>z<%XIF%6>;dx!aZrZ*PC#SjgurK;CSmOip~oQcXnUJaZ)PXZgnSZRonHH75eA!|bEd^UjMv>NNnj44@>?i)1(M9}VO57{^3!x4n2m$CvEJ0q zp7*Bu?C?=^A3lG5fDLjj^n(Ld6DYdF`H6O_Sy(k~3zm&rEU){9eW>Sh-4`0C*)z#- z!Ms4R6_3qayMk9}jH{b@t(P;q;5p()+h^n7xx0Uv*cKwN$PHtPoW>RIqq0a7+iBqdqZN+Ch7P4)S0gzY$W{~b?m6EHmYF=v(T zSuS`Tg*DD2pZ0=$bsE0}F}W7K_3rrJt&m^EE=6rW#!$2bxk4i4*6Ini90SOvy^S*x z)jrpQWqJ7*_PQk{-*ULxCptO|TSq$h>(@fGp4Rj=k@y;5ZLU!C3IJE&;Vbq$?#Uqr zk(?H6e^66Qw1hl#xQsr|HLquMoAg9YE`VZw7umoComBR;sqJ=SaVj@Ad@TVST5qchO?sdNlI@vfht4%t%WmOB@1SS zLu4fj#Uc*n_?gFnY(6ME0usm(oToP%AGmDUnftjEr_%3O=R}T>Y5bsRT<_U^I{6^k zOsY#pC_;CCVc>x5C<;E-nt{RZDTy+D^T7oM5ltKFexNn*XQixWK6cVUz zX!gIUgo^S0Dq(1VfibP2l_kwIQXI^Vwov@`>E(q zV5=4A^K1T2ma+-W*VMG+{+35lk6)pwHDoJffh4?eAyL_a-@Nf`w1U`i618Hx+;4r% z(qRyZROW=-Bo4jM2EAGUetPO!NSlC;)!N62*Kf}y{==q3CWBJ8-9TEj+L-mH(hOah zA#ut~?o1R!RIs}I!|nGql)i$x&PjT<#mI?sk>b)+9H^hoRfag$2H5x310?5xL#}-$ zUfVJk0Y+!-HVaF6El_R%JRB7({lSiG)GJpB4=a5b1v`at%^<07GDoq(G@HEd3#v*1h|{Pc{hKhO7cyd!uk-no@I!D&w|f8=>cYNQ$tyBJPEs zj0~(GHJS;b+tR5mNwO2mJ>yQYqk7VamCQYiX?{V2wF1SbpN^+kQw)i6CEsNfwlvQX z+tu#)FSopwdkliYG!d7(cNsE?K#)F#!)u@^+nr~+E}7z0y*7NZESG%(IC*Zu$Q1c9 zG+U3|cR~ zXBo~?lsMPRCeiC57`ExE8}>)Gxf=>#TZ-v5~Q2_D)0MfRTaO4T&@q@VC040CaBH93-bKM52J08cL=n?#l z!v&6jCj#+A6gitteQbJE+!)MCRNNHI3ViKXM)7IB6%Xz}0J<;23~xTT39~m1^B^VF z*TVA=WaK?URhSsyHh@hNOa`4ki6;p?HNR*NAAH`rJm5vleYI>XkngzcS;7B%Ixi%9Ul-&%`jfS=S(jg{R(T^T z$A_A^--Ibu#W@2OQinu%wdjj^Fj7yDJO6j_)n7OdtLEmT zT;LUuYM@XQMhVlyOVmZOk4i^PR7 z`by57N*xE(mVF8F8pNL6jCGjag6)>2a+hR68sO|mxF4?39UFRCZ}i$61Ti89Pbm4X69KP1_m^d5T7?EbUF{WVD2?69Y~L1JEFctBEL4*=NrFhmI9= zH?=W$LAlh~7v{Gv6GAbf(R1xMTwKt^*~Szyi@QDvxtla0D(ez<*nOolj% z=HZ_rq(Y-BYOXsl4VD-y)(cVEn5BYr(uzjCYG>kEpYW@~W5%($XgVsyv(xpH99-0g z3&atnna$cOVzE&+`-R~~k531ayKw!aSR+^~uIBrHYe*-@Rru}-S2 zkb8-wtt)zkrB#PjIEPoME90*2L3^UuW-8Yq68SWU?0f(&-hYG+Y6i6mCR!oO!6Nna z!|OwA_kMi*01S6jTqByvRisceku3 zGJ*Ynk$J2uinr)Zkb>?1XEfhEd`0S83VB7YU>K@PUd+G(MrLu!BAK#Rl0;5-5mgjf zfqMgxs8h)qZ$vHJRS=5qr%N#MeTWt07d6fT5|tKCVLDj%x6jx_{V1+RvMojY$l_ai>v3o)Ek*4!YaggmkoWe!rwNa+2+)5ti3xlY9K$ z^nF;#L5CQaeSQ2~=RS=xQ1DYk2=+)Hh}G-jBmyxmpPRssruN+q&^P<{+#w_B8;9HR zm7~t(+F)c9wI8jPyCl(*exq@q?Cbf&0^Fg6?=lCdA61%tBqN?ITD4nE5|d!8#Gijc zkJ|xsCOZhf8PXXK%e)QqgM-R#4U_x}d?VgdTNsW#c5!1{E#sgLJ(;rHh3xn?C+~N{ z+cR}7TQvILFzz`GNhA@9G94FwpW$ZPV1cv2Z5x4Z%ifxs8k#5gL68aL<)?H>Pp-l5 zSvEr;A+e+^49^~srdkvmNYf_lq`f%iMLS~lrS?e=TAx|Vqsdgn)UW2npN!upp$l1w zapABw1Ul$R66$-%S&R)wm6@46d^j?vz>fRu@V`1-0f=e+%g}6VGC&e4%VwzDRf*$6UOtOr>LlKtyQ7e&ie2Sj^*c4i2{ z?*&`Hu@_Z~Yh89B0(=&Q;W1*MrEdo?WtS|_=P3@B#MPc^!tLhOqc3)a@0fo{BV>^G zq3OO4?J}L~b+GQ}?WOwq=VJ%^2Kke7pX7&FFf-MKl13o_>Iva%z%S^~b&gi8`jt3v zg^9jkL_r??U)9V^e6e^31^@jaOJ-U^$BjS&JQa7 z|AO*;#HwFHA+N05+W}g>ivH#n8*uY$8Q;##e~94GUG5HoLi~&`B3qaZWei@x!2#kWm=rA-JmG_|Cq^7 z_UODR7`&YD@YEIN_{-}rf8)UGyI%Amo^cc3gesipmmHp}E8I$CjnIb#e7U z-@QF=qSGM@^@xMnHBCoNqpvpk8kU6)5Qh;6CwW$s*|kZ*gRX?Rr4w+|C-mq3#&~|Zp<;V`Kt~jy z_ZwoNNV|3Jmo5K+sWndJFr?tFnq(>KBu$IFfW}QGTeM^#t4%hD-fZVXnx+0du?Q3Q zo6{b-$?+AFXXr*{TmM8x%QjcU|B2zNUT;fu*&_C!!hr(%gDK`J_mdWf>6Y@}+obDO z;I-}vR#{<3$V)`; z2hHlAt2Dha2cN{k>_~jy&>LxbsDhs)o--lMfneJCW(_2aW1Q_U`m*mZU(%Kn{g&z(J=UBi4z)0_^bTC!J8R2^)G zKK4I+o-OtF;gU!tNz;gkdB?5}TMzn)_($r9h+G4m0(@;5)f`r2)6dAJK&dPE_!bNL zM^!G7vrwksKQM3lx902)^6J`&n%bCy&6rTXmz~_xUB2h&ovNzV?nlBn zIB7B{!?5}MLYTFH=qWm%4X$>cm8FKG$IbR80wYjgQ^x z?cRk7$oCdh~F}Zg5a%0(Mo>X{IuMnS`)k`N+1ROOrmYfTsk~RMV`Nc#jXO`h$ zO8IKJw?-9}d6x-!&2q}}07R?k42>cvTTAkh{^CdurwF_;ELw-#YTHkS6H$V#a{wM` zCr34IN*488jv|D=95$rv*nVqy<~sBE3|R`Y5~g`ifqFQ$3&u702yS6P~c&Xjlnqdq2=63>a*@Joa>vy&lTJON7 zKcrdNWWi0Mbci=W`HZx4oXfi~fqvk?v-(P6FzDx|Ktfg&$@|SF@M^l6FJhY-_7iJx z84-=C1>e9cbgsay>*XX}-M#*Lsw}|COg>%awM8%Py4K)jJ7oMN@A%eqQ~o1l>u$_f ziuu;BeT#@14EQe<#q7>o(k}43>@eJZB9fZ!+7E0}vQIS1wI-311XCvuw)xxdjpE4L z5v>aa=+~5Au`F1?&7k&p7eV2ZXF@*Bc+O(ShL)3w9`&(O7HJ}(DZbh-?M^_3)$_0Y z^j$X}0%7j7a@RhOaV4h=Sbi^}-6<~ZUNf~$UMsOg+Xj0Ny!cPlDU~jat3-j)NlB$~ zsV0_%&+C!rI!Pa}LpT}raI}dWa=VpWsnQ3ravh;BwYkaGPOPjV7_9Gi9_|~ORc^8- zoWFlf7(WH;MqDHBD3TG&sUEcMHiY_KQLlC>;$`cJiZ!aT^A)6K`Of)H402XGyhmEv zBVGf;-1Eye#>~F-%Jw+RiY0v?m$l^fKa6z7 z{9J!92zF>C&yvN^3CwPV;O(K3_e6YpeyB7vulyHK*WkYXV!jVz6SX>2n*q4~i*9wC z?yI+tNk&-m4se>GFBZ1mJPZo5)^s!0FlO|HZ`R{7}H%hPY zyK&KMb1_TD$#rUl-Apf3O=qUF^7~!Qe@}v^OUPya&$8I~ZtQOPWL(dekTcHu$^>hj z$x`xTX@;qg9$LQU4lIEwv*;oS30Nj~%tLpy4yRvVc85(IHuLoE<3;k3Dcf$mj2`{d zZ5)1w+a=CSv!xelHA#zI`eI`D!@T8I(PAmq^X(x-F>T5=PFF=O{HUu~Cg(+*uU)g8 zleqqR4LcsgW9sjZ9tEe3QHhNkmWoY}VpfXIi853pO9wmvUEaeVUQf6eZ6Abk(N@euw}lSTOEWA<8g~LE1I1A ztmjw*=7lne>#`~D1dKPf$0B~?4332&LxOZ}R~di&F+p*=v? zs2ibqm3rDley}qBcRi=v&g&oDFY5JjM6_#Zfk`PlAvEkkndAC*@JA-mlls+gO8_l$d3%U zq+l?Mye1tLY|{@J8wtAcvBs<#zOZ+Wtrqhq-tgSiWd1~P8=4Uu1#8ANWHJ2}w_R_469vVssA`lnUmvj+;E28p^p;scId+Zv~Q% zx~UaOpBV&bjDjsy8wEgHGnJLZu5v%5D@Jw+fV2RKb*E;Kc%NmXYTX;viC76kV|P=H zG3d_+G_8DkQ!J}p1T-~QnwL6oKT=Lixi5TcE)umr!2n367lQNI%4Ts4z`~1prL`%o zvJ1Q4x>##;_pkFf2^E#Kdx%mi>?>d=<@Y>BJc{D_E@Z*U8l z&CaE9;#|Z__`@}7wJxXKi5ot6LuUmf6L31nA)1j(GcfHhXGM20Etr;DNDr_5&Puws z#KpT6wCb?2OTWKoMka!|#B3WmIgGS$!)sbV7hT!nuP1+7CNVgTzPy@r72D7#YNT%2 z_~SCchkm$8>Kk&IIPsu4_l$p8Lf?}GRh+`@HLOdngnEimB#$)M-c@FEVrImk3D+>- zi-SPW_&oLP=QYQ6mZG+PC^?nzzE9?R!qj%xAS3Z!wLYergw|b1M#Eqe}cp8)-d@ z02XSBw%w_A|ES$=SVYM>oQan`DniaLS>VE;tJ}>M$!0*}Nq=Y;!6sa6Mh33MCK`&n zT=c4wKpw-vO(A*iCm`)8(;X)7vsl{A-G;^eiQ|YV;PE5IFZ4pn3mYH$1TIElnEd>qx&KzAUCR-)}s@ zSxYd1M#5>Ol*aAc@>r%?KT+I8#U|Yk6$cxUm9XLNA=If@ZuctkZ=;oZ!)?>e_O|g$ z6n8u$YzdKj#=>7)q?N5*e5xy_(^98gb_5LP!41|tFPegY^!hXx15ggAm$l9oP@9V= zdX86PU?Cm3=P9SZ&h>&FO-`SUqpRc6@h+Mp>8gWU?paH`h-)ZOWecMboJ%}j4?*f@kdJ;r*Hf*=5&Z<{In5LQ?mY{w7Q<_ z7}gMDN}zY{{5Z64Abf+u=a>NM9z~$8;zDP6 zI>=DjW)*nElC!^W(|Ms8{x-!UpD_ASW1*o%JYd)X-n zOlP;0h=&cEJdj5l;W13EWaZ(>ufM z?72@{^+&b$-24JQeyTjUB~bYJ(RrEpI@(x$C?sV1Z1tLMN(XX(>=U%fcO?%>@d1E0 zzY^{vPS)Oa6YN+wK}nBxw{7Cz7MKK=_&Py}TC9k4!I7ztOe^o|wC=8n149#urm_uo z#Qn_N+3nnrW{$eAPM=$khaOiy;!1l;9gw}&g`>nvePn>nt3@u^k4S_Um$SN0 z$Ckd!_^(bMW@apWCwHlR0bFwesCro0tby(h&InVyJeMljk)NA4)C8j^R^;EQ*Yr7% zVx;sxfVNj#qb)oUcnlCTp7$;9`?=%L zn%o_p;l#ZE+`-{orSf-9o%k0sV1YKV`%(%pI`0TipX^@8&2k%dah=YVcnLLJ5g1-= z4axBKY~O5%{*m|lLrkpm`}H(E zR_Aj+S&(yQP67Gh&lLdBO&#-h9cq>@ZvHahmYt;!4*T~2$^G?5B!}PLJ;>IE11I{~ zod%I6w}`gECM#I>irCZYf*n}zjo24JC5<=s8zrwJ_IrSM5mY0tc52n=e#B$~<{tw{ ziMAA+6TJIQDxnpm{$R~-`efb&%Tm`T$b7-iLyTlEjRriCm$bASXnzuoDkxP1q7@9- zOGMah9oR#P@CwB|_-nms+44gAK)1DpV`D?i^b?#3V+l{7Dz4*g=Z0rJjAprmkTblC zE$l7k2RDZDz>%4cJ>6k7#0Ct5XeRSlU@#G)4bf$s$2OVT2MC=*6zXPTO7=on8nHX5 z?+JLlyrpfVEoB|C>BC8zDI_|f@otFBf7DTgFoVc%s81z`eXB5)M&PW9mUw zhRG13M*Nmzf1W2HEoY%@uRI2xyc%213^Hy52Yl~BQiM=du|?C0B8`S3{1mnY84gv* zht9xnj|MOAFOyQeQelffn3x(7QR(3(CMHExyZ%fv{_yk+H&FUH@hzke%T;)W1EHT$ z-5OiF1-fQ|h^wV$O~MAz(#jsYI)JnpN}_WO_r}&NsTC?@`~I+~iajie-U6||2~bqT z9)_Wv%FZ0|9Opk~>Xdxzv6ROp%r@2t^=-(hO1Q0brUmM^Wm_OSv!#`iR#5E{-f=(P zU{nC3C!rgUjx*1tQ~R;gX-cmlW1V;`r?$B0Hq``e1}JCBbAV%nM6XPW)(TXxqOMRN zjC6*m&cWPw@a+mp511Th3)!}&sEyRC^?sxE;CqY#wwjJwv*{j*KgpCkIFU zCrDj~UDVVZcQ#zxo3A{#SZ9DNip1Z@0^NV34g8G^prbH>6v&KnKDBj?4idDDIzA9m zjaP=+8Bh^9IO+^Ky2}m!YNKrb9bWrKidnX`WdY2YNKu|hJ?=|!Q0-=X$ z=%EAxsW12aJm347-|w$?=6QE^vYEMZZFbM@IeR{H&YpAs)kEIL3B}2GQ&siVU6ONs z&yFb6hmEV*m;6LQvwP9S`L1JLm`oh)m zdY@}owPhFn7izK74reI!i?Rd+@}1IA@54-!-NXF&Xq5Ma>swm0$48a0J_-7j~g=@ zh6NDqU@}17eUqMAS6t9k1M_`(bxYLOZvRW;RIpF$!=>2s_-#w)eg{f|zV`;+^EapY zxKW-nXQ`zfhS%75m6rzX{MQ`n&!1IS;k@`DAWC?6FXz8$>8HX1hNY?1KuZZ{u0jao z(-ky_*`8yo_<5CI#OTi9Co;%iJN5kI%!|&pOw?IE7BYX56cptTLV0)g3wC5+2~qen zCNn&;{sW}%N21nKobT>ZAM=*uE>}Jz8T}YAVSYub1$QluH%r0|b@DF>9l{n%vQC>g zH}sYiMqnZ0oSp#Q;MfWNmItg(od@tdB*na)(F3jnpPO(!_-~rD3%e%vMM{(sD4Xf@ z=wKn+Vg%-mEZYpLB9MC9cdT_f0}_J+&EqEpLxzGUeJoLg*E0KlaMv-r*BARpWAoJ2 z`hB26<1VS-K{;>sx~n@-ITPEJ1_*}9D}XUZ1>F;{uczDsSfZ^z!vvlV!xRAI0-ak| z+a8A;SYn2wS9fnAW0!8X4z#lP;0M#YAp2W7c_Z0KeS9ADst@mTV5$KyRSYfx2;h7# z4!0X-oTp|}aKW-_Lsr`w5gA>=!7=Tn-rFaBe>DSEe{gUZ;QO9a{;TR*nI7a~W#zl< z%;YXY?^$(mHU^*6Yjws^bT9(@uzhxRc7OJ;Yjd}EsKF8NalEwa+qoo~S?DSi; zDj=_@zWf0pV+HE-JSb>Baguc&CkM+xbSAbFvrB**4FgLEhCav0l2RRZR^G!$m|Cmn z6KtbC#%pQw0~C}5xXCFZC}ge0@`(`SCjSHy=w=o=I^5zvQFHx7XmWU0M#wLUd2W5e z^Bilrd#gzbKwvM|9b2vzTWK>pH0{{*4_aLyVd;aP_a{i^&p=i#3+#xtFkPb~wVHuj zfPd5FIVGIMa?Me+vl|{I|2uW_lB9rjX?c+OGGOa|`S2x)Wq3Xo%zTM8dxO6QJhD~1 zgpWaCNdqHriO%kSHnodjLx$IW6x#*p>({5FlgdJm_&QmXBq3-LksitS`X73OE3uJHIBS z=p3N}{7~_MEl=mc4>6H8Edhe~pV&5BKK2ju%)q0m>Z!wGAd;$OMHqW`?rf{)M9mIL zI1J>QP9kke1wuKTFutqLBK0^w=K1<3@k7y!0i1N(W5dU;F;OS&>yN;?*C7s>>{>QCgl_GIZs$3hz8bECO%u!X;s zgoVFt@{NBMR2>QNOOM>~mjN}z9+h2sJFd5-2KzmJ@L$FpRhGJp8=K0o9hSQOl_ur| zD$q0wyoZ(w%uB>!c>*U`Yhl&7Z>A4RSI}(=)x8bdu=4_qErb;3&JlL*Ti0-N8c?1_ zy1=DJbe9o+$I_Hw`3$)4>{Vmse9)&XzvW&`c!U3)pqX|_3nrJX1HkEJUA`wxRl7VS z^vcVj;48AH?c!jd%+)5i9O;Qg?ckUHb6f?k`HjYBn+*V0zpP;P+}Qo#jezISxOQeP zf*1(4b{X&&Je8CkZq;S}qrR@tkJu z^v!{0zy&ULU#hzPCo{+p3<+s6lexPD@WHzzW*xR&z*EI-#ym=3Q@E}(gO6`Qe6C9I zMHVe614g|695{Cy5ljgyukn$%(i#goMO_NPFBizZ;(I=d;g^QHhWzm>mk5LZu>60^#Q&0v z&)Wt2b(yk4Xl`)gpUq7OE2x=m6m)GZYm6MP(!xA6j0j&FJVk&TwLGwrQ+R9Q>-~c! zrdG-H#CUG`jZ`Crjm&oH3B3x89`63fqP0bLWMclQuU{<1!ABHtTG#$jv*n0JP)1UU z&jj;>)n#FL;;dG?IISbOO@WPo2sjsk7P~5t$~t2QXjmkwv=)cNN}WP#^$@jH##K<& z7Rk(gARUc1U^_%cTJE)M7Gep8FBCZNB06d9PxaSUTxA9C+O^@8@rk$1)-l?+4Wki_ zy(~{&?p+HFf}L5&23#aKSNt$|roO9b9l_hevFu{5(}wX_Ww&4*L)CwZ4vBiybQH+x z_P1r@N<_*xR6Lz+R%lX?tsp?a=TI8MhXWIe&g!%RR}Hf`a7mcg#x2z*sLGMOhVSp6 zG{sXLP8T~#B}KN=!!r&+joECo)etTnh(Q3~PLBZrAajIcxbjSdFI(q?aQK{DTN87m zU*^Llo(WzX5Lo$qr2qKa$RIBzM}vQa>=IUjBAe>?`chUSweeEGqP3Oo;EX_}K@gYM zt?J#cP`{((&Dl!NB%|Rj$Ljbu6`b!5bFo6R@HX$)a;|%nYPhar*|^y@O>RO_-I->^ zsWi>jOY=JMFA0g{IrfqD2 zN&a!|MOCNc{`YTN-5d%~>?&PFwjoniW&RxbA|lFbL%~v66$}Bxo&knk=@|8@yt9L| zchMjGLRjAV~taDPDEA1g^qw(*i} z$YOU-9@=L2N&y1F8&!Y$WY^|EOHV!-4$8{vdHcji%^CoUKHuMlLkfUF8`7v> z@D0zB3L=|JR1ZOK_v#B?G>Cx5ZT~6N`S)XypsUku7(}o$7;_p8M~8bKnxvQDa92U=tv}2w>R1bncL&JJJ|WEt{!RF0FKksBr<897+V! zMyUr{BF_cGCbNIUBH~TWJmpmG=buUb4pxybR%0Iex%>9$@*Bls-3UAME$1&gfr67@ zC>}k=Sb+t;vz;UC0`uF$#_)TtWpCd393<^lYUESl^5XsZODfeU8e=x&^s!>gJ;xSnE2R0UFRF;3~MP&-@j zxJi)jFr~%9253D4@4#xh@|l_q2war1JGLRVsH`sxfzgO@G*9pfE@@Bv$bAL(xRa|M z5HKm8xvTW&=ePs&5aI$1IMu{%-y4^xdblZipkt{QJXt{OeU8|3y$55<;mF=KMazLo zXuKRthT<@nTHS<{YrjqIU?I};!D#E&Ne_{$VN0+wI+}o}E5k}>{Y37zvj4M9q$N>V zE5Pwn*B-g%2tG-HvlqbwOQ2q>?fw!Yh_!oI;70@e-U4I6ocq_L-k%dyJIx!;h==8a zjpcUFCVriA8khw%VNI`ot0`{J$uU@z@_BflU;`WWHQ#N|V)3`(1|9n(` z30^eEO}JljWKbTd@ovR**dSw@9ft!DxtV7+;P0?(VfEJl{pZwm{m(Nwx+041`rfmL zXCwIj!?#Qs^?!^@NE-kiwx@P@!U#tW1I92f%X4m|;~m?A%hk;Jvx0XEoJU4iT-$f$ z2xF>4%Q)aKQb>6!FpJN$@P7H4Dl%li|E7AmnPyhVzXv>_GaX$NZ%>011FbZ4CEf#F zyd^8W=wjS+UAv#|TOIVqmbnVE-1Da(9mrQOx651KG$C`3`S-z?D)BZ`{cjm*KPt@r z{4f}`!7CJ_^Jap=zi!_Eo%XNMi>yxAkdE-avk~R?txAWd*s0lNC(0pSd zJ7cc$K6^iK{A$4eOM}64i5(B;m`@Q4b>T4nTg8vM1^;N|8%PPfxxrb{-%BiZx@3f9kt)U5C(S--IPr)Gn{#`e&O?ft9=BsHX;pD=_(1gRN@WL*1Y`Q9rRDc_elwGEI}1Sh4yzStccSndMhPIOo3 z(otsrNn9di8V|Y-$Z{%IonIeekUe|O?k_3_dcaD^Fhz=69%5P+38Ll(ILpza0|XoL z7r}AWoKXE2Xik9E{a4?sp9rCe0`gJo1zthBmwZ_cV)*i97eXj#y?mm;uGM7RI7s$f zSlfS~B1lC7?}+}dnV@O_=T&or03pZRN+B$&kALe-DSQY5Jcv&;|+i0+blc%))6@&n9YGS z`{q%c(dn|ysGFz@|G$7hQcNTg|KLr=c16Y6$Ej5Jea|+617%I`4Md<*u4d7A(&u1_|t#BCakU z8!TXb$ERgN+tP55kYAt3`0KpOW7SwQbbrxRCXx24reH$2-mXr{?VUx2T0@9@wyEXy z@0+!Cn%d_ zEb+d{$AH%Ax+O9*;>7j4_jL~3N)oGYeq`!&c^txY99+>!4R+lL$Pi^YnfglQtg%V4 zQ@-hAFgSrXw`gU6Kuq*|NMZB!kr?aUYe|^ z3!)-7Nfq#9E)wQ`#j9*}GHXoSpfYd`wA{0QSB?1VtKkF+`MfE4Xf(`dF!mL?f9SYN zmY-S77uI!IR3B8IxG%~%)64k>X`G#2`V5rYU}Klea9=%!zU03kZYThA$|dHW1RCx& zqgRBdF_;_qGIA?T+oyhPi~9_27#UXud30|2(AV8tZ_Q>BaeN%gwQ0BHo*}Y_%Y(jl zsU5#&*J)NB*(NnKzsh9vOB5EY&qg$Sqmi;yDVVJNxk1%|dxvue(C9 z&2J+q!H|P4Q?>0ICs*vgWqAch;8qg$CFEwHz(%+$vV(2;4ZAfo!*Udan1F_l;4ekC zXV_&N-aakxeFmHGMMpPfr%B(Mxz$<<2HQa^8`Iw4bqY7hJjV`JKP9c~wIZIFB$$R+ zj#gXm&Q&!PpVaZ?=gplUTgH6N7YGvny~vks-}YI|A&3x}`by^}lnY)UoF%jppl zbDt5!u8I~(@R}nTIW_&ldO#l0uFpYrEz_KgEQ$%~|GDXbD^t>A?IU4U`0p4wX;_Kw z(YsAXVvu)1k?e2q1KFqL*seWMjdFhm<)6(gLd;h$GK<(ez`PD}4ftn5K@*7<$>yVa zE!va$!tRM`E#wI$zVdx7f!i7D6tb$n&d<&gCVJlC3q0yXI$Rc3om>g?3G=1kpjzif z*W5-D?hW^k2bG84|HO?RdE~#h0Uqqx*wzvllXk@KJSQu23P>&RR9v;JYcFT1Iii{N zlc=3LXexSkWDuNiRHj=c&^8X3p zvTP!JawQ9S>2I)2(_Llp3k`ZNMkoTg#kZ1eGhrNCj-p)~0Mf;5v!hkGVP!CNL(7rx z!Y~=I3R^I`FAw;m;RD&0R&2zd1*=Fm4NX{C9^dM7QSReu zon!Up^74dH>#1NCzK%;QWcz-QW_#rM#@hMw3qqSP7XL35^(fK_*Yw3Evtm1rj& zSp{u9Y5bB8dT$6t@r#b?Yy!$VQi#p7I&YduVRXYTp+_O(rZq*5Is|fz;g!RIniXTn zAnztQd%u7zh}!o@yC5z})O{>CgJu&1CoI*+>6UP5z~ zSRz8?XGhE%8N=qd5rSj9B}8Kil73bxsU$?U(vxq0wW9)={l=Na9VfNt3jk`!O#4Zn z`mr9j-jvNe2vTUIS+c6{hjdgiMwec_L$CR73^J0nSzQY;g{92IHypm>l1gN38K>@5 zeMbayOcAqO(yj;@(kV&lkB#`dV4Dk6OAM&8{8S&u(=@-^H@d!h`yC!;Gjd__maT9< z;>8Mv6Y&9P{k_sgglshx$LDfld;$3jyi_{RYE2?3cZn#f(hgZqG=k81Zen;kGIsg8tU-m=RtLs zRc|NP#lo(96F=mW>v83&Z{YcC6qGp?bV$V8viKsQf*?6x zow>bR@W~YfXj^2ha|EuAzC>TbV6}x8KL&NkzKi zKxe5?M@E)VLGaAS`e)@H70v|b5-;XrWvpyQ8fXM-BFQlk*ulJ}I~GUKZXD_r@? zObtQk&tn(y9hXrC*;_vm2)*p<`y|{KsE#8uIIxl%p6ZqN*0>qsi~KScAo%jEM6PVv zFzC;4h`XF+VJDIQuTHJD3u7&vj)?Ty> z)~P&;W1YZCx0Yjn!2`Efyu(KD zdlJOX!f}i{*?Q(MUBi6NcW_n_%$usj?ErH~NkGB0Cucq`Wq1iHIyqqO17}J(`n9~` z=Q|BTu1GIt$uIhUxnA|c6PlREpT6(=b}(Isv-bZVi2Ggqe*g)oci~qqp@+2}F7^*{ksU!2ED4NP@;NvFI2mb>`DFAukSTrA z_eyM%(24U!14tVvw6pmtv0(vad!{!RjtvMLI+6WjJ+>>pYn|I1$vXU2p{)C*a%(CrSCt; zs`(JiI^OAsM$K3@T=+KtDx_v|hMmR(5~c~k&Rkt*YA~#Zyb+8^))^(w35s6?co=qSs{wFnO} zVQsVpbUMDcFl=823+!-JoK@Ziyc0Ueva%pFJw!dE4ZP<))-dwh;K#z*{e>n1gJRwk zE`^|GBd->W2MiGI0Wa{$J{x%*_YyBf3ByJVA)h+Xd0BxZmjQ1}k%~<^7Le1Cnkjh( zR6W2m-#=+2sH*W82vg%N(ETARBs?b^B9b`;f<_hS3-z){TqY5*{^_LkbVdO=Jw1|6 zzY?y1kIs0`F)M_6k%Dq7JfwwP1{sp-EpUFq8ywyhGb-C?a4Fno$I`fklZJm7bldm{ z|1B1ne<_OMNy-QZI-Wdq=5`(dEesKgL<-IXheAx}c!Sko6RjVUri@gUHLKxJ+ybU2 z$E`PWFXO{ZcuO%x0)9Fr!2&_SRsGMOFDk&|G+7w{XP}H0RD*`SLx+M~C$j6m8S>v; zX|5$h_y4@4$ZT;&XC;1GkV(wD&R6i}e}qs;#GBN|ul|3PbIP6V+FMHpE;ZWVi|T6CLAjbk zJ=wsXIX}RV0~Q=VYNo@RX|zt(0{om3*ct7GsI$rluK(auIgXKQ0M1Hu;S-K58}|d> zN$nSG2jmB11{b#9a`KvCr= zg{oO!OrFYY0Xx+3KSM*K{*^A`|E^pr0Pb8>H0v)uvn3*W#{56zojJbl;9qGJ{#WIi zyup0U2Rw5Zsp|anvHg!y)E_fld*MFfN-=s&e=jy6K0ZEyKO3lr$vXmpcCTg#GchKf zyYdEs(AzbFh&I8uf8oL6Afmig)TJ`y+cft!v*u*i_Uvybd+VRvYW8}G1A zf*$wyuB0v0M)aJF2YF&olwFB3a#s}jX5B>_JDqeG@2>gfE3EVEK0p4@Qq2cI-KPJx z{FcAiGJ&*OBCOfdEPrVg^3_7gNthR_Om~(sO+&*sT330@Qi^G4 zT3+YY^QTVbFPf8HIrHI<_Fa;FkCxP!lRO4$E)%lXh-LMDg}dLTnYw$MuR5zPQavr0 z5?xr;V^i3~4s=gysR{}CY|1NGBxV&JE6zWMZXW3F`Rq&$V!z?7^X(E*Cgo;!`3EN} z#7ZLsXva1+YxhgjgVMBmb8ouwHZne7yy(vpV4LL-aqH%$iT2iTe^1i+d)%^VZSik6 z=d4h3Hbxx#f?YO*D3anghlIqNJ=QSry7tPfk{)z@?(l5Cv@G3QYYi2cl!y@)DFj_uZaI6ix$61{Xeuv+ z;+MY46LmwY=UR58gYs>cyh2_M_Gz|X&u4E>H5*0AkBqRD(T}Q(4xDcCGG@-m((vz! zUwFP4SnmeTiRA{YeLMyfe}Bz+ymn#6Dtk|dP3wsc7mvi2_?mPnlicn6UwgPeab(7d zMX26zb*jd4@?_0#p5nO^q*~!ddqY=BRz~?x!Czl@FnHatX%if|pvRU$Zi@=Ce6rz5 zhX7_|0r>*LyN})Sb%^DNa6rGi_vzy)2#dJeoaVBxy?P6q-r42mybpTCFT2&85xk~) zMy>bBeA4xasqTj<9C3^|j>U-HxNBT?o%t7lw#?Yoo+wlm#Eg9|F0md~$tnI?^(0Hp z^f>aSuMckyL;}Fiwx!^kcqieOi`E+W#|ne<*v%0~dBFM3u;$_?1Wi4oT<8kT;uGI+ zlNg5p)wh1P!f25ZkLkjy9d$1xb5)v>olh@se^S)RKAC}{S3}D|Y}W}*Qlqw)*XE;A zT5s(tNue7yZbwnf6_ZFBRF-S7Q7iZP{QmTDpGK2nXB)2EPJ#&aufADG0q01NDRyT5 zM4>A`sd?#V8ujr;&s%+p#u^ z=QNjj-CvZ5up*D~dz@eTathkCN<$0!&S3Q30m|{5g33FF~X~r=l>2EA;TZi~sle2Y z=X~RF7dugFH27P}(#4n??ggdG=)F<*_vuE1X;-(=K9Gis9hL<_zjJk$cuaz;N5SjP zP>5K?NzWQVeT~igXY9$|esoq6h3#4?6XhWk`r&{jBP!O^g!!JdyewEt;dPPJ83~T0 zV&m~2cXLMKLZV*As(c{sFm03X6!Kg*2C2d$;@6Z^vTkRW z@Me5&ed<5280@tTP{Qm{7#}$E^cuc$TMrwqJqQ6=t(l25T|78kp3)}vq|sMHZ!gkZUmVRI50mk_T128Ik940o2d{`x9x7w?2eo^oqbeTcH| z|E?z5@+2XuovWM|u+t8Ce3RIdlMQy8)KW~2q3+O_4XmWkCE)nTT}@YD(uN-Y2yR>1 zL*BdoWbUT`Bu$hnFZ`?(J6o2|Tx8Tg_n-$=n3M)96w|m z$|k4TE{ap*{mV8JNG~zsdOSMdVqJDwywh~No)M_vajyGSo_5f&*Eik~+R<4^!PQLT zXvA#mpF%&U0!HNwDgGQ+>XqvC)}pOhT797_*J63&k5g*$pq*h-)qM1dcE;UVu1rgp z>}WMau^Xuy1;0ro2R*^SJ6C)t4b}JVNA91R=I!Sy8YvRbf|_tF=GB4uSP3yzv)!4- zHgtgAJma^3hwGogWVgK;)kEcv2xmXM-Eyu2xt_mWC~9*R)#Z)3{B62sF)O|~w|KVs z{((S_^;7!wXL5~C`nyMLjZ7rlN2-u zV7I2LBH{?K>?BR#QsetsvR8Lo0ljfwpNFPt;D)>9p?%)McfK) z6LLCOy7Afl&QS($%6{9M^U~}JBjx()*@C2}3y3c@;=L#BwSD4=pOUwUORfH@>A2|# zP|>0*#o5)Fr*Y`z5uir?@aw-z2Hg_}Owz5d!Qq|xUvR@dvUUN9oAEn0P9B^P$c0s( zxjSbI$fQxdI!(AsBtZorUFF!&Ip8t&pjxoD0pEcPtKJ%6rrOTFJ&m3!A!K?C%&TY8 za*p;HPr)Ng@ zktSqJcBoQ_p<#_xpEpR;%Tl;)_q0dW`#f0X&dZ?yr{0stch&#UQS%|R$=NL#MGm?= z$*hQ%ss&Cx)KlIGe!Ev+5`(-?n3$PM;towg#AiqH1XHZJ-mW{8Hs7fzT@o)rH&UtWvrezDOxo9fzkszAh4=Y<|Ep0>DTGnleWW#wud|ow zhMt_Dnc+7kYYSbw_Id5}Nt_?_J+2Vz;(w5?67GlP0sN9?Xte7#*l&nrR&9R)%HHdK zaC>KsiTtbq*3zf)B0lWa!_0bj0Ik#3SF+@D#j11am;xr_YlkLJX=i%(RX9o+j88mqHq)J;gZKqJ1l{1+0HSn znnEEFElKyndmrMHz!-wyrV^rRZGLJ@QLYSh32(18&K{)<3b=thmbQ&$Bm5}uoP5M@y03A!rvp|uqrAY~|-qtez0jmgpM9xuPYC|I!nXCE-_v0&ck zuJq=c1(z$+DPGVi^vR6?l8ue9II8M?l=1Xth(pX)dbn;CQH(n+$G-Pd37&|XY*z*{ zN+gA;P7eZ9_x+%Wx9Y>b$7$uFMo%gDgLG{v-<{8WyKwxR!kw$#iu^d1E>!qfMLVPA z*By0IMX19nMvp@7v$p`J(A&RyiZ7+oipr+#W)BPxkJp|Un;@#pLJJl@%#;*wiY4n* ze)1@z8J#-$dFlN~YI9C$KEN$}tYXf`sie|Ljv|~kiGy*t+4x`w>|emR+$rWoii`X) zO-BKBRtXOa0P$geu_LrtYdhoQ%QU+j!E$jP9+WQ~J(WD%~FR`0fzh zD3%{CN-)!JRc3akjDdya(W!R#i#CmyNPYAR47pjOqVEK%+SE7;BUXvy11U&Wd^^cV zH3_pa$?OtkPamhi@qTEl#mm0Q=LHmDi6EDii`cWnr*!B=?*RodPvxDv%Coi3c_*Bb z>MY@#Hnt~-mO(Gd)CpPL*CqsHVvRz05+eC(Xqm9XUf9O;B3~n@Dv9eoHFGfYhXO}B zeeDgxH}0&ER|XGz9ZwC3L&G%Vb4{S{0+ta?{M#Tmggx?Q-!1ixcj4Hm3ldBm~ zxm|zn8%HI_EOjJ*XbJ07mCn$ey1et}E%tby=+SG0kt)L>*NQmTdiSJ+;R2OA@+-yz zTT0Zu)%zk}orQ{B(qn63=9b1mLg=tx>!BhWQhG#$YLU*STkvNEF?6Nixwfob{{B|@ zWj1%rkCCHs@uJ=6Cp~>?W5RQDP0qnbg%+QxTn?u@{=C6Gr&JCgjsqWR8byiX@`en; zFCw&LEN*V#Ef_gQ5&j(d;1x{AF}}W2$wrr zPK+`N7FSlHH56ZJBT80Z!PRf&5$y`RwOx_zD^o zs&-iYLwV=^H1a^0evdwte2Lx>syBy=7j<}T&$`SHCWN9l(Xsb6T66ScPy_wP-x>RR zhc1S6h~J}!;E^MBZBa?G56==zX+h1}z6;345BpAKTQL^U4A%E&|JyKnoF%az` zm%hTE+NUq7KNLvOl5mR*6NCEW)*4?iR;Yj_jfO8@dCd0Tc~QoY`OF`L`^X6a#*McB zxi7>OOXXLyGPNu-D58H&&tGxG=NtFt)^#Kxhu`fHX|rDq63;BiOC4_@soHW%HcNT7 zI=}Ik#1x3IL}Q`65M?ryG|xh^OctA-sC)%|g9e&94K+|qdBOl@73MsKzI?Iat70)$xSrAH+9$UFEVWzY@s^_gG7$BWt6 z)}zg=O)dv5zWOVLHj{_RxA9Gos*q1>)5hs56^tw?g}WBwre zNuoj`Y9&&d`h~sZQh4*%!Zt7O17^`~8T6fr6rEyWMIn#4t{a`%H}9|x(n0i}iFIEe zX`=@Y%TGUX-7w}5k#2o#LeBG{()zCgOrAU74(RT!2&g7)MRk3}5()EubmPwsag*e! zZponctb^h!k4U!TjfjO|mZ3BOH@Ru4j#LGHqS~gCFn}7gkp;;qg`zY-nEX4L%>01M!>?I*8RqZIcXm&cgt^tYTIih83Z*A~P48DRSW21}6Pz-|X` zxZ+3U>GR!lovVi)0bLOvz88zVsU3Hj%POjmq2ubkD~o#}>YubM{^%Fuw`qOc-V_oR zt{nDR@5Xl5Q~74oq;{@5N<`}8;0{=zPod4)O{k+zAN1|8lRHn6fja5&c!PZs4Q1O( zx+HBYzk*jy!^KeF>}SoTKsWN=_cE}Yu|o6DMl~NL+_kp!r{qKc3mo}h98su^W#Xnj zzLe+hfe5-f(m%qzl!*$G$TSsXWNUair+mn)m{&lz#TDxS{=4f$z*fgX3JPD%RZKFS zl5d=?a=z?x?=a_EWwBAYopG9JSuP;(Ej#=N#bS-sPqy6p9eAk4WmkzNlK!iEt#An4 zKCN;xOgW8^ehE@elPXLkx6@9b+d9J$F!$5W)rW3KDls|Q@4?Go_at(e6brmZzYB9M z&DI+I@IcCgg^u|#5yR1J>s?Y4fp+^dNBdLGJDdRJw8u@iF&3F8Uj0d^E-7oC6iFuC zl}Pi&#+)LkuPOa^VqYhgU5HFWymiKmOBOT=={liNzLQ{mMX7%O$7%%6OLTQ)_4S-w zu&>4*XdyPSmOMmPVeQoSj_>ECvK$?Y@ru){3tgO#8IKD`H$SM=)BhXq$jR?AI)^b* z@2I>r5_?RY5o({ctYntYBYi z&)P|vJChP4tp2D+R$aT1BV#{B2vkEL%l{nc z9AppV%%QYqqx$~H{1^fyEbX_D8?*?1a4fg`_|aG7MMc67+}H5#PXa9u^r(N0^%Ch= zX9~>SnCp?&{&M%WwOVP`Xo=PWzT{;45>@!>_Pa|pxq8D(;6q{$@!eeCDRt4aT9!5@ z%(UC16L#oQ95W?xOX24tE<5pOekD?z$5jys$3XSuDp|wivJ3LVWhEv(Sb`3`i$?3+ z4Z5qyKn?rz0t?wORUl)mAr-sqR)c1D6c{J%`#7k^)i^XyK+jy3VWfO~@!|TzZBPs5 zSQWzIu0R_sYFns(`GmdgYl16d|8-}HMU%HYs$ZU;p5STtMzwhCg{lC__Ndi1;O&bj%gKP+j= zs`DQzpB6b0v)E};KOj7R5nBsv@_&OODG3h3yD!wQI!+!R5HFy|K2~{36Wg|O3r%7_ zcT=-(w%02>#G5~9311H2g39&3F7^b!7tI11KClUpP0)R%c1ok1_PGl4yi8%|#UU8e zML{~d%7GDUCK0o1$nYarB_6)*QbR6d4DKPhs`Y1Bm6ZnpUeH&rG*)G~lFb zKm69=88t*SjXh!|-a_L0(uMRfZRF@`cwe7ItG8zbB*$H;Me`I-Xjx zM62ChTKfF^X`Xse?8@X?&yLt<&6HSz?2F-W#HrcGn?Equl!~IudI>PM)e3wk{_OLc zE!pVYg(aKpgy;O<9+uBjDgGXv?`(%(L~a#c#A`H@7dRK^Ip_Bb!V>yC;_^GLZ6wNR zmBl&Oc9GaSS)@T?!AU1D}JK-$l^c7dnze3Ak+?oUfrkW_RPulkfW%|`Msh=rOi7y!k zI2dv|MfmD5^ia~Vtp|Vhcc)?YT&p~&fB3$$`vs%L>J8%CC#2!dKsoGEm9R zbE9;3f$ey*ld>^?$Vu4Lc|i~Y`|P=^!uK#%^QE*{3!eA7G;|~GhvmKDK8=+&woSyl z5T7IN934eDrBDnp_Pq%C>hm&p6E}HfRstH#Y&S zmzS7@{p-`Wy|tFa2OA_!jLaqbE-l<5fBEX|GpTgKsh*M};-f2tnQT26^m9miG#oG| z@X5!tYQ;+zf;#@mudfC!3!0)Q>re!HUiM ze-D{Jg0z-HL&n!x~pOIy@zDv`ANe$K$2ohBXxV zgQ}xG3$&m13scWh(|4)6F&-OlLw7^@BiirgOl(cquU&Dqp8B6C_LPbQy~sIh5ec)g z`Eu*LHz};ca%OF+B&D{`+Mn;Hu#+wo5iL{e=#nO*!D2if5hk!~20y(NS`#LD@{$m> zZ;Cb?+5+dBSAS!Tpxam*@C&T74- zALNoKnC;0=nR?5V)GYscN7h4)T}%$jD^-m>A0Q2O8y+zRXt6#Wl^$JDb7>}qcpnO$ zzch-yA3iK*F3OBv)oNxN)ZZiIEPVBShrs)yh2EQ8SsU$EQ!<=~%wAM@q)z zQur&53~n($t2Ly(O;=dY5F7e)n)X%lG~HL!jWj8tmQwG}A9>HiOzNFjr1vR3*W0OE z9!S=ai*MnCpik7+SW~wz5CRZH`_nu6TvBstLPXks7FWxuY zsHpJGhjLg3E=UxzvC+5CK0>ZMFE>8CbyB5}W*hvqq;Z%4AJA3#RP8*p=p&8L8{%M( z>AHcKUiHxKtTy!>L*@spJ-ev=BF07@X9f8FiL-#P&5~Y`ZksRB(2xbtu$;QDn?J?P z|G?9P$Mr2$P|99knwh|py`A(_jD1Avfq!_<<-pm9*=;KgA?DkorN(MAZHvkHs08|{ zfTvcED4&6O_+eAPWkQqxp-O=}PmVv?SJU(MIyU$B+aJD381=WWtcB1Ldho@a`c);9 zLVt$??NjX|PsSeou)FNLPbcR~{`DHse8bFU#e9hXp#SU=#u`(+>9yJI1DEZXY0l69 zFZW-d80SO&?eE^-O;N_ZXN#_0gjjNLcF~F2mv$@$UF6EzhTL@ob}9UnYU46C6y&hnM=UhCG1hw1Ud2H#|HKm-WwgV;n2?U z<&$U|%VXh2Ms{qT+s+OO9*im%7Dle9a;3nGjl#p+7>nKS-Z#%$_DsCi@Ayr7pFDfY zR(PvcA)NhXyX{%ubc3BS7{WG_!Avd#m*%op(X4>xn-c5m zSjUafS*Y#iC?<^lw1tHjKg5krZmDeVv7C^*FgH;nvCpeR2G)ei6{%NF!|r5iY&)Yq z6W7wpTM$+Zjla7`J!&APXDHc_Wg(x6QvFglvH#49tffQxzTc8>L{RZK$hR`<3C_k| z->znR9!>mr`LA`C6#O@KEaTT`pASg1+lT66mP%yvaj4 z(n8xC{%a;90SSFGOxzSzF_RaxLq#W|*MpUM@ssDI1E8aJH$zYKMI@E&zLiydqpqtP z>Dy4_58;`HJVo-HV1h!W*QU{nnD@t;YCjf0ZW-ip!x5Vw5SuvzHBKC6#iml9tuP|u zXB!68KuRrfTmIHBr|qLe+_}ufbdk3}%9C>^FD@NqU!q)Y)FBGFF8#1sll4^U0b=k@ z8q;5Q>MVakdYX1vf9rYW^*G1+Xpbsej-9;!7VWn)h203D()vhF9Yef}oJ2}I9r}ZIE2W^&4&(GKy5n$(= znWoMQdCFuF(R*UH%sg01t+}na1#Jh?u0&&_Nx#W5hLXRta-}cs`1h-`=%mPQfu0BD zB*B4f45G-AFrSr*Nt`#iuTv17E>WE?@#ZsT*nI!@{hwgk($t98#$^NH@h=8sjQi-Oq*-x=Hd z%c-DH4F5+K?%ACh?dS=-+>C3>#T;_xIscvWGBBaFZ6hReP%DljydQJNI79z;Y{`oa zalVI1>A?yi-qD|Gti1A-XV7csx`G47JUBlBG%@L02Q;7oAVL3p(9lSAxv0~Xl{B8U zqp3PhG=MrT>`Ul#a$pTp6>X1|WSM@^o?7j9JI>taYZnZZBtPC}8SLM`JdNmRyAhY~ zTlq-nMg8hr(lu1=JW}q|dvAI(P^UiaMyu73OSO3hX(L}o;8I{EynS_cf1Ao6={)ftU{$_uy6a2PE?qoX$-R`;MrjD5IF?#?ln1CE^?%R3u(@wNE zHRt#W2r(gHqDv)LttW@tHHRBUJh@g>;fa4XT+g-WULL1-j@Ybz(6dJw)Q)gKH~)|^C$Nx zo5<|+W7+!S{JJtXp8g^A(L%SZcbe(PA4G1pj{kP)q7vnn*fDmhJl5UsPB#%8uT+;3n}>=4*Xl@DK``~mp4H+xa7O&yeLv+nTRETD9T?^B$}5ETJ}6z~ zo?B92yXyQtu7A?u;mke3dkDh5N9-z*Tjn#5q#s24%HP-D+#2t=DEYdJZ3P|QK>2l* z{ZiRpxy#z-(3G>M91cHh2Aj$^mrq$zUK%}2xblOAo6oF!r#{xZOvJP<{OV)7JCQtl z+7W5=f9y(zG(Uc>9zY2TQV*FZ?N`UBu&u6ncZ}L2{^JodABTiY%MAKvnzqF1jBCKx zYgsSox}3D@VX@6u-*w4!R!nl68JJOWHPf+bK+(kaq*c3%DniDu7;979r>Nn?1F!s? zS@)uX=Kd(Sk;C27KPV?5YUZ(AQC`N@{4$%I(E^8p{wZT1ChbM=kkb>6jJ%ndUN_o5 zr#f`o2)|p0M^1acaY3a>Wqa(*mify$FEhU0~=gqfl)ka+Kz2y7i*UctQ0)g zi)crWZ@BvO*BhUU7iIalIM1$V1$igbfIMc?!PfhJR8droQ}tSp1lH4ny;&ow4lKL5 zzz}*b3HcAmo)UZf)RhqTqF}2%_f*x$1x2(~b<0O@O3SFYlw8PfUi~lX;gb6G(#Xqm znp(aIlg3)d1P6qNI;>uWCwtR5iZr&51^bbwKjK+*d>3+ht7s2np?BCja3{^3iF+qXq#TVC_Hm8ZOy`DPGhQ%TmSEBbBjHe zLELnL=N{Yq@B#FZGA>akyZ%2$?OUoguC&po*R;MoJ2C#9lkR;h zkIW0acuhN^wcyw}Z@-9V>%)o-U(df>#cH_iV4ws$<*&W#9Z|b_YQ%<{N!$}Z{^l23 zUs!hU#PbW^7YqMA?xU&|n)3_xElTVsm|NJi&|zk|+wLo6J`N>^BKBwRY$`Z*Vdvud zD-Rf_uf^#ZU$h)JwdHEi&FQLU#kaELP;W!tdz|;}zCU<6dCP9+1qVD24KDJ~PbXiO z-cwhkHXP??FKs<~2WQW_KgB0yPW9M*2XlvicY59Q*3lCEoeQzb$HcHJ=TlE<0jq|| zxPtY&{09!Ep1juBQrIV8#=6oc36~p&9DaU)eE-bmla2drOAYm{bMLxMZ#WfJ_#`VY z`TzfL$h=mY8|#PbwXR$0t*m?^p^$J*xbO?M2$s78VmKOf*U6QpUlQeb>6Cyd4%FbH zK`Er*;vXG8ipN1>EEtqn znyusFO}K32*f>nY<4h)+I4<7XxF9ZE7>MJ;DiB9^rxHXYG8xBUxRYsg27^2nMzR_K1QQavWY~kR_m^%y2C0dk<4PT zj4%`m0kI&clN1_2M^LC;%pmPJ0#GedK}rn-D{w|!AR124aPfHKLLINRxa7)?g%s*G z?hqDvtl70zd=u5PoO`5`{ovhLA~YiU*s@B9Q2863GI@Y}pM%h~z>HXn?LL9!3-z z;*WrKqI9wCjsuG!Ns%8nwA|h(>-b_%lR%Sz$Ponq3FK%NMGUg2ARVN(LtD7_ zfS#;^kOBtCENqNtk9LV(V0tX&52=w$JgHsG=9*!WbTAm-b+ldUGRP!xC7@D+#&mM= z?fJBVGh9w#;paQ+6h$h;~Wnc`ffz>gv636G`J`(~WNMU@B)JrpDSD)_K=87YO{)Q~5 zfyBR-0}99#17zgpM5Qq31R9M25IpG741$M<3`T=gfX)Pg_9*{c4#;d8a_{V@>i?r0 zbm~_W11O}Rm`7|6t9{^~lr|5FBs!W-BN0F{4It1+q-X+*NtY04WR{4^6iYlvbg(_X zKasYcH)AYq#+nB!5tJm6|6}!Ezj+RLUR`V633TM1{Dmc~f?j7Y&TF z=nc%ITVVVbB`OA05SrRzah4r4;r?MU|MhD6MlFdst=MI0tjVTkylaQj-dOeQXpCDB zW5Z^armyjWGWP6$+`u5M3({AzEhukqBHy%-c60A?A-185|7;&=J~<2b-q7K{+De*N z=>?{9wRYw$2yX9L-rBCIqt^Alzv!6mxs&afV)J1ctU`8nAdk!;_BL!0Qs;C4pC71# zC6El{31AJ*4}cWNCjV1Q1PhZkh_@EE29msDA7q^A8Le@YjWqs96Kc9$7(?wbW)Y`p zF5K9_%MwftI+H>|UPQ9-dz-7}ba&UOuXnYa?(W*@8LEIZJWAVY-G<*bp`Z?W1);{7 zo`f1l&B_TzK3xKN3_6{P><_ySTLfpC3WRi^EL;E~J4Cf{-$O;h>vf`6$EmM!w3v7; zF=qWCpE4mIa1lE`;cCAsJ2qK=%Ry&Ee+#@B6k7xpxfop-U8op9WsIo{qYD)SsEjdn zVRWHl0F^POE{rZz44^W`)P>Q7iUCx{n7S~!P%(hY7*iKU7b*r&8Dr|g=t9K+Dq~Dt z7+t6sKxK@n3!@7a1E`EKbzyX&VgQvfrY?*wR1Bap#?*z;g^B@G#+bS=x==BI${14@ zMi(juP#I(D!stT904iflT^L=c7(iu=sSBeE6$7Y@F?C^dp<)1)@oUv(*ZIr{P=P!s zLW?{RVsyqc9P&Jg*Z_fdNciHqOmDk+q=Ee%?;YhwIi;`pe1bjOMhh?YSt?{lh5AbP z(}&H|?`>JB-@162?OaDI*vclx5SA8^8pF8l|JXVL|C0Ml9r1&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM z&os5wC>5wC%hSa%#KM2?1V*j{3Ovleuh^DXho+}Aukj5`tSHdPidyxzZTIwZMH^O4 znB@4P=|=w=t~nFFpL%X59%0z#SY=?;bm5Y`OTh`_WjEss?+Z6xNlke4c|qx<;>{EH o)?c_Lmz1*HOC-RxEV+z%RhIIU<1tmCKwB9+UHx3vIVCg!0ETE)kN^Mx literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_MultiGroupIcon_Light.png.meta b/Assets/Cinema Director/System/Resources/Director_MultiGroupIcon_Light.png.meta new file mode 100644 index 0000000..a5eaa87 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_MultiGroupIcon_Light.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 2a71ea7c755dfa14e80bc70881d3bc65 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_PauseIcon.png b/Assets/Cinema Director/System/Resources/Director_PauseIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..bd458815101a261dff4ae163041c5be20ad4ee98 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0figD*u3fvP5Y zx;Tbd_-~zT$k(92%kv7={KEAr&psiX?1zWnmyu{hJxDH%)JW}QBG zpL5MtV==*8o2Y)zCW*(hq*IshuT}3y8fyi2+t4>;StJFl?qqBaPx%wuW$N$d_OVFN2bZe?^J zG%heMHD!e|WdHyH3Q0skR5(wil06QBKoEsDT)>1wcnS(y8XArOAyg)ohQfqO8)NhW zYhne7g|YMi+=&9`Gq?dk{3H32w{PFf?f|N;>%SN@zhT%^$`Wj0+JLqOvpqwpiSPTf zEX$60o}U4Y$6hbrSx6v?qD@(rCt2$@cwrcBpPRIcElwd=Rn}=M q=H&4o$(V9Q;kRG;TL#U~snrdL#B{s2Ma+Bv0000!lvI6;>1s;*b z3=DjGK$vmro+3}6phSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TZ)Vow*x z5DWjMlg{!sDDbpa7fAH;Jra<+)72=`(9B#>z*D1tWf=>fl1jW&eEkAePfgy7BGnn) zO2QEb))m;BCTlyUu(5Y2Xxs^&z52(Y6DP%Q>{+*u_s#;1N6Zzu^MX|OUs!H52F(+5AJXa>Rd2aJzu5)RhI4g3sn~u(WlV*Lqpz)#Dv9=YA|L0$9iD_B>rCvq2 j*!uszB7NVF)}C@TsXC_qujbP0l+XkKJ%MTW literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_PickerIcon_Dark.png.meta b/Assets/Cinema Director/System/Resources/Director_PickerIcon_Dark.png.meta new file mode 100644 index 0000000..0b70047 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_PickerIcon_Dark.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 55ba675d1598a914b9cddc348254e51b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_PickerIcon_Hover.png b/Assets/Cinema Director/System/Resources/Director_PickerIcon_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..3d307c29d3e12d406c6e4707563aa836717ae199 GIT binary patch literal 399 zcmV;A0dW3_P)N2bZe?^J zG%heMHD!e|WdHyH4M{{nR5(wil06QBKoEsDT)@ObcnS(y8XArOAyg)ohQfqO8)NhW zkXS)tVJtlWhwv0$0OvF81{CqH_>#A8-^}hTsJgEIqSyR}ep4w+7z>jIwAGt^GL#y5 zo;OX?bYB$35zu(-J>@$K34~#|uBz%F>q{HFAP6>(P1?m4r|9B5&zG+2&LPXP6&`!d zP0Tp$24k*DkYd}m7fF(w0gcBV8M3C%2ze~#CB&%|ioOCGk3BMEsew*|vMf)8h8mE0 z)xeCv%#P!v6arem!_Wwp@B6cNk4T2Bsng=VkWUoH@m4o!gBL~7jtp5%r@`Hj0H<(O t<^^IV73df!e3z+C_U002ovPDHLkV1m$iqj>-T literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_PickerIcon_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_PickerIcon_Hover.png.meta new file mode 100644 index 0000000..eac64a1 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_PickerIcon_Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8453d0c9346ce444cbfe20da242867a5 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_PickerIcon_Light.png b/Assets/Cinema Director/System/Resources/Director_PickerIcon_Light.png new file mode 100644 index 0000000000000000000000000000000000000000..b7e0b7771427a5ab779e0fc9d8594189d7e88ecb GIT binary patch literal 456 zcmV;(0XP1MP)N2bPDNB8 zb~7$DE-^7j^FlWO00BfvL_t(IPojy97vw$E@Ef=O<9&J#5oxHC*~-MZV>sz zRS*Q1vcBUur^vmsmSx$~*z+UM$W@`&zVBa%S+FeY81)aDBj1O$pA2~s_GN5`zOFH^fh94C+fQXLfip^XKWU>Rd<1R0E70R yC;gMd7~8f_k|cQ`p68vbdWbT)3CiT(X=mTiUAMVuqQD6N0000!lvI6;>1s;*b z3=DjGL736~_k^`TL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0figD*u3fvOgG zx;Tbd_$UAP|KFZjb%xSeg>LqljE4>#TH4doleuTlo=P4bo@+;1c)P?KW_35rI?yn4 zrlo9(#03TI8n%Zf3~2&aCWOSW34&M`7$zvLEPj42)ul|Zi_w9#)qry zUMt^XSa2-Zp+@Khli8%014oXOuq_en$lk!J<|odO{7}cP*WmC4-WzOJTQ0kmg!61# g;^TA4HJq7Yn(b+?BE2;ifNo{*boFyt=akR{08STV#Q*>R literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_PlayIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_PlayIcon.png.meta new file mode 100644 index 0000000..e102827 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_PlayIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 9ce55bdf21eccd849b3576bc11d77565 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Playhead.png b/Assets/Cinema Director/System/Resources/Director_Playhead.png new file mode 100644 index 0000000000000000000000000000000000000000..df29516b1008f584e3e68ab23c04123ece41c517 GIT binary patch literal 1481 zcmV;)1vdJLP)C8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FZT01FZU(%pXi0000QbVXQnQ*UN;cVTj608n9RZgehAMN}YmGcGkQF)>H; zLN@>a0zyedK~z{r#gxBm6hRnJFsG{&DrEP`63ut{ZzohWEwCs=49*d-tc)@f`6 zJHb|)klqmS50GejA+{C@iXavug2MSe%gph5``zAM94-$$+}?Y$^L=|eGb625Yex;k zHZx-7g#%UlCdiU z26K9i%35IFk|enEa9=-|7&BpLIBz+f()yKNYn52W)@l3$fy2@))>8zmTy9-kvL47<1{ooh1x zc7?!Ttl!(!Fl=x`I-Kq3FebV;Gz@#lKF@qkX80|-r>kMuhh8*87L9E*4EwZ`XiQJT jaF~YSFb%`u*&6u^2hNs*yAD~o00000NkvXXu0mjf(Wj*$ literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Playhead.png.meta b/Assets/Cinema Director/System/Resources/Director_Playhead.png.meta new file mode 100644 index 0000000..97b0086 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Playhead.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 58a9a92fbd806804983602971a51190b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_RefreshIcon_Dark.png b/Assets/Cinema Director/System/Resources/Director_RefreshIcon_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..09fff003e70822a84b2ce12bf5ada9e1a13ddd0c GIT binary patch literal 621 zcmV-z0+RiSP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGiy#N3Xy#Yu2kgWg!00(qQO+^RZ3kwhx zAL6PhegFUf7<5HgbW?9;ba!ELWdLwtX>N2bZe?^JG%heMHD!e|WdHyH%Sl8*R5(wi zlFv#4Q543tN~3YsX0ROCX?tTxfYMWn9PprB=1Jwp%BqL6CUs-h?e3XB*CMa7k- zCL*B=kqmX?Be)U!?&1!E8YC@#%(>q=-4op#dtVY9|;HlHgLipN%~ zwO1;Y4l0$(elQrkM5CBitG&Tj$Ye4O>XDk+P$+bwR;!;7dnGzyj_3JXn4iJxZw;nw zHrq$P-}gy00&6rHKVf_USENZUms_QIX(2%|v?j>%`TU|F2pjmbCmxS)Hk(bJ=EcHp zx2r3c%geP|%}FQ}3Z8bmt*7~3ucz#EI;`DppTSy2b+JLUT3y2SjzJWhnM|hBdcE$V zd9dd9`!Do*{X1ec)x`$cY}O6q1DO#Ab_Z>q=70%oBiF$#Eg&A<0p?plfq*-|#y95m zdZUrW-uJ!7;{(nscFN^)h=>>wu}Y;9 zS`poDH&`qdFZ^ryvZiUzZQC9YQHzLLwrw8|hry_S7PthvR~Kr7mTsp zcs%}+G3Iq$mrAA59Ys;@Tb7j(1mWj$xm=v(e6d!my_(PG9|07%xErQvz9FI`BKnle zwOyx2GflLkw_#Ii^cXh=Pm#QgTX7huK&<9Z2|zID0&%V-gdj~OC%Cg0JKqJ zI2^vNs_H`kA^>4D8oAkQb^>4m0G#u?)oS$#V@w8+1HdXMGydl9z~k}!QdRX3z=@(LJe5j42m}HN m05qLWk2{^t_cNXUJN^JJsn{8$C+*7s0000!lvI6;>1s;*b z3=DibK$tPh@oO|tkiEpy*OmPqi=dF0$!+iQoj@Up64!{5;QX|b^2DN4hJwV*yb`^< z)Di^~Jp(<{)K;TZ1_s8Xo-U3d9^P9o+Iu?%O0a!cC$OUNoF|*<*Zu|eUvzzhm_?;j z4xK&uhS|hqi+QKx1@VrI>D`l?1wFmRmI+z8@bdB{o)7+hwOQ`;ld=cpdbaDo*Pegd zv-S4d`lY;Ymq5{fuW8%b&gK^KW-=XHc>73H*0q(1x7&0%coKz`Hn7}Pi)c%@(<^_Znan(5IQc?{^X9*!GsSYiOj1GOnzZ< zH?RDp$yt+oGpDmTNd~m>KG^@M+Cf9))B?uY_70T|vyMOBdG7gVnGFiPtwswN%{LsL zb5z4_K68ba-~Q{4YhQh>>b}+xnG#yjX#Rsi@Av*Zk>%zG{67KieeStNu zR$ujcG}km!VG849i3E>xxuVk==l_+SH|K2ah0JqDpVh4T8NSwBqIK7=ti1;{u3Qa& k&HH8k}@P)%30000ObVXQn zQ*UN;cVTj60B~VxZgehgWpp4kE-)@NWrZ?j0004}Nklb?PTM7 zlADhqv87ND=?f2+o||)?dwaQY{zoj!vWdzxV`@NVz$Ea}PjCSC!R`R;0ST-FFEqT@ z>uFJv6IqroN~MxgEEaDSMG1xWbGcle=lKkJHl0>KBw)x8#aP*nRH;;MP;7w)pp%5r zHchjZOeVAFS#etZ1O#=k1L&``BbCeLJOuIp7MSVFAnl8oDVBlK&^?|9aa)O09QbKfLBl* zR2%yj{_PD&a0NuR#T^w2h3js& z`$CUMrwjx8HBHkVMNvFM&zjTfCm^`TVP;v`&Z!^>=~OC}rRzsQ`xu^y$Kz@AY&)%f z0)jaRCRo|d7T5rE?S9b7X*dtOV4y9abtIv|E+fgv1>^kXaNG}p>{{kEM^$400000< KMNUMnLSTaN8R-cC literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Resize_Crop_Light.png.meta b/Assets/Cinema Director/System/Resources/Director_Resize_Crop_Light.png.meta new file mode 100644 index 0000000..35d6ede --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Resize_Crop_Light.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: fb927d25c06f43b46adce6cc37c6fddc +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Resize_Scale_Dark.png b/Assets/Cinema Director/System/Resources/Director_Resize_Scale_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..0f43b0ce3ee83cfeaa51115e2d13362cddd8ef50 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dj`K$uZ~dIox?sjWt-KsAdzT^vI!{F5aVAN>FSzw?BI%C~oSck`^7w8J3aC655x#`Q5f zgSb-c>pwnnHM_x}@SIPt=PZN5Uil8`135{&4T%dP_yp$v|N1)IXhK^BqetRZo!lvI6;>1s;*b z3=Dj`L74IQk1J+CLG}_)Usv{fEP_H}CbzxIcLIeZN?apKg7ec#$`gxH8440J^Gfvc zQcDy}^bGV&Q(KKvfoisRx;Tbd_$UAP|KHwKVzq)M6kD-1xuoz235$rFX*jje>(L>H zqs9&rN3LDFrpLNzes_0wI`hwjlh!*7%$OU#)G6dOoDxiD;9)*m)bPVbTRYom0vnfL zBEtl>cGfE|-{FdgVk3~?3PbA6iyarGx!_&nv#NzbU$p`rw3^<$@vj6?R|LeCs8A%*@2FlY}Z#juK z-BfAFZ8`mquR)bP@W(Zexho@MV^0f)yU+P}Mbv#C^X{3ltD`?nWG*jn_&snS{Idc^l3M~cN$>8bg=d#Wzp$P!e_C=Qf literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_RippleIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_RippleIcon.png.meta new file mode 100644 index 0000000..19a0fc0 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_RippleIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 0ef66ad3db051ee4c8eee71a7c6673ce +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_RollingIcon.png b/Assets/Cinema Director/System/Resources/Director_RollingIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..308ae3b6fa467455a8dfce9ac3d0f5490898bc51 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5`$3q|f;CtLD9B#o z>FdgVk3~>OQ}e-O!x*4Yqo<2wh{frx6L<4A81T5%im|RaAms68zj&y{tOljyKNUTa zPnQ3C+WF_J$2mhIx9iJWlLRL!`v=eFUDVlnlyC4xvBmdKI;Vst0QO-~i~s-t literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_RollingIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_RollingIcon.png.meta new file mode 100644 index 0000000..ac39927 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_RollingIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e866ff9c91860124d9feefc5a3bffa13 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_SettingsIcon_Dark.png b/Assets/Cinema Director/System/Resources/Director_SettingsIcon_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a57923e9cad8f8fe338425f083fc4533a6a1e3 GIT binary patch literal 1106 zcmV-Y1g-mtP)N2bZe?^J zG%heMHD!e|WdHyJ&`Cr=R9HvtRZB=zQ5g0y<2=-HW^{a{Gb5vp&%w|Zri6|Vq-|Q5 z&_D!|)FKTVs7)avAt_2NBf>TsQj1))PzIxLN`x^TMLc`gE(H;^@4KE8re)4Vg5U=q z_ug~=^Zk$WpK}t zei)5LS9*H-KxSs9$ji$Uxw*N*YPCj9CevN~w$p~sq@<+%-|-s(qYjo~%xkPbsu_!7k68ZW03_>7?W!Q{?i=e=~kC3tLsl@>Z4zt7=85x=b(&2Cj zr_(7)N=igUMTJHc1Ov0#Y#M3HxfYA%vXqM*{r&wnva_=_@q&T^&9U3<)-o?IFBg@S zl^RP+OSK^Qk2WOdl$Di*g%BPo7dv)#b{r61^msg)Q<9l`y6*dv(uRkMHxtKZS7Z-^%kn*1ue+XhNo|Odip*pv83#{9632T?13&RcYNS*X+{GM zBKkFMGj==$`5YP=3c{g5n*Ia=v37QLzEHO81NILB5ZDpp(7Y~9{|Y;|9k!dW+wIyu zSB-^6TwPyZcS^fM=agM*&TVOFdAGT_89?7$ zkaoudg3t$p!EQRHATwhCTuz1f-4e=v8)PRaI38&eNn^>_9V_k$r@jD^Yp}YRqzlJPU=>URjSkom6 z)7kF=;6EHhbLf|4j-d~}1}Lmd_OZY^I&Uh>*nC#;8UN^H+3)o zoF9{;qoYqSr!5+d-U$Q(uO=ra@1X}Wq+EP};5qOT$a6mtPv`db_7z+(A?ZSz~&?Ue*ZH$d~(2YR4*(nbfer|%vKJcEa2Eg%Fi>LMkFNs Y0LRSA*ush?O#lD@07*qoM6N<$f-%wYEdT%j literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_SettingsIcon_Dark.png.meta b/Assets/Cinema Director/System/Resources/Director_SettingsIcon_Dark.png.meta new file mode 100644 index 0000000..136ac04 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_SettingsIcon_Dark.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 02334dea10173c449a6b15efb0e5eddb +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_SettingsIcon_Light.png b/Assets/Cinema Director/System/Resources/Director_SettingsIcon_Light.png new file mode 100644 index 0000000000000000000000000000000000000000..f73ecbf9c3fe2e8995a9b2911c2c084d18f5162c GIT binary patch literal 1189 zcmV;W1X}xvP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&1Qtm|K~z{r#g$8FRA&^&XUdow(bf?xXi%YG zx*9aajR}Q}As`5$3k@iUK?-%@gJ@DWF=kVwB?es@5!{RtbWs-x2qwmoF(Mh7%uFWp zYWVTm{U)Lc1vtFV7Ee!4TLH-E=&0%I>oe`` z?WVQ0)k2bBVw01T7SyHf%*;%#=37vOLP<%<`H_(k%Xxo)zZJNrr^l*17K@o^G-?r# z$E_szjXH!jZEbDA^z`%}HQ$0N6x?q2emHLK>guwB5?0QK2}lR{&WGPbue-b3ghHX` zE|=>Y&9|Tmg|V@*pIHg3li&o7KbDr3KFG|>yp@xa^G8KR#Upg0MZQy)Nn=1GSiUcx z0j%SFPCBchQzp{X)bt*0y@c+hgYQtG7r(yT+}s=JM2qNgIfjRaIRn=;--0T{;c^NC z_&2hTbDMGE>5#ugMMbv|@LRhLp1qZol@CRibHMpQ0tP$c8GN3z+gNsra38lFwwsxl zn6UP_3>F44mX?-wNU^afD=W)p$3&kU;EupS#cljiv)LkOY-~(J_14zomSX~(13Cs# z1le||g2CWVteU#Cp)GyT7dp|b*=!MHWo7MYXlVEc#$i@K=t!zTXMA=W0fEl4Yl$`l z-3V1zS3l8gwhCM>H^@e-FJs`|up&C)A;U`0odEQ9*zJH9t$r(q6>Vr+Q&aOIH8u4D z=H`TAqYoj$v!lGc{5k{EAuD47Tu-8SST889kB@BWK$sj0+f*2CAWITFBk3=GoHweC4^DU@C0mHNl)rVNQIQ?|} zS^>FR2;V8=mJ>bN;MU~i@3i|(L=_6yzrWG3Tu4L`u*1$UfkZv-Ciu9l`4&{6P*qj+ zE2@Yw0361#rY&^LU|ItFhJ)w><|RTI=HNdZ*?!Hppb7;{?t#L>!n^hL^)LN?|IL(? zl#9j1#easw;n(&AaDKchC@8oCo3lQj@Ap6;@Hj6o?X398U32%Ji^Z%$E#$wU<<6IGZzHeLS%E9Lmg%534J00000NkvXXu0mjf Ds&*=* literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_SettingsIcon_Light.png.meta b/Assets/Cinema Director/System/Resources/Director_SettingsIcon_Light.png.meta new file mode 100644 index 0000000..23d25d0 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_SettingsIcon_Light.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 9c266ee0779e7734194fdc4e903f768f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Shot.png b/Assets/Cinema Director/System/Resources/Director_Shot.png new file mode 100644 index 0000000000000000000000000000000000000000..bb11f92484a7279e35f542d0678a516217262f73 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|^5N4e8lX)pnP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5y2)zif> zB*OjeIYUtf1)d`ps;taQ!z_QiXb`R_IdDi2@whd>tumF`KgBpi5wKBX9 c&QAZuw0OqZKX-chH-n@-UHx3vIVCg!0Q2rRPXGV_ literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Shot.png.meta b/Assets/Cinema Director/System/Resources/Director_Shot.png.meta new file mode 100644 index 0000000..2301c26 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Shot.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 2262874ded79db24396dc242d9ec83d7 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_ShotIcon.png b/Assets/Cinema Director/System/Resources/Director_ShotIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..e0e705c32c5470e6255c6923370194a816fa973d GIT binary patch literal 21053 zcmeHPeQ+GbmG9YINvqZB%eHJxB4;fOHX*D1maIjVY^@|q*o%d^veOSCUQHGU1tqWtnV9+ zJFX`sTvu_Cx;2=!{)6t`sXWW=;#E(Q&t%07ZKt1mq0N&`ZD_ka68FdRF@8Kdv`6O0 z_S~A__Uz)iQf<9GuI{PmR4$+6Rn{|=6GSCCwV{noNl88mG-mtSJVZp@wV`bjuJGIu zAMwN_nfFB6JG`8~qtnyb)gFj+c7{8@;0gKz5uZQg3;DglP&Dk1hJzmCYU^VXd746eAMTgoSbZ*47E#g#uw=7>hk%6zF^P`5?*CmRM{!7s9dKjDeCFx z6;96P)vP3XuwFJP71RxFZMY+P8RN?3X-A^cPR7{INjcvXoA(9U{l3K-r8wFqUyuc2 zT8i`W0-xhWRe^SaMcd`aB~?`(D)ETyD{>6?I?&ATS_Zw55`m z&hx%eUXcni#}7=vP)fK0Y~9d%G$!+`D#-~+5_jYz{as!^JpE-#bjf)-;!-M`o?f6M9F0Vx{y@2o zGRgTmz^7BJ%9_$rE?cH2#YNMSoMY7tFKE6%b-%D2l_B%I=l9hE6t(9t$I3mJ+P%4G0ZQqWmA!Ulq2KIlzyot!t^$p*a1jzH3z421*h z(|jb9X4ez<$YPoS%%#h99fF;hk8Z^l1Ov?)e@J5f5dV<6sV=J%3WXWMg3Am_RK|jf zLScrm;4*^}m9gNWP?#YsxXhqLWh}TT6lMquE;A@m84E57g&D$v%M40X#)6ANVTQ2a zGJ_J8vEZUmm?12<%%DVNEVw8XW(W%|Gbm9R3oZ(U8N!0g3`$hSf{Q|7hOpo=gA$do z;G$5NAuPDephRUXxF{562n#MVC{Y;;E((Pi!h*{TN>s*zi$Yrp5-kIKD zM3$uV7_S!c+miQiQ0Yb^NJbL;rI81XAs(ryfbv)sa^K@|;)+{r>#P_rUY z3H7x^Iu_r#1(6Zoj8)jY@F7a72h?Gd#f^G>w!HN-?^gR#L`ipY?J*Ew3WBt*k8D&ysR2dBQ{2vKB`J#FidU zK-q}(=LvTR`O;~q5#U)(IE=x04TbwU!oI#qfaAx{{%AADC_Q^KuEN z2B40Zi35;&IWXr%3F<3F6ES176fC%0t-$GBUfCgR#o^9W^ixIZfV~9n8d4bUFYBu& zBTI#R1*=*j2V0Aod|(V~*H5W}j(WDBN}G9+m+=WvU?6t`e}O_U4t0yHSHvFlY{wx7KT&#+GZAE^S%5^qOWjxr~=ynEzzz>+0$o>YExGnwB**G%Ul9 zhGlw_W-|)3e?`qsFuuvov>{tFV{c}(w;*yE?M0>+tgM1Wg>#jD*%4!NR8`kFYh88B z{7P7{?8V9^#5fqc&0(vmsdiS`-65!KwmViY2~=&mja}Nd`@UfHvIigeao=@oT1I~c zN5|zazZ|Q%{+nYTynTjKBFq2&slU9T|8EkhfkTg~9V>pd{Wtu~)A#@UzY0gs4zB&% zfB4EX-+J+tcg{Wblb4PhJHI16@zwp0Kl^Y0ef&b_=G!xq4}AL{fBK78-@Vw3Y&Njg zL2Rn2u8I&7RtJ_iz=GXvORIwSJ-7^8@UzjEKM1W!zAb!PG~uZEKBr{^jL|cdwg%;ym^j<>4od~aO(C; zcRu;Ud;jy-()%rc-uV5$+y45i=T|-Q(A}Ny96$QbuLnYVrGrf`r?3BuC;#K6rw%@U zXYTyxo_b^UrX^$A>$>N!CUbo^_E9|Vjc5}}!8SPwTLuqon#X}w;Z_Kh2Z@ z{o`HI0UPb7>43dNV?ns88M|RCtj?wJFgKLO!?c%=$Ho+OFdep%Ze1HfLqOm$8E@x4 z0Igq}1&+SYKnU*-8~?kRuYn?S03H~-;>?k^vGF!NAI?}op5PS^-fijQl_!AQs1K9TzpT+p)QKL13HmL1 z6lq9{$rGNUn=LLubd}Ao6T-Iub2|YutiTKha9{9KL}Y$BNmNO>G`|jF%b)uEy0}ks ze*XvN0ncy6_503m(@=r;jj?J0Hl+9$l#25_Uf_eEIAwT`{{00E=4NIm#J~Pcfir;@ zZ9zCn@r9`e&|`XmP(Md+8zoF>jQ*VmiGXP(nn)#?TRqm-0HX<_s{nrBga4VZ^gAaQvP3K!7DiyE4P z`;9s9lXDt6t0CspEHKVNqmM3W_E}Avn?sj0$7OVJX0CxjXztR?>9ZFvT|h1F2Byhz z4kqZ>`!lC6Xt%WchF(8%?8JNIGdF(Q-Y?xU{N#HlFTWUDIk;s9mlJP^%xI^d-Z3^U z4&8Of&b#_JZ?*tUJ8~H*$uV!xAwDs=RQ=0bK#5l)g##U=%zRf33 zYK@+N&lhNI)_(ie@e}WteSQxPT2}utu{L79@&)S~S-&thxDOsU?nhWv#SBaj#+6+_ z!k14;4puq5#?=D10X5S<_?&>az%}~cC#|n1vDO5AxL~j0BC*#DOBZNAqn*(%Yxa@l zD+VuXSG4M#?BQQ*8HRXr&26c_EwOw54}P?z<%;IIH}m3;Zn=MQ&%Ur1qVI~<=z3@} z9B#BV)uWJh=c-<Uu%f$>_MKUllQgD@?f=f9VXJO_n?3qX!X3il! c4?A!k2Ktf)=^hd>YMhse5v1a?V9Ocwf2?kwng9R* literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_ShotIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_ShotIcon.png.meta new file mode 100644 index 0000000..c23819e --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_ShotIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 09f92b86fea94524a82c8a8d40a71f6d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Shot_Hover.png b/Assets/Cinema Director/System/Resources/Director_Shot_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..1fb9d01ddedb238afda84eceb9c45e4fa8dd6d11 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|^5N4e8lX)pnP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5y2)zif> zB*OjeIYUtf1)d`ps;uI_23!7k(I8w=a^R4z2$)(&jy++VnNcLu6{1-oD!M<5C%8e literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Shot_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_Shot_Hover.png.meta new file mode 100644 index 0000000..abc8509 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Shot_Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: eb6e30cd0f5e9a54e8d75f9f5d78186c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Shot_Hover_Personal.png b/Assets/Cinema Director/System/Resources/Director_Shot_Hover_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..570addd20b8fdc53bbd7ce781455c3ebe59479bd GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|E5N34P_Yf$_AW`BPQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi;_2cT z65;;#+(JbP0l+XkKV!1iV literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Shot_Hover_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_Shot_Hover_Personal.png.meta new file mode 100644 index 0000000..18f2208 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Shot_Hover_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: c1f1c0af533c4e14e842a4530106e72a +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Shot_Personal.png b/Assets/Cinema Director/System/Resources/Director_Shot_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1fdef761629f6040f6990d3a5139eb3c6a61d3 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|E5N34P_Yf$_AW`BPQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYi;_2cT z65;;#+(J0#LT=By}Z;C1rt33J=4@yqg0?8A5Ry@ z5D)KUj(kgJ>m_gJux&b^Sjg6UVFfG8MFLoGuTFx+j|Ml66h?u|0+!1e8LCfwJW&#U R1n3Y322WQ%mvv4FO#tb4JS6}C literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Shot_Selected.png.meta b/Assets/Cinema Director/System/Resources/Director_Shot_Selected.png.meta new file mode 100644 index 0000000..f5b99a1 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Shot_Selected.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 96c9c9146d682014faf1dca26f696eeb +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Shot_Selected_Personal.png b/Assets/Cinema Director/System/Resources/Director_Shot_Selected_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..986a4dcd22922e81b25b991f32eef75900b65d41 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WSkfJR9T^xl_H+M9WCij$3p^r= z85p?vK$y{C-$S4zgG7mIL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TZ4kEe@c zh=+IbiFseAlzH5?^49IRF3v literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Shot_Selected_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_Shot_Selected_Personal.png.meta new file mode 100644 index 0000000..26e55e6 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Shot_Selected_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 1323d9c2278e0b94eae9ea4502722cf7 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_SolidKeyframe.png b/Assets/Cinema Director/System/Resources/Director_SolidKeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..85fef573a0b8e466174cd0c97b5c460d6f89fb2a GIT binary patch literal 19280 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 YZBf;UqQM`W6PjwDU1EEwXvO;f0^-S!$N&HU literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_SolidKeyframe.png.meta b/Assets/Cinema Director/System/Resources/Director_SolidKeyframe.png.meta new file mode 100644 index 0000000..929bce4 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_SolidKeyframe.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 28eb07a1078807d4ebbf1b2db75cb419 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_StopIcon.png b/Assets/Cinema Director/System/Resources/Director_StopIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..7fb5abb6e96286045f83f150e14261ddcff0916b GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxL735kHCP2GC{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L0m@TF)WP*uIB zi(`m|fAWw2|LvJoXDFRj=w6x4AS@g##It$RCbi9*H!p9OB9aZ} yVjYEyN7)|qvQBu}Vi3oC;$+B`v)oU1Ffdf+J`XcVGxh*Fg~8L+&t;ucLK6TF9Z^~U literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_StopIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_StopIcon.png.meta new file mode 100644 index 0000000..c7910ed --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_StopIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8391485bd4c31e24cb717ba6a857d39a +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_TrackArea_Dark.png b/Assets/Cinema Director/System/Resources/Director_TrackArea_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..3105ac97a7901d1f68423fd11daf7b8737327282 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r)8Aj~**Pmw23P@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5wC%G1R$ zB*OjZ2}5261D*pL6ea7Y-DP-Eru_5d&%2?NS%G}c0*}aI z1_r*pAk66gd%{|vphSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TZ4k*AAe zNQC>_bB2Np1{^FKk{17~wQJ{MGfFw{{mI;Sff*+UGKk?{B6Z}+?_<(^8*T!1GkCiC KxvXNS%G}c0*}aI z1_r);Ak6s6Y2yK)phSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TZ4y{C&~ zNQC>_a|?MH6nI<@a;YU9?2Bt^W{EvxTDd4bHs#riHLD)+097KugQ~hOGS;`v|BDtg X9*B9mTIlIQ7Lcr`tDnm{r-UW|i48Z! literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark.png.meta b/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark.png.meta new file mode 100644 index 0000000..b631858 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 87fb6306f7fdae347976fe236a072971 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark_Selected.png b/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark_Selected.png new file mode 100644 index 0000000000000000000000000000000000000000..a336ee50ef79efacf58ae3f382a9a2f3666040bf GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r+UAk1jN8ms~olqhkHC<)F_D=AMbN@XZW%*-p%%S$a$Fwry6GfizZN(HKk_jGX# ziEux9-H`Es0ndRAO4^$r>h|zopr08V&HQvd(} literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark_Selected.png.meta b/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark_Selected.png.meta new file mode 100644 index 0000000..273ad84 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Dark_Selected.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 0422394156482404ab5e7b000a86a178 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Light.png b/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Light.png new file mode 100644 index 0000000000000000000000000000000000000000..69de1070295492edfebe035236fd7b746d006860 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r(ZAk3I`t&$VcV!5XFXVc9j$ApYC?wSmfzK*QXB;Z+Q7GyWOG>L@P* ONqD;YxvXNS%G}c0*}aI z1_r(ZAk3I`t&i& literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Light_Selected.png.meta b/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Light_Selected.png.meta new file mode 100644 index 0000000..19d5940 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_TrackGroupArea_Light_Selected.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: b2faa35c1046f474aac72b1b3a5656de +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_TrackGroup_BG_Selected.png b/Assets/Cinema Director/System/Resources/Director_TrackGroup_BG_Selected.png new file mode 100644 index 0000000000000000000000000000000000000000..4b219ca7af3a3acc4b51bd25e47ed66e208b7f29 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcfQS24TkI`72U@f)XXJ5hcO-X(i=}MX3x0iJ5sNdU>fO3MP66 zdZwwZMyWtGHl8kyAs*gu&l>VFC&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5y2#?!?y z#KZgTSwmh11pyYvDGwPuOV)pp&JhsFDdoMH@=J2H)hpKG`2x%-4LlPVjU3ocFi0ve efAJLvsbw@un=qY^&EhoB90pHUKbLh*2~7a~^)mDT literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_TrackGroup_BG_Selected_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_TrackGroup_BG_Selected_Personal.png.meta new file mode 100644 index 0000000..fb8a275 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_TrackGroup_BG_Selected_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 9c122c489fe4e03438e756b9741fc80c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_TrackItem.png b/Assets/Cinema Director/System/Resources/Director_TrackItem.png new file mode 100644 index 0000000000000000000000000000000000000000..9a4e89bf85abe9185317b86ac448f0cfc70b6ed8 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o{c5N2Gfytfo6C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPX1>*?Yc z65;;#oS`6tArH&O=OsC3&fMWq`>gm-M5`>j_O5NT>P+qxtEK|gB7u7he{O3RGt4g8 UvEqFv`)81hr>mdKI;Vst01#d@c>n+a literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_TrackItem.png.meta b/Assets/Cinema Director/System/Resources/Director_TrackItem.png.meta new file mode 100644 index 0000000..4b156a6 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_TrackItem.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 9cc7a1e4fd613f6408f765d09d6e6c30 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_TrackItem_Hover.png b/Assets/Cinema Director/System/Resources/Director_TrackItem_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..9f2db7a5ab585b4d4e58bc162f8bf9e50ebf0f0b GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_o{c5N2Gfytfo6C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPX1>*?Yc z65;;#oS`6tArH&O=Oug29KXY(_F3_vh*nv4?Ooew)tTHYR!s$}MFRI2{@m6sW)NT2 Uy?j%k{!WmLr>mdKI;Vst01NS%G}c0*}aI z1_o|^5N4e8lX)pnP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5y2*3-o? zB*OjeIYm(hLmt+HpTGQF&B5E-zi)M?2+xh9pU?W_PhFzFU{x3sP%#2jFn`Ej|Ao;w V_;vAOOI16Ngr}>Y%Q~loCID}-H0uBW literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_TrackItem_Hover_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_TrackItem_Hover_Personal.png.meta new file mode 100644 index 0000000..b9a764b --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_TrackItem_Hover_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 950b2226063f8df4ca7b291621cdba34 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_TrackItem_Overlay.png b/Assets/Cinema Director/System/Resources/Director_TrackItem_Overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..491dc4d19c0c95009db0e962aa66e27d69bc0479 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcfQS24TkI`72U@f)XXJ5hcO-X(i=}MX3x0iJ5sNdU>fO3MP66 zdZwwZMyWtGI-V|$As*gu&l)l^81S$xw5oqS^}v+31_y3$WYSuIj2NS%G}c0*}aI z1_o|^5N4e8lX)pnP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5y2*3-o? zB*OjeIYm(hLmt+HpTGRQyn>^*f8Xj(5uO`IKcDrY%Q~loCIFLdH4Oj& literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_TrackItem_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_TrackItem_Personal.png.meta new file mode 100644 index 0000000..1e6e6e7 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_TrackItem_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: d16db209a45f0c046b4c26d152107630 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_TrackItem_Selected.png b/Assets/Cinema Director/System/Resources/Director_TrackItem_Selected.png new file mode 100644 index 0000000000000000000000000000000000000000..ba2ab7a965e1b63addba2fd22f50dede391dbf49 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WSkfJR9T^xl_H+M9WCij$3p^r= z85p<)K$vl@^4?OQphSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@r{UQ7TZ4i>HfY zh=+GFN4}-A^^&)9*ft$dEM)7wu!5E4A|d=?14Bn<$DGRy^Vpxxh?>4G1ZWmdK II;Vst04i5H%>V!Z literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_TrackItem_Selected.png.meta b/Assets/Cinema Director/System/Resources/Director_TrackItem_Selected.png.meta new file mode 100644 index 0000000..13d4397 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_TrackItem_Selected.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 1f0a25d4fdaa17a49a5bc01db27ac16f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_TrackItem_Selected_Personal.png b/Assets/Cinema Director/System/Resources/Director_TrackItem_Selected_Personal.png new file mode 100644 index 0000000000000000000000000000000000000000..06ef396add69db479ba842df1ad5c510482dd854 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WSkfJR9T^xl_H+M9WCij$3p^r= z85p?vL6~vUPv)gSL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J=4@yqg0?8XHOT$ z5D)LSXAOB76a)@9{CUvGs;`rAfa4#B83XIwIz``g#liEn{nowZJ$1uTMuGhVV^IT) gT42w%-C?Wjy`O0pf5@cY1RBTS>FVdQ&MBb@0NbHCzW@LL literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_TrackItem_Selected_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_TrackItem_Selected_Personal.png.meta new file mode 100644 index 0000000..edeb0b0 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_TrackItem_Selected_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 754ea0660e06f0346bf2d691ca8a810d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG1.png b/Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG1.png new file mode 100644 index 0000000000000000000000000000000000000000..89cfe7b42dbb6c8eac6eb1e333cf18e838bb78ce GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcfQS24TkI`72U@f)XXJ5hcO-X(i=}MX3x0iJ5sNdU>fO3MP66 zdZwwZMyWtGdY&$hAs*gu&l)l^81S$x*~f)XXJ5hcO-X(i=}MX3x0iJ5sNdU>fO3MP66dZwwZMyWtGdY&$h zAs*gu&l)l^81S$x{8j#KomQjf?Zk%d$*ds`$msaNZ;YyPIUT{DEI?K=c)I$ztaD0e F0ss~`F(m*1 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG1_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG1_Personal.png.meta new file mode 100644 index 0000000..d91fbad --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG1_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 245afe3afa463b443b813d921ba636d3 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG2.png b/Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG2.png new file mode 100644 index 0000000000000000000000000000000000000000..0430aa97118412734ecb9f414915460b4c2397d0 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcfQS24TkI`72U@f)XXJ5hcO-X(i=}MX3x0iJ5sNdU>fO3MP66 zdZwwZMyWtGdY&$hAs*gu&l)l^81S$x?5g^IORG`yc4EW!WY!P|WOV%CH^!GI3*@u! S1-AfoGI+ZBxvX*~f)XXJ5hcO-X(i=}MX3x0iJ5sNdU>fO3MP66dZwwZMyWtGdY&$h zAs*gu&l)l^81S$x{5AdSDXm7$+ldX^lUYL?kkRpj-x!bENOTA)o)G}*WbkzLb6Mw< G&;$S?$uU>} literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG2_Personal.png.meta b/Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG2_Personal.png.meta new file mode 100644 index 0000000..02ade45 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_Track_Sidebar_BG2_Personal.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: cca562ad186061b42b1afbafbb6bc995 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_UnlockedIcon.png b/Assets/Cinema Director/System/Resources/Director_UnlockedIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..2dff823122dfac010b8d0722d8284d02792f3d7a GIT binary patch literal 19719 zcmeI4dvFuS9mm%QCtx6i5WtXWBE&o4d^){sDY6_R0Tv)Iwka@R;B-2f14$>Ovt>K6 zgV8`r(#!-J9>FCvG-L>m5MW3jF2qftLo+FmLJA}el$0bbl-Fbi%2VCbV|A8gv0&Ov zW^O&Qe%k&0zPtO`$L-x8x4d-n_+B}KasU9m>?O7`_^lK_-MYg6Cxg3QgkRnLB{PEn z^yn*ovcS5Z=K`R}<*e4y()ql=2j}yCrQK>(`UAY1^RNKae$LFB_vYXK`PJEvhqkts zmR6LVee!JXz&-;vwKl%l^lH-^O=22M{pQ!Ll(O|D(I$(?RayPi8ube;e{4P2+S=-$ zdHmA@e_GX~Yh5?HwBjR}vAC(}_alexDS**udMFgu`Z{}YcZGuKsZfMV%4(u^mT1?M zyrzZu(5LSd`+~91M-dJ-7PC{`_2ZT=d27?AO-q;wjb&TL_}NAF1-_k2s^$b5rxrI( zb=nu?K<8tRJOtC6HMbtizPA4pbM_F$w1=J!|K#Av>~1~!Sh`VNOY(@P!w(Nrgh9AV zI4i8M0;|ee_=hgbe%X`HJut8`cjCb5>Ql^POpbG1tI#xat#M`D;P0O3KXLUVt7mPi z-?n|*wG*RHzO%D|>0NdD&u{Jj^uU#++7;h*Su^B#f1l%GwzEI=({5Uk5*eV z;J2~>mQ5`Uf;WF@YcyY7R_wo_kO+1+dRp@pIorZd-IX4 z>u-iyE*e`%Pb3^RzSQ_6S2Vowg#-5U<=-9}y5V+p<6p*Jm^gmN&^fn54Tl`fvqG1S zoi5+^;#c%3X6J~T8`yo1*416EzBB83Xn;l6pt*hP-1#M!&J<-guD@~g#^EcG7eO!3 zTX$pil}Z4L39e#>FvBs)#PHrc+QmEByjrgxt|$P^MYVpKS;z`XCtJn&3RRa{K2#|= zSD|XU-l2B*t?YcRq&~ow*H5ls>K8Ibm#WB;W3Dwp0WT}i%380-7c|uts-n6kXp7mT zN*Q$#78a_C#R`=(9HmMtA7GXGJUzjvHIy>nm`CY#Mv5A()Tk*fNvTPVk)SA(F5g5M zl<}mpLdoll@^ z314tXOeCRWV}ne9^9vmBQ;NE@ldl#ERVuL}l;ZvJ`cXx`V4NMKNY>JRlFCz)>4IDg zit$$mJkh4P7?Sm{Ue+fBVH}k<4kC3pP-xofyxz2tL1AnS>_MDJ+Q?ut0f{a&lC*@TtO~cpxdcXCXL2KX{9P{d{cFJ7w4|SQb~GBG+d0y z%?G@+VBx%U6-)YkRc11oDe;U>U6b7x6lfpA+HDq?k;ic^lan$~`A!2x7#V|}&^g@( zqCjiZ5N_B(je&CN^?Evr!{LyIx0ANyPP016^n;Tyy0?|Hi`wQU z3OrnNkMh%jAS*86LRDf7qfHI%Sz=6dD=^WFxVu>xabB}7Gub9L*(?+p598VoARgtI zz9hWkIzsbVU#6uIlZtwEEE441LWmBq#Z_=l+;z#uB-_TMYMV*%QsCkK2cr9Qr7$zu2btu*%h%wppO<#?L&!Q1m;QU!^NL_)kNGr>bJ zJdj1VPO;W@d8z(0#KWwoI(k@zM;VylV*r@qq0-{i(3zP-rNybC$;fFwPOxa=wWVZB zqQpDL7|(L}w1l-7^m?t{Or~b1MwD{3tY?OegEuZg@i?x9HAQ1m3(^M8>?lxD5D$#4 zP|0(R=!}Tv!lx$ifeneC*hnS|I{rU+BiW+|uZcV z_{x&g*Rr5vr&5wiHwL0jg%v`ruGuJqmUS^LEziAG;jp~Y-%iJwH4@i6x#X$U{B46{l*tK-dTb4 z@fjvkYJeg&Bla7=3zyRih;IPuICYa0iAz>Y-C(P)#!T_QbQnJax4-~!0$czJFbez| z3Iz8QUb7 zl-*a5RN;FPkW?!%!5wMSGTLYmGi|Dw6eQJ3OtfWW3XPRXq9o=$2z0s&4^rTPE~blj sr`O&?+Jg3_7&+2Wz;JKx0(nLvM^3N*Xyf*QC&gm>*vYo{#>`vtU%f&@*8l(j literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_UnlockedIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_UnlockedIcon.png.meta new file mode 100644 index 0000000..4c79300 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_UnlockedIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 30ba238859e1fe749b63db0a43764215 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_UnlockedIconSmall_Dark.png b/Assets/Cinema Director/System/Resources/Director_UnlockedIconSmall_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..d910596effd349a95404d4857345d2b22748e570 GIT binary patch literal 1131 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 U3_DrUm;e9(07*qoM6N<$f_+isaR2}S literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_UnlockedIcon_Dark.png.meta b/Assets/Cinema Director/System/Resources/Director_UnlockedIcon_Dark.png.meta new file mode 100644 index 0000000..3c79b2c --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_UnlockedIcon_Dark.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 9e72892c4b2592e4aba0449d90a456db +timeCreated: 1455833992 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 32 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/System/Resources/Director_UnlockedIcon_Dark_Hover.png b/Assets/Cinema Director/System/Resources/Director_UnlockedIcon_Dark_Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..d82b2b44cfd6acd7ac79560597ce3acf3009b263 GIT binary patch literal 1156 zcmV-~1bh35P)kdg00009a7bBm000XU z000XU0RWnu7ytkR7->U8P*7-ZbZ>KLZ*U+lnSp_Ufq@}0xwybFAi#%#fq@|}KQEO56)-X|e7nZL z$iTqBa9P*U#mSX{G{Bl%P*lRez;J+pfx##xwK$o9f#C}S14DXwNkIt%17i#W1A|CX zc0maP17iUL1A|C*NRTrF17iyV0~1e4YDEbH0|SF|enDkXW_m`6f}y3QrGjHhep0GJ zaAk2xYHqQDXI^rCQ9*uDVo7QW0|Nup4h9AW240u^5(W3f%sd4n162kpgNVo|1qcff zJ_s=cNG>fZg9jx8g8+j9g8_pBLjXe}Lp{R+hNBE`7{wV~7)u#fFy3PlV+vxLz;uCG zm^qSpA@ds+OO_6nTdaDlt*rOhEZL^9ePa)2-_4=K(Z%tFGm-NGmm}8}ZcXk5JW@PU zd4+f<@d@)yL(o<5icqT158+-B6_LH7;i6x}CW#w~Uy-Pgl#@Irl`kzV zeL|*8R$ca%T%Wv){2zs_iiJvgN^h0dsuZZ2sQy$tsNSU!s;Q*;LF<6_B%M@UD?LHI zSNcZ`78uqV#TeU~$eS{ozBIdFzSClfs*^S+dw;4dus<{M;#|MXC)T}S9v!D zcV!QCPhBq)ZyO(X-(bH4|NMaZz==UigLj2o41F2S6d@OB6%`R(5i>J(Puzn9wnW{e zu;hl6HK{k#IWjCVGqdJqU(99Cv(K+6*i`tgSi2;vbXD1#3jNBGs$DgVwO(~o>mN4i zHPtkqZIx>)Y(Ls5-Br|mx>vQYvH$Kwn@O`L|D75??eGkZnfg$5<;Xeg_o%+-I&+-3%01W^SH2RkDT>t<8AY({UO#lFTB>(_`g8%^e z{{R4h=>PzAFaQARU;qF*m;eA5Z<1fdMgRZ+=1D|BRCwBA{LercV4_ez0}F!bgeqgk zki?Jjh>XIgX=U(NW>e!OsN4M2qtALfCGsw4i{r$ z_=eqps|j5 zhiLuZum>U&rP0VVASKcO8Nh_yfPX|Az(^w({HLD*6nlYI2Cz_?4&IUFm;tYy0RsSH WpeK@7cNs+h0000!lvI6;>1s;*b z3=Dj`L74IQk1J+CL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J=4@yqg0@p5>FS$ z5DWja{n3041{^HaBI}o_e_rMxf14q1vQWLrOcAzeN0gN2FEC=BD!F3Ii*k+h+Lv=Y z8#Y|~{;DHe$BgHOp!lpwEsi#yxXgEQG#kF(t)WxOnDM^p*!Nfwo-zjG2eVGt^J!eK nxV!)ST#ZcuGaFCUF0nbqx%olMhYuTp_A_|8`njxgN@xNAdoxwy literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_UpArrowIcon.png.meta b/Assets/Cinema Director/System/Resources/Director_UpArrowIcon.png.meta new file mode 100644 index 0000000..f3b7e64 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_UpArrowIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 29235d98bdc0cff4491234dc73fc85d6 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_UpArrowIcon_Activated.png b/Assets/Cinema Director/System/Resources/Director_UpArrowIcon_Activated.png new file mode 100644 index 0000000000000000000000000000000000000000..7c91b103b40006e30ef04f78547eb1e736c8d339 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGL736~_k^`TL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J=4@yqg0@p3Qrfu z5DWja{TF!~6nI=DkIuZ~5MF56uC$Uh_wqF5jUU}7i62^A-s0pkzrl!kisXVVAEIWg zefvSq)A7*j!1Ixv))6@o4yt-fgj&*7op+q}jL7(ImEElMKHSPs=>;3&@&bWwVDNPHb6Mw<&;$S!lvI6;>1s;*b z3=DjGL736~_k^`TL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J=4@yqg0@p5>FS$ z5DWja{n3041{^HaBI}o>f0y%+zs-<0S*YG*rU=`#BT7p17Z@>5m0YpqMY%?L?aMiy z4I8d~f7Ow#W5#nsP<+;;7Dt;;T;@ADnhoFY*3cMpUXO@geCwNYE%>e literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_UpArrowIcon_Hover.png.meta b/Assets/Cinema Director/System/Resources/Director_UpArrowIcon_Hover.png.meta new file mode 100644 index 0000000..62bf8b3 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_UpArrowIcon_Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 784b247fa2a5d8746833b561a9dc5fe3 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Dark.png b/Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..b66ddd877e21fcb562aea70cd97ffb4b9a1d4b8a GIT binary patch literal 1519 zcmVC8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FZT01FZU(%pXi0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-)@NWrZ?j z0007NNklQjg=*{b^rP~UM&`jr{bk=cSUzeh4K%{Vf0rJBYfN2 z$z<|@x=qu36|F?Hv1z2c6b17y86OrND-LV?C1Z}W!+|4~99I5Zjjw6$Y!gumFcG7F zO6T+W3mQfN+eB;?;ApVY!Qb*&2U{ZE?jmAPz!07v>v(aAI35zQkvIm=k9E8_n26t5 zz-%__L~I0)rB47z#Jecs!3BUsyr(h9M!*;5%iyu}2>>-cX652qJY%j5d^nbSe*jyQ VQpZ~cXq^B6002ovPDHLkV1newwY2~M literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Dark.png.meta b/Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Dark.png.meta new file mode 100644 index 0000000..4ac61d2 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Dark.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 47945f681ef607d42b39ae000307467e +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Light.png b/Assets/Cinema Director/System/Resources/Director_ZoomInIcon_Light.png new file mode 100644 index 0000000000000000000000000000000000000000..4a9f6aedd3761b455c4553dc3e790ff54e562ff2 GIT binary patch literal 1520 zcmVC8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FZT01FZU(%pXi0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-)@NWrZ?j z0007ONklid!h(Rj zK%zWAVL=|EAfTX?w&z>TNaN{v*V(2?z_+@(bLPz4yLW$fR;yJnP16jf@{6>WD)GL^ z1v6z*WHy`aiK(~{H{#Y{%p9?Cl?zqTNSOpO9f?!%OEf*8ITNGoQx%P@i5(do2v+Il z=i*4P8@mQ$=7@QdPhRW!0z7-Vp4X7F9S&6*4v(|X>q$Eu={Y{bejU_~e5S&Vmq z)^faw1Lmuuk!Zj@_iaD%`MW}{dHfKgs%Ru8a^Og0D>trOvCmM&fL!yy>$EBw@gxou z+YX)gTycywtmB~gzInm8D(rXy&oaj6*(_r^4ePig%@@;7tHO?pd7&Ua%0?N}X;{Y{ zY2KOkqAKjTn710@y=3yHplu+{wWM5bE4rJiu;XGs{kzG;i)}^9bEZB^KLG7Xfs zpu%(-)^P_f({6PO9{mvdWB4^2WlX1G9e1SR>xgz*#d8Dy<3;pSZ1*CvB=5NIRovMC zx#FAY&MJ+Q8yJiG{21Z&*AGghZGekUC}CpBY~8=gxL1Dl%I*nlHbR@(bp9(@?A*!yjo=xv}6&yPNCu40FMO{^sj!Skb!n}ap+ zJ2x<&&)X)}#6#(7095cpY~sNi02Td6VMh&IF<**@($xT{=pic?m*NF;rSRcc?fe1n W`IrflF6!0*0000C8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FZT01FZU(%pXi0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-)@NWrZ?j z00070NklM&Pf!iMeTjjyv_<67R*zP&OsvdWh^0& z+e+s)D{NS>o&J3)vXcf&-x8T_iq5Tan zqfjksydCMRv-xP?e>{jDir(;ps3e)=T|A0^2!32-F-A1dh+V#n(E95G#nTz!VgqWc zlFZiq>+5*6SS((Ox3=9G-6aUc50XPapFxbUZEq)&$!Bz%rui;fnP`1cPj^WK<0ly} z7XDToR{u%H7-xqAM=Uw4{Iv?-P~6yNA~jG*lNH~W2J+i}J6rOyDU=rJo7H{umzY2eeb-1`GVc6y1xHrWaQ0000C8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FZT01FZU(%pXi0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-)@NWrZ?j z0006ibf5;klMKp}0 zO`h3ob|9wWM%;<}0{zGFk=B=@In9g>E9QYh@o5xlMOq(<=1pd7STRpEiVqT@!N1VQ zX+`rcGd8T)uKs;5Qsx*RMCjvT#rS<@Y*_J&2iSNDT0yI54mt%dei7Pj_%#Z(A}!vI zXil^F7~p?Ah#rbw{XtZkEb%TL#XpMHRaRrf0AsPsml0ZjeV};y032*U4U^K$*8S`2 zc(Pb5UW<3O-5LEM2*nSQBR`)(jj(Np&*(0f%kQF7h|ZgO`a>cZKgoEpa9eS)`cE>( zxOTYUsHKOMzm@SV=EkNFX@C-<`J+^3hZy<*n?h_1U`UjeRzJ(V4*zBLaY%@2fEw2C zbxd4lC$$i3jV)Ne*D-M@A%4dI^ZC3Fu~yv5wg4c*Pd>!62LPF#VQeVCH^$TAR<;EI mnVzt6aVy?1mKHuAtGz##3#GtXNf>Yd0000!lvI6;>1s;*b z3=DjGL736~_k^`TL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|KvjvJ zE{-7<{#Sb(`5F{>SbmGlf9JotTPSfiN3S~nHAn$wdaYCH7@@KH~az zs-LYO!t(!JhsV1mZ1}lmzI6D>!lvI6;>1s;*b z3=DjGL736~_k^`TL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvl_} zE{-7<{#Sbr@-`UoFdK6jZxlLhC=%4AD)7K!si3}``qt$?&fK+EOl8&7c1bidtSMIS zsx{ERUG-@*Ltp3u@ttxeDVt7wp6s&8u%k(7ui=GH9ea8krzE8CELo!f)O5Tsd%>5r V@?1OH2R& literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/DownArrowIconActivated.png.meta b/Assets/Cinema Director/System/Resources/DownArrowIconActivated.png.meta new file mode 100644 index 0000000..704757e --- /dev/null +++ b/Assets/Cinema Director/System/Resources/DownArrowIconActivated.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 5bc07940262a4f147983bd0e1fb023f7 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/DownArrowIconHover.png b/Assets/Cinema Director/System/Resources/DownArrowIconHover.png new file mode 100644 index 0000000000000000000000000000000000000000..1dcb0981352b7459f834bfe51bbf39f1361bf160 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGL736~_k^`TL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvi*` zE{-7<{#Sbr@*Ys&VK(;qKEK;GC~`~IYl|rz;{B5!h|J&lTPP@O!X_t?H1@;h`HNmO zmu-$@IId;TWy3FJ6#3-0r_xOc7srVgB{C{q{~dGiGB9QXsc)L{dBbVG7wVRUbD000P?b4y-7D@iRS6G=otR5*>5(@!geQ547V&pbVpQc{X6tgV=a?3AU_lvf~DCQ3G5#cYt2 zoxL3kWnp7akw33M7K1EoC}Z*5soR)&o^k8e?VS7l-QPK^0CI3ET(xyPLH%SpUFl5E~4+I~?S} vWMkZpM27Gz`)OxIaLd5}Zlm2Og5vcHnFd5{oSS9P00000NkvXXu0mjfU^Al> literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/EditIcon.png.meta b/Assets/Cinema Director/System/Resources/EditIcon.png.meta new file mode 100644 index 0000000..7b6686f --- /dev/null +++ b/Assets/Cinema Director/System/Resources/EditIcon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: b0e8033c21d50fb418bc9538999a4e4e +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/EditIconHover.png b/Assets/Cinema Director/System/Resources/EditIconHover.png new file mode 100644 index 0000000000000000000000000000000000000000..258a6aadd4b923f98304e09d9118a6840d065425 GIT binary patch literal 428 zcmV;d0aN~oP)bVG7wVRUbD000P?b4y-7D@iRSE=fc|R5*>5(N9a2K^(>LkKS$wE?NkJAWDI6z@?(7v~<%e5H7TH7luL* zh<_Gti*|w{NsBfSy@Rw!d<#+=QE=lbBsgy7p$EC$#|DOB&dm4x&iqCa|1qB@*-tWC zY5nduS{TMtOkfKO@Zg>Xs~E)!b})u@{Ao(i!ZRFV9BakoS2^qSdT%SqW|HG1uaZ1T z@+HZ;Bx6ZFB{}CDC78kxK9%(hd)RG)D}zBC)#iBC8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FWS01FWTe`H^g0000QbVXQnQ*UN;cVTj608n9RZgehAMN}YmGcGkQF)>H; zLN@>a0KQ2?K~z{r?T$eX!ypU<`36ttwM4d>%B2%y5{X>A(p*O1-O_u16_h(c8DtE- znSwHarnRP+&|4Rj6EtV}(-9~gG-LUR3H?P-UZA03iwWKM10|rLLc)Y@{eW^nLq#4Y zbn^>JgN6zsn9ywn$Rg5h)i?5-TI3 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/EventItem.png.meta b/Assets/Cinema Director/System/Resources/EventItem.png.meta new file mode 100644 index 0000000..0d3db9c --- /dev/null +++ b/Assets/Cinema Director/System/Resources/EventItem.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 7f4a8c9dea5f99f4f9218fa2d245d645 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/EventItemFree.png b/Assets/Cinema Director/System/Resources/EventItemFree.png new file mode 100644 index 0000000000000000000000000000000000000000..c8926be6f5383bdbf9eb7fc7be850af851e055f1 GIT binary patch literal 1067 zcmV+`1l0S9P)C8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FWS01FWTe`H^g0000QbVXQnQ*UN;cVTj608n9RZgehAMN}YmGcGkQF)>H; zLN@>a0HjGoK~z{r?ao0CfFKM+QLe%Lufv^cY8s>XDWD0uXp^^@Ks!l9K84{*7M3=J-PBIm5@ z=tdNX0#P6eM1d#}1^!(i=|@^P!#l1pJbP23cU)muds1TLxWbUklo&m(Fl-qqF>_pD l=+Oh7`h5?ED`B{fqz!Ose_fe!gwy~4002ovPDHLkV1ixS*d71? literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/EventItemFree.png.meta b/Assets/Cinema Director/System/Resources/EventItemFree.png.meta new file mode 100644 index 0000000..7b2791e --- /dev/null +++ b/Assets/Cinema Director/System/Resources/EventItemFree.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 33f990edbaccd4b44823a6f901c048df +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Expand Vertical Activated.png b/Assets/Cinema Director/System/Resources/Expand Vertical Activated.png new file mode 100644 index 0000000000000000000000000000000000000000..3e27af75e330ca33e45a66e674a14175f412b415 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXfiUAMr;P`Ig6t)pzOL-|SOkRxI2P5d*#Q)iDshb{3C>R| zDNig)We7;j%q!9Ja}7}_GuAWJGc|_p9mF?-`7-Hdnwl9#Y!GOp4`}3bRlc#?U za4KCoQE!QSuz);^*R>_t|Bs)UCNY0w-f_9dHnu#ip~baVS&L?PS6n~2jLUh?>jMF= z6rVb$GRCj#I>oet%gOxalhcuv`3=6Jed@6b0v=|@wc0P(DtzuQ|CCnNM}L6UGI+ZB KxvXR| zDNig)We7;j%q!9Ja}7}_GuAWJGc|_p9mEq~)7-Hdnwl9#Y!GOp4`}4o~Pgh38 zW-e*_lFap}+2Q1@lE?pd{GRsM_)O0E!nu-dmtI-!mtrzKqq;{rB)C=a9&dui*$JN( zZfnplcg(kR!yULq=MbD|nE(my-8rN!{(8DZy+~(J24NgIzoeZ9?elF{r G5}E);UtGoj literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Expand Vertical Hover.png.meta b/Assets/Cinema Director/System/Resources/Expand Vertical Hover.png.meta new file mode 100644 index 0000000..97f2923 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Expand Vertical Hover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: eec2a12f247170c4e9d1285048cf34e6 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Expand Vertical.png b/Assets/Cinema Director/System/Resources/Expand Vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..4293d40f72ffa3eb68ffe286f20bd419277a1341 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXfiUAMr;P`Ig6t)pzOL-|SOkRxI2P5d*#Q)iDshb{3C>R| zDNig)We7;j%q!9Ja}7}_GuAWJGc|_p9mF?-`7-Hdnwl|jRfB{Ey?d`w$8)jQ+ zFSDrUx|{H(x#5V*%l`(S6CWEtIgt6-ZZXfytICR^A5u?*X|Ap)Zm~YPhH3Fdjj(-L zr3$s;OYgj52oYQ88FA!%oN>AGETiR{*1lpE4XvCV{*+%~7ena-^YH$;3_?I_89ZJ6 KT-G@yGywpH$Z2xra|g%MCT52InI5iljZTWHow;m%TIJ?W%X6u|nvZr)%Plnt zHQd>M)%3qiiMZZ!?K!DV;kx2+Me2S#R%h>1_;h9e9BHQcOW#?0rwZD$tq+^9X?DjB m#v5)wW9NME+4p1ilWojKyL0T8-`sZ;KbLh*2~7YY;c3YL literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/GraphResizeTest.png.meta b/Assets/Cinema Director/System/Resources/GraphResizeTest.png.meta new file mode 100644 index 0000000..441e8a8 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/GraphResizeTest.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 62bfbbbc264c3cb49ab9d66704030c47 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/InspectorIcon.png b/Assets/Cinema Director/System/Resources/InspectorIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..956add9e3a0787918741494aa088e4a50aa371e3 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0gN_s>q|KvgF^T^vI!{F5b?J^26sztaDIf4dnj@fz?vSNJR4* zNlE6XIt#oE83P!(0~|RgJyM%c;Nx>9Z-#`3w?oMS#sw|Bvz%fq7*?^0HmFPx&C1HU z$HuvMH^YlfOdWhC3{yB9!#EB(BtGJ0@Y!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKsA`+1 zi(`m||J{j>T!#!qT#Dz;S$d&YL1dHAEv)w4z!-+m)YNA=wJ3s^N4pZg0_7f)0^;qhCh!!n}T_C^D1sJ-aYdjhLMAM>-n)du>2!PC{xWt~$( F698b}Z@&Nl literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/InspectorIconHover.png.meta b/Assets/Cinema Director/System/Resources/InspectorIconHover.png.meta new file mode 100644 index 0000000..4af1cf3 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/InspectorIconHover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 5b452ff396025464a901e111931a0ef3 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/Keyframe.png b/Assets/Cinema Director/System/Resources/Keyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..134c9c15d2d94712c03a0f47f3a052637fa70446 GIT binary patch literal 374 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9i zsh**s`)4O}psJ^yE{-7)?r*2x2CF(lkBd{abDahS}(Qp(z*BEb$KTK)fa9kD;$qdZn`7!cxuoZLC3tcU$swf z+Ti-;NrSSICcCmS-_ryamu)g%dNigr%L!gBx*#-BTU@?7NI0wK|?YJ*tK0Dm7J=-facVfS(f2}= z{idMulLrP#OJr1(EuJKZAJk-5OggqdNkD1a##4++%T64;Qhu0^<0Fg1wcN(nhO=$~ PJgTe~DWM4fDNv2N literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/Keyframe.png.meta b/Assets/Cinema Director/System/Resources/Keyframe.png.meta new file mode 100644 index 0000000..827ea46 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/Keyframe.png.meta @@ -0,0 +1,51 @@ +fileFormatVersion: 2 +guid: 422550129dd069544b5963cb9eab1512 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + compressionQuality: 50 + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/KeyframeBackground.png b/Assets/Cinema Director/System/Resources/KeyframeBackground.png new file mode 100644 index 0000000000000000000000000000000000000000..3b299943132feb66f32525e5958858b31d9753d3 GIT binary patch literal 746 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A00076Nkl8kq!w(mRUg<}k+I_;B( z-BC{t5xcz2D4tTpN7NXTw2qqf?d8`l~stieKVsr`n4!;L+M5eOsFeJDHgW(}g zja9U>K(z#;;USLoRSw9q*MKc8!Eku&ZNbOnI2OY}qO=fOD8X=ecuYp|mXsFq-IQSb zR2chOCA9NFxGBMDF+5)D${dknQd*ql5-f$sPhRw6Uj`b)E3xgs)XIN@*ue4R?)<;t cKSrbR7dJQ!D-FuWu>b%707*qoM6N<$f~;CndjJ3c literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/KeyframeBackground.png.meta b/Assets/Cinema Director/System/Resources/KeyframeBackground.png.meta new file mode 100644 index 0000000..e7f1cf9 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/KeyframeBackground.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: ab55b01be6df3e74883519537dcaae8f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/KeyframeOffset.png b/Assets/Cinema Director/System/Resources/KeyframeOffset.png new file mode 100644 index 0000000000000000000000000000000000000000..ad3bdd6afd1ef9a74ab2b1a334dad923ee5033e6 GIT binary patch literal 501 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 HDWM4fq#BHF literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/PickerIconHover.png.meta b/Assets/Cinema Director/System/Resources/PickerIconHover.png.meta new file mode 100644 index 0000000..ea380da --- /dev/null +++ b/Assets/Cinema Director/System/Resources/PickerIconHover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 107e10032d812af4fa810cfd34ff5d4a +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/PlayButton.png b/Assets/Cinema Director/System/Resources/PlayButton.png new file mode 100644 index 0000000000000000000000000000000000000000..433e85b13e07c93c864679f9818f28eeb28045be GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGL736~_k^`TL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0figD*u3fvOgG zx;Tbd_$UAP|KFZjb%xSeg>LqljE4>#TH4doleuTlo=P4bo@+;1c)P?KW_35rI?yn4 zrlo9(#03TI8n%Zf3~2&aCWOSW34&M`7$zvLEPj42)ul|Zi_w9#)qry zUMt^XSa2-Zp+@Khli8%014oXOuq_en$lk!J<|odO{7}cP*WmC4-WzOJTQ0kmg!61# g;^TA4HJq7Yn(b+?BE2;ifNo{*boFyt=akR{08STV#Q*>R literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/PlayButton.png.meta b/Assets/Cinema Director/System/Resources/PlayButton.png.meta new file mode 100644 index 0000000..a549d8a --- /dev/null +++ b/Assets/Cinema Director/System/Resources/PlayButton.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: b8fef397c77055e4bacdb39661cf0d42 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/RefreshIcon.png b/Assets/Cinema Director/System/Resources/RefreshIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d3ba102ad6cf59af2d06097a97f011ee320fa8 GIT binary patch literal 600 zcmV-e0;m0nP)rW-uJ!7;{(nscFN^)h=>>wu}Y;9 zS`poDH&`qdFZ^ryvZiUzZQC9YQHzLLwrw8|hry_S7PthvR~Kr7mTsp zcs%}+G3Iq$mrAA59Ys;@Tb7j(1mWj$xm=v(e6d!my_(PG9|07%xErQvz9FI`BKnle zwOyx2GflLkw_#Ii^cXh=Pm#QgTX7huK&<9Z2|zID0&%V-gdj~OC%Cg0JKqJ zI2^vNs_H`kA^>4D8oAkQb^>4m0G#u?)oS$#V@w8+1HdXMGydl9z~k}!QdRX3z=@(LJe5j42m}HN m05qLWk2{^t_cNXUJN^JJsn{8$C+*7s0000FdgVk3~?3PbA6iyarGx!_&nv#NzbU$p`rw3^<$@vj6?R|LeCs8A%*@2FlY}Z#juK z-BfAFZ8`mquR)bP@W(Zexho@MV^0f)yU+P}Mbv#C^X{3ltD`?nWG*jn_&snS{Idc^l3M~cN$>8bg=d#Wzp$P!e_C=Qf literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/RippleEdit.png.meta b/Assets/Cinema Director/System/Resources/RippleEdit.png.meta new file mode 100644 index 0000000..e156a72 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/RippleEdit.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 89d8e5fde7be88a4a9f6fbea692642a9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/RollingEdit.png b/Assets/Cinema Director/System/Resources/RollingEdit.png new file mode 100644 index 0000000000000000000000000000000000000000..308ae3b6fa467455a8dfce9ac3d0f5490898bc51 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5`$3q|f;CtLD9B#o z>FdgVk3~>OQ}e-O!x*4Yqo<2wh{frx6L<4A81T5%im|RaAms68zj&y{tOljyKNUTa zPnQ3C+WF_J$2mhIx9iJWlLRL!`v=eFUDVlnlyC4xvBmdKI;Vst0QO-~i~s-t literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/RollingEdit.png.meta b/Assets/Cinema Director/System/Resources/RollingEdit.png.meta new file mode 100644 index 0000000..d533c3a --- /dev/null +++ b/Assets/Cinema Director/System/Resources/RollingEdit.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 35a4ba444b70b12479b8da7db194606c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/StopButton.png b/Assets/Cinema Director/System/Resources/StopButton.png new file mode 100644 index 0000000000000000000000000000000000000000..7fb5abb6e96286045f83f150e14261ddcff0916b GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxL735kHCP2GC{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L0m@TF)WP*uIB zi(`m|fAWw2|LvJoXDFRj=w6x4AS@g##It$RCbi9*H!p9OB9aZ} yVjYEyN7)|qvQBu}Vi3oC;$+B`v)oU1Ffdf+J`XcVGxh*Fg~8L+&t;ucLK6TF9Z^~U literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/StopButton.png.meta b/Assets/Cinema Director/System/Resources/StopButton.png.meta new file mode 100644 index 0000000..3c36f1e --- /dev/null +++ b/Assets/Cinema Director/System/Resources/StopButton.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 4fe67977b96c4eb4397fc47441121fad +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackArea.png b/Assets/Cinema Director/System/Resources/TrackArea.png new file mode 100644 index 0000000000000000000000000000000000000000..d75e415febafab7c4b8252e846c25df68f458f77 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r);Ak6s6Y2yK)pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9ish**s`)4O}peid* z7srqY_qXR3@-iq0usD7Sy->f{UBE)8@<>OicACn}xwWh-`hW_NfZ2l**?ZHX5;wE! T3i2Mi4wCV7^>bP0l+XkKNj@^K literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/TrackArea.png.meta b/Assets/Cinema Director/System/Resources/TrackArea.png.meta new file mode 100644 index 0000000..fa530d1 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/TrackArea.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: d85ef6003b9ef30489810bd70d4b91c2 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackAreaFree.png b/Assets/Cinema Director/System/Resources/TrackAreaFree.png new file mode 100644 index 0000000000000000000000000000000000000000..d6e98e3b3a50371d40ae6cfc475b1f77c5773149 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r*pAk66gd%{|vpj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9ish**s`)4O}pelP$ z7srqY_qXR3@-i6kFduAKbCJ_#iF^6dN0+o%`Q>bPPTHdOn>}H-IulSaGSE8t((L~8 ZdrP8bi&^oC0$szv;OXk;vd$@?2>^E~G}!NS%G}c0*}aI z1_r)^Ak4U9V)k30pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9ish**s`)4O}peiFz z7srqY_qXQ^c^M3Nm^Wl;9Gai8Y|)FyhxadkYc0Zv0vdUr_z4M83Ti- LtDnm{r-UW|<=QcP literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/TrackGroupArea.png.meta b/Assets/Cinema Director/System/Resources/TrackGroupArea.png.meta new file mode 100644 index 0000000..ed6fd47 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/TrackGroupArea.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a401d070c7fc34a449c55274b1393d73 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackGroupAreaFree.png b/Assets/Cinema Director/System/Resources/TrackGroupAreaFree.png new file mode 100644 index 0000000000000000000000000000000000000000..27efb6ab8c3cb02d50412213e610e3ca9061b724 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r+UAk1jN8ms~olqzwJC<)F_D=AMbN@WO0%*-p%^K%VRC^ObG)iX47|LkNARAu7n z;usR){`TBPK?VbkBL-Y`@@6StW0oxlOuWA8?%UOqcz}wKfWzOrQ!B5?ZRJx{VwejO N_jL7hS?83{1ORrGFe3l} literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/TrackGroupAreaFree.png.meta b/Assets/Cinema Director/System/Resources/TrackGroupAreaFree.png.meta new file mode 100644 index 0000000..9c53fe6 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/TrackGroupAreaFree.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: cf6be9ef6d44e3248b6add3a6a0d6040 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackItemBox.jpg b/Assets/Cinema Director/System/Resources/TrackItemBox.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ca9f998f6216fe078e63966b9bdf2f8dbe7bcf5a GIT binary patch literal 1258 zcmex=t^_Wo5306Mv4H)5Q+={Y5sqJL6Cz%fkA zmaka3YSZQ|TeofBv2)j(ZXWYowZ z;xuvL#)F*7#z7xMlZq~KiK&=8RQ(9@8rWyVd8~;npTRwb@YgK{9%e>hC*Y4Q$ zh^||wPMy1^@pi4Q?xH^K>WWJefy%CdPyRD}xOjhy{$KI_p8G#aZ1VpzoIYirasQ`9 ze82p+$bB01ukzQ0_grA#Tz}ZT?!x{radyV_4=;S&|DQo$`|y8;%>B0}f17>5KJET3 z;n)lH8SDFQ>Fr$fhyTaM)fuwTPNIXyP>;{kjjcRy5Z;lGi;syXV&qz`u`cy{xf`>{+}WAddCaqclo!>|M`hO zKK^%FewX~O*{`QQHVyx_`0p~Hvb*fxX8m3CMYs4{^AE*EudDQr=XdY&+q^jIzUUwJ zWv_Pmtz2H?@R4=i!ev=irO)>BK5bi=Sk7~8`?m0cqs7_9A`|>YijJMKQU51(`dh?* zhQ-tV&Ibm`ry8sO4A1%+>>Absx!L+ZP5W=f|2zAi;j#X|)$0W>{%7D#{jF1f@pK)~ z%|9ybWa~e>$I1TotGhgZbKd^nX8$hC5^MeKRKtI5>)GrF^+$Wv-7apK-z~>uvY$M literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/TrackItemBox.jpg.meta b/Assets/Cinema Director/System/Resources/TrackItemBox.jpg.meta new file mode 100644 index 0000000..c0244c1 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/TrackItemBox.jpg.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a6634f85f8280e44eb311e0a245c8e49 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxAudio.jpg b/Assets/Cinema Director/System/Resources/TrackItemBoxAudio.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cdabfe92de38ebabc874c2661b147f87f4f94a7a GIT binary patch literal 14285 zcmeI3e@qi+7{~8geu+*gVM^4Qv;GJW>GcXN>)FCg0R=^rUj-GhvGjX#Z6(TERKa}f=)y1?kGPBD(+46zxQqbxW3Q# zd7gVd{oeieI&V1J5x@A@xL5>5QDhPOL7W}oQ`a(#nZ$9URix3GvMG_)l!x0jW}Fa- zaYPYiH*2(diovp}T-vA<_MB}JVzf>vR7(@Y31$_wmR{trP|1#^DO!hKE7u95B7GHh z(w=9|qZkcl&odaUq+KcOFHW-8+%_)6`X!8BDO|vH#nKa&VJee_!la_GP_39CFquq5 zgiB>IVjdI2_t>kD}_auLncMX4zy!`DTM=b*=#nEElgyx znvB1!8*~DRcoQm3~e%ETwP7JDW6dag}!q^6BJlg%2ez(>p7Mji@L(He$|WDOG@%DP1?PmzepaDogATj7@P5{*hv zFzM)=4X;Ue6TNA4l%0Nsm$=A_UgCDiWwf0#q({?vl+nuhNg`I@FAca2I~>n=Riazq zO^>P54jIIpZ!z>gm^v*^87OuJ#>&n~;3G_;(~>zROP+>_r1Lbn6u!<(IC6@^WJ;6hvw7Z3p;F?1Ki1w;Ty4BZ8B0TBQa zLw7-3Km>rq&|MH05CI@DbQi=0L;y$(-34(05dacHcR^f01c1cQT@V)#0U$AS7sLfb z07wko1#tlp01`uYL0mutfW**U5El>uATe|o#05kENDSQtaRCtk5<_=ETtEbX#L!(3 z7Z3p;F?1Ki1w;Ty4BZ8B0TBQakLfPo;d4Hekv-gFV^8roZy_q~q|hrD&lTZ~wYVY! z1;&z%9dn*T1U?9cV0=`7@B}DdfI5Fh0uh9dqKNzQ^7a|WM&|h;h!+n09$YDcZHRdCcpj4m`=C68 z@8Rj?E%2W?nOMJTibNK%JT;9e*i%v8&~nY$hD_kI1qFNo5`}b^KP+5L>M!1Fc_7lS zOg(a~?eW~x>e|*DWsk{!jE$v@ooP#?-79_wS$nWJCWM|{6(8La`Dm-u?=22J3k{yz|{G@wvyF)UQ4mT!UO`X#mMwG$InNMKFS<~^#z-d_dg z+&T8-!tIFTj^-#~^}=RL?!x0=s$-inGcr~&7{jEmBpQf=n|-o9V{UaTxHuWN|ONS}N8 zn0$*|a5-9iEZ&J+5%*NpH#N;VQQCa)W>jtM^QDJ+&$rIm)b*L|a$DA&Z5Jn&=$_Yo z^OW3qeOy{XdFIT_#LCqhePaSNN#zw88EHGh%i@$%yOyV>knNtqA9zGB>_aB*x`^H; or!V%ubpKw#g_YF#s=9#qqxGq?%hpkw5&vIj@BWrwML2K%2OrF{XaE2J literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxAudio.jpg.meta b/Assets/Cinema Director/System/Resources/TrackItemBoxAudio.jpg.meta new file mode 100644 index 0000000..8be80fb --- /dev/null +++ b/Assets/Cinema Director/System/Resources/TrackItemBoxAudio.jpg.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 1fa6e808f80a00341b16ac0e966a7974 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxAudioHover.jpg b/Assets/Cinema Director/System/Resources/TrackItemBoxAudioHover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..99e167b132cff97ba1cb00fbf4cfe7bbdcec965a GIT binary patch literal 1472 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxAudioSelected.jpg.meta b/Assets/Cinema Director/System/Resources/TrackItemBoxAudioSelected.jpg.meta new file mode 100644 index 0000000..18997b6 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/TrackItemBoxAudioSelected.jpg.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e23338974b076674fb41ac892e75b7d8 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxCurveFocused.jpg b/Assets/Cinema Director/System/Resources/TrackItemBoxCurveFocused.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b47e79c4079fd6a42861001194d9cd66a443a0f6 GIT binary patch literal 1375 zcmex=$NGK3-nK$`y_U=ZYBP+(ACW>jKe5@ci+Wc+`GK_2LOR*2bP?|^*6#LU9V#?HaX z#SK)jRe*tsk(rr^g_)I=g#{>E3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YT zRE(2~nmD<{#3dx9RMpfqG__1j&CD$E|)(EKF`^cNEg z3o{El$X|?1val)|vI#i`vL_Y_D;YI%h&WALxbYyTvT@J{(WIh_Tw*FF4^=;c zyax6eaUN?T%V%(pA^dfVfrpt97R?^ zbXw}CDVzR?%$~;0b332cbKC8uWw)b(yQB#oR^BebNkNi7uPr4zT;?>?e)Q*rDKx2 zO3qs8bx(62?X-HdPqqG})yMCDJL9zeGh7z^TUnVdQJ8(EKybQ9p~zyLJTYCH_ePn^ zL2Tw~{5y5Md8-I7heCw^%^{{E-le+H@l3~$!{ zasSV7<#^Vo{!sGa@XtH8T|3ywrktYk81s_XZK!_GrpEQ z>t1!`dNGf*CfAH5eJ-9#6C)!-S0Ar`m|A1?pJCzegYiE?Uc~>I@7?|B&7qj+qe6Y` zlB#-2=WZ1qx|X?oW>U`OfXwBkXheoBs>~e|T98Dx{B2K5KGM_rsq;XOSr0 z-zRl0dDg5HDO|OAv-zo2vuEwuvtH-Sy!7cyrzg+;^-btxqV}tQ8@>G>{`}(e`pBb# a*Zdv%g08AgtFNuGpZK4l+Skt^_Wo5306Mv4H)5Q+={Y5sqJL6Cz%fkA zmaka3YSZQ|TeofBv2)j(ZXWYowZ z;xuvL#)F*7#z7xMlZq~KiK&=8RQ(9@8rWyVd8~;npTRwb@YgK{9%e>hp zP`3Xg|G)P0lK&YV2Cl3BR9bWNcg~-*9|s@$-#Gtm$4CFxecCmiAMSVlG5>8?Q+@r9 z&F?ZD82D;4o+v_oAMO{f$baPDSHdq?Q5^r{>xcF3*SGMNyMJ_BxjgHa z-uA_>?6kLCF)xT-{pFzm{ z!T0|RW+seZ=hn>pT~mLu>));TZ<+JA#eW0_BK8hFqG5K54kM9dAiVx3XKfb>;>e$}(uXmk4 wv|cRpmRt9tmr~{3dZxVLVOLAJJ9J9!njO1Wefssuhg-L{MJ{zo;QxOU0NGUA5&!@I literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxFree.jpg.meta b/Assets/Cinema Director/System/Resources/TrackItemBoxFree.jpg.meta new file mode 100644 index 0000000..30a929b --- /dev/null +++ b/Assets/Cinema Director/System/Resources/TrackItemBoxFree.jpg.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 1914cbdb3be0e6f4dbf79535ad1b9982 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxFreeHover.jpg b/Assets/Cinema Director/System/Resources/TrackItemBoxFreeHover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a789511c5228df14a793cbcb2f538e2c69330749 GIT binary patch literal 1587 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxGlobalHover.jpg.meta b/Assets/Cinema Director/System/Resources/TrackItemBoxGlobalHover.jpg.meta new file mode 100644 index 0000000..ba18b76 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/TrackItemBoxGlobalHover.jpg.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 47c0e04634471d948a66f6a58000b8fb +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxGlobalSelected.jpg b/Assets/Cinema Director/System/Resources/TrackItemBoxGlobalSelected.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e55091a6b317c68c1856748dacb0616ecc2f1c1b GIT binary patch literal 14017 zcmeI3Z%i9?7{{+IP=+FOj*YlYZpYY|*j}&DV$Ze&+SMUc<|zM+$yVAc+-Q6C?npb- zxVX857t00;BWz|FD$59xWvGi9|IFYE-CUHhWr!xah?5!EUa&VywBEI)EoESS$@cE| zYm;7|=leXrdp`a4-u*(?L%$)}&s!_4h(sbmb_g#d^n1w@tvv51aooqL94@ArQaKqf z9(4F|LZ!wLLs`)8aJErA+Dx_3J|lMf^RFo#EbZrM#)pc19nDNTZ^SThqu7ef z#nbNiPKyYNnJ~gwZ=uv6M#;uq6vuel#r~#J4Ne&FCE@s1k&>qSmn4RhOX3xEKAJaa zqPrx8qg4i695i9@Fjeu6lj8peMEKcbLa40avS5K z-TRi56Qr6T30<^2LG+-}Q9*hcFNv9@UJ|3^PC7_=8ZES!@^PY{G-?BW-$cT&@qE*A zg$aoVJ*LYUGl;*P^@RVJE+uATe|o#05kENDSQtaRCtk5<_=ETtEbX#L!(37Z3p;F?1Ki1w;Ty4BZ8B z0TBQaLw7-3Km>rq&|MH05CI@DbQi=0L;y$(-34(05dacHcR^f01c1cQT@V)#0U$AS z7sLfb07wko1#tlp01`uYL0mutfW#}hDn^+eug}iL>2R^3^q2x310hUgTyc z=GqMfmk(i;od>%c$169#vianA&F!4+^UqcNgVks4|G4Il>EP>fY~v>#4UYQD{h59L z)(()nXI7tmEp_OPt+|m@^;45q%186QpZucebmj(h_QUGoAKum0X{Yqesk?hs>qj~- zSnA7NH};R|tC8lu0qKiKcHW%&-eZ<$J@b8aqk{+BWj%-U?|eD%>Yg8W+sAJFdhEh` z>-JRDH`z{Q9UeM)F=ysrHP*K+@2$I!Po=$iZ*Xh=dFoEt^_Wo5306Mv4H)5Q+={Y5sqJL6Cz%fkA zmaka3YSZQ|TeofBv2)j(ZXWYowZ z;xuvL#)F*7#z7xMlZq~KiK&=8RQ(9@8rWyVd8~;npTRwb@YgK{9%e>h1jo(?*IBQ{XfH!k5_;FIp1ty-2Cc8Jy*!eLvu`nmikGZSRS;FXD=Kf!tg;0kUw-p=nOgGV zWj50;ql1cJVG##;mM}>qG%>PB-B~5I{!i0a{a+vU{AajSsrhj}+lN{`{ztpE>=ren4wI}_M$*Pa}!dI3C zcYfk3)x2_kbL8cfewFKlj9VV+ME5Mz_`RuTa!{1Xh0OR*+?VTLA3Fb^!SnIzukFiT zMU_;QHrf82WEB~;c=26_HETAwNk;lKtkz^P+HfNA1WV}sx3R|mn#|;XNap`%IIdZc zE(vnqL$6Yc^=&JG?u!)B3Z7RDai2~q=dp;T8mEl>jJiFS&B`>3ykxh>C9;4gXUv7O-R@Ro{sbG2&xCxomF jTIM+G&|Is6vjvmpJhw~~N#;0yZ_1KOU01jC|Gxt^_Wo5306Mv4H)5Q+={Y5sqJL6Cz%fkA zmaka3YSZQ|TeofBv2)j(ZXWYowZ z;xuvL#)F*7#z7xMlZq~KiK&=8RQ(9@8rWyVd8~;npTRwb@YgK{9%e>hh|H#FQyDNpZ_!PbpO_@5hiJ$=HI|6b5Hrgqw=jk>_7ZF^;F2$@2ce5_qsOrtaq2Z;xxE(>pbrf zA=YV}$rDA7Z@ljRVE#{;Kg$0ZlIfhX}_#Bb_D#aoXSxD|0Vzi>5%LI literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxSelected.jpg.meta b/Assets/Cinema Director/System/Resources/TrackItemBoxSelected.jpg.meta new file mode 100644 index 0000000..fa036b4 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/TrackItemBoxSelected.jpg.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 49be13a938df5674ea790e5f9d41077d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxShot.jpg b/Assets/Cinema Director/System/Resources/TrackItemBoxShot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8e3f47f3f5123ef5ab17d9a307c812f16000ce8 GIT binary patch literal 14329 zcmeI3Yfuwc6vsD&N2FAUf)8rjCCn%f$+7_=#1PaV6$&T;d01N;k_8r$Y)lpt(UF!a zT6G)+6h*8K15|YCbmZZ*jK$Umf{wL?DI#{zYVA~c6ct~H=`J83D$bqJZ}%o2HuwC` zIeUKj?|!?MOO~sMQ$$#J7{cLjkVVV~v0U?aO`~bO1jBSjp;ApH6G9cG#mq`Qh6{Z$ zL>gk&D^(c;jV2SRq%K&{U0WwWNp-LwAt1^(N-rnU$VFKOA~q{JPL-9R3Q`L~WcE_C z#H`h830jGowHlpKVh$Dz6qhj9>^3Gq2PAYxuwXvh6-|s7I{`DlrX9cq@E@z9m>{KCR3Sout2~z8eW5Q z(PYXgk4+iLSgIpw znP{lXnC+n~DaH;uYVZN7>>ZEUe;p9!ZyzTA9FJ#?dJYGpmdFi+lBNuC6s3_3S|N-y z5GKlyVMOJzV$>sn)Tt?x(Nl_zm5&;EI7EahX+p*r#@~l=i*Hbz$alan{>w(?4~oX5 zM^S1rW%X;)M~U7vI>Jo8!b@!AMK7_tk|m^>&?JVET0&=J{Uq|0VlNGh8g?X}^s2;B zfj2#-S~YACeWpP(@L;M{7@;AU8E7LjCyqU5617T_LK(D5T1IM>sRWj;CsL)@$nLl| zIB0C<&A_~ru;I7TGj|U^&2Qym1o>MjKUfqt0fGy0L0mutfW**U5El>uATe|o#05kE zNDSQtaRCtk5<_=ETtEbX#L!(37Z3p;F?1Ki1w;Ty4BZ8B0TBQaLw7-3Km>rq&|MH0 z5CI@DbQi=0L;y$(-34(05dacHcR^f01c1cQT@V)#0U$AS7sLfb07wko1#tlp01`uY zL0mutfW**U5El>uATe|o#05kENIb5)>_^V|5IW{?kBK?OV`)R=>`9?lE~~+a)p(07 zGE`tZ+4wQb353r>Pz2?2_=pvs!{u`NU5!EON{)cN<|&R)9+QFIiAiHrFn!GS+3Z=!RiZ}RWtFe zDg$1d)k5V|A8}atUB;$g3aUMG8w<*&G$;z9OYfYK{|)_8u=d6`Av- zBI+w~lFcbAhr%lNLmwRX@Ax+HeE&b6#q~8krY85qw{|_u*8PcX?|#y)$?q+UiMSY- z8YtE z{PDSiWocf)&M^_w?GD6d^TO9nPmjKSyt_wu_gz27ldjkK7hG1hHk|i7($L|a5X-Ag zjjGH|oPRELYF~u#y(3$DA7`LHdU@Hpo&9{$?s9~g&N?vN)>~qauSvuFd0#p>EuV*O z>b%8ksatx7m$!3WkzD6QG@$Ff7f9~(yG*=pYtv@lSfOdJUeURJ;`{q|Z!6ky$rw0G zW<$rEad@Yu$5GK*mp)g?-I#jQy?oorJwFHi=UtL75{K0vRJC3{7kzD0$yU*lLyd<$ zj?OF!pQT=2A0ywl&Z+>h4*h61x0v+a*?48I@y1VQIfda}2QNuBWHmQ?#76#6yQQwN Nz4vgx;Lzv#q|IH literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxShot.jpg.meta b/Assets/Cinema Director/System/Resources/TrackItemBoxShot.jpg.meta new file mode 100644 index 0000000..d2aee33 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/TrackItemBoxShot.jpg.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 2d4ce42e942e6ce4fad40dbf1c1a912d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/TrackItemBoxShotHover.jpg b/Assets/Cinema Director/System/Resources/TrackItemBoxShotHover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..28b0a7f5051fa2c75a509a01880f91f7aa341d27 GIT binary patch literal 1419 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 cYWjPbmdKI;Vst0CK=i#{d8T literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/UpArrowIconHover.png.meta b/Assets/Cinema Director/System/Resources/UpArrowIconHover.png.meta new file mode 100644 index 0000000..bb443c0 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/UpArrowIconHover.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: c47d315d69f914c46934b217ba6ed53c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/house_white.png b/Assets/Cinema Director/System/Resources/house_white.png new file mode 100644 index 0000000000000000000000000000000000000000..dca745c50d762ce0b25750e4e531373351657fca GIT binary patch literal 1401 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/houseupsidedown_white.png.meta b/Assets/Cinema Director/System/Resources/houseupsidedown_white.png.meta new file mode 100644 index 0000000..5015761 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/houseupsidedown_white.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 16259ac383d08ec4db717e67d1c23f79 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/keyframe_white.png b/Assets/Cinema Director/System/Resources/keyframe_white.png new file mode 100644 index 0000000000000000000000000000000000000000..85fef573a0b8e466174cd0c97b5c460d6f89fb2a GIT binary patch literal 19280 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 YZBf;UqQM`W6PjwDU1EEwXvO;f0^-S!$N&HU literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/keyframe_white.png.meta b/Assets/Cinema Director/System/Resources/keyframe_white.png.meta new file mode 100644 index 0000000..c8fc899 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/keyframe_white.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 573d8484ab6197e419984876dbaae8e6 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/keyframealt_white.png b/Assets/Cinema Director/System/Resources/keyframealt_white.png new file mode 100644 index 0000000000000000000000000000000000000000..eea00eab310fe24e57cfb6342527192307ae43c0 GIT binary patch literal 19719 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 literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/keyframealt_white.png.meta b/Assets/Cinema Director/System/Resources/keyframealt_white.png.meta new file mode 100644 index 0000000..b53497c --- /dev/null +++ b/Assets/Cinema Director/System/Resources/keyframealt_white.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8cbc102254d39844a9a524043f60bb0d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/locked_white.png b/Assets/Cinema Director/System/Resources/locked_white.png new file mode 100644 index 0000000000000000000000000000000000000000..4b6b6f8d64b221522dccf4a6f88db061b28fdbfc GIT binary patch literal 19280 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 O0^|IphIi&ww*D9BXZEuI literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/locked_white.png.meta b/Assets/Cinema Director/System/Resources/locked_white.png.meta new file mode 100644 index 0000000..fabe447 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/locked_white.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: c3297e1a9f31ff646aaf7498024c2845 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/magnet_grey.png b/Assets/Cinema Director/System/Resources/magnet_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..feeb8b50c6786b0adeba915fd41c367c5428d3a1 GIT binary patch literal 19908 zcmeI4eQ*@z9mk&#f*5%zA`o;c$MLGN*_V6EotI0GyFgAjh)EDK5@2t4FD%^Mo_CvE z5+x9B(4uw5x1f?D^#un5ipXGFQ!s6%Lmewxt%y`97F!B~!qAZ>fa$aM^4wmshb!1R zI=eH;{qA{wzwh%rpXc{H`|SR4>nrEY9$t8TApl^wr@~zYKXuaI(82Kkq3A2C;m6hC zirOdu*Nm3_^1#NQ7Xgr8#JgOTmCFTDh%OhxI*-ex3r7S$AK(CJ`iNP!?5V#U|Mb|K zle@bsD{HEb-FU2M{HXC;x?7)Wd$8@vHtCv3{`yzlq^|ou$;Qj@_Pj9!McmW%hwlB| z-QD5ZgYWM9V|$yid*kBDn%}{KHEnIbojzrE35-5^O@6+srP<@WIzOKomY*N5sA^2u zd6L~&@sI(QL!Z&}JuAwgPkubw>f~>8RqWttO)H~TfZdI zdb_jrcAsZOA#{F!#1MEbdHlk)1?S#)%U&=kf5DKO<3HU$yiQejFMW9HLytXbpW2RN z*s7V&&%LAW%MFV+|K@=U6V|pvU3&31BeN6F!z+`91Yl~*yd ze>}}pKV@9O!e&cBj2qc7zYZTQ+%O?_WZCP3`!1~M?OyMk6OXN1JZ#nYx38Nxjvq5- zRNW|pp>h6SZ{M?D~g)>08`^T?ckd|FGsiFD>etyiHti zsH5=Wn~!wXnSQo=NkjF?3FZ@~zZf?M+gIKaDEsK9j~BeZ>a~TtckJx@+}+{XHLY*c z^<}3{4}0**i@Ww7@H}yM%if-~TOM$a{bg~_t23fKd)g;%o44bx+Ad+wXZHp>=9+~= zD_#knAF*xI`B>NI)-F8I7mr)-YrT;#o7#HMKF`VOf4)6=^TmeNKbN1HGkeG6B^P6> z-u8Cf8T;b>Bh`CXe@cJC?3{LfGq?9g&CRD9zPhs~HqK#OMP0mb;^f*dj+Pa)Zt8un z_rRIH)nGUnY3$u_rVaq-3BG2LxX3%##t6Y;niYIpaZ@l1R}=vDvZgT2tmH(UkE`cH zrTQk=;F%2K^kYEZYxTd8vi5l&|+Hen1wkvfaDm^2x!BsoJz5u^bp37oQG zBxy5RY@}J2y7Z1hXxSsI-&WW3gCq%up;u>T%L)wc-SYQxpb0 zuxN8gq?@o%bW&0zt>fmROoR`Myb#h!y0lMd5KHxXsUdWw#uW^shC>yT ztGKAp5Mj9TM%a@{N}Z32Ra^$H3MuHWC=^cb$;$mg)j2VWygx@rq?(*zToa!oOsYwS zC2}e`)pkhT=8AB%C`4)mA>c@+YvzsuZz$8fG{c9aJIqaXyuW`YYcf)tn-)0-%xWV> zP#9&YAqg90uo*~#c{DDzCDuFVsQigbwKJZ=XpDCT+A#`%1d*-w{XCZmbQ zj2vUaXcI$Yl!-7hq|wJv7B+#y>y?KOkai19gS2{5(kzrFD4Hy>5Ppoca4cptGd|46 zSuB{ZgkgQ0*-sIyF)b|%A0RzH!o!`94#<3@-hb036l4Z8Rl!GLnl;PP4<=z^Z>#3+ z$}UY;1o*@r6{aImPFljH`t%w`n;P1)q?p83V51pncXKdOUULv|R%xbNC^8ks51c@C zl#}|h@Z4?0mUE#?Esdm9!Yj8(RPc*2I>I^YVNQJQl1)lx$Mn~>H~uFdG?@&*bOKCF${9#Soh?2tJ-qkt@ht6eZFJX(xOX zkj}eNS^uPTlG0%&U7uZ=u7D>n14)|9#&Rb?I9-&{NI1|zOUMS4$p)LKTO^&t0}Y9jwuK_#1>a%7D-|lQ?jKrv z=}>uf|Ike2f)Fn{s8nnHie*vKV{bAUs^P01&S5s03?@6?zqo%yCEvsa7P)!&)D@MU zB@D2oL`?q*#lYHJfwGEJU~=MQFJ%&mkt~I;eBj$A9KCKDkTWoCzWpmRqHkXtDQb-% z6lx3&ml{gQN5h3ss4+BLYA7Ke4HrV8#?Wx7p@e)iTnL34L&K$p67tb-Arxv14VM~9 z$VbD4P^d99TxuvG9}O2mp~lc~siA~?G+YRU8biaSh7$78a3K_G3=NkWO2|jUg;1z5 zG+b&ZAs-DFLZQacaH*k$d^B7Lg&IS{rG^sn(QqLYY77mR8cN7V!-Y_&F*ICiC?OvW z7eb-N&~T}tgnTqy2!$F$!=;82^3iZ16lx3&ml{gQN5h3ss4+BLYA7Ke4HrV8#?Wx7 zp@e)iTnL34wV}Q(nA>;}NU_@gks&Et`ZxtX01b$R;w(tGj)H%uf`)+!aP%38;qY7LLOsZ|FNGh5 ze~+S80E8!(I1Ubgwp48vgQV_R*m`z2fYWz2(`c5ZAaEXbUfz1rKUX3t2xK+zwO=#= z08kC8-r4y$sIz z1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2V zGf%@B%Ic^COV3R@KmmGqR}Dz8;3P&HBgsdiAkOCwZM zN%Mo&0qsdTsk&Brf_ks?j~Fa4tTl=;wl$GAWj1|jcENn7#S+U2R(007HgUFrcCPl; z4#ti;PHN6dE()&lZVK+o9_pUDUMAi)KJLE3ehL2h0ri0sgO&#G3b`2iGMp(wF48J0 zBDx}GX6&B02MKJ6x=CTl4Jm6Do(SY&2q&CR};%bsVSUs15B@LjQXNml8qvNsj_ zl_gcXY8Y$1>ZaB|Y}9M2X+GO3*H+kmv{SmPsQYxUYF}gj-HA4nW>5Y*HGbOR85%SD zXMLZOF!%I)^94&6i7aki@@-k>@_Q>oR-InsvUcBk%MIH$nQY#&)nwcD9acN{?{?jD zc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMD zVo&xz%X}g7^5EeJe3j8|tr}dxX|Nj6D01q_RbY2($000Sa zNLh0L01FZT01FZU(%pXi0000QbVXQnQ*UN;cVTj608n9RZgehAMN}YmGcGkQF)>H; zLN@>a0ToF^K~z{r#nHiS0znW&QSw0~KnPqo;8?ghKcd=<+oi=FCsogyZ0650xNr$A^d)FreP>P~^sSg1>AE7Y9= up|RZlw)ZZftx$Igx?$J}!%i6XSvObLy6e9Orn7Va0000##6WG!0Rsg#n@w3rvN1`Uwo0XB zz(da&@#Kf}kkb}jh{ECF*^?1r>gctAx$ny+FPk>S6}Y=` zX5UP*-+k}<`Mmc&@B4o2{;}(8=FA#hcugTfXtcB1Q43cU{*BCo|3l#y?}N+b!Rm!! zgs!*>|8mgQpBEvNTg2P#H8snHh!9>b1XWJET@?%oUf#zc)bb&_Y}w;~@BQTX>m}XY zH8u6M$FDzLR6MqLM|b<<9S?Op)`8O`?QeeFtyOj3k8Qe=-k399qto2m^{4LFy1ToB z3*UeH;GZ{k7`nGEuBrb6WUTJ!`2DmgFO>uO*cG|C_O@1M)#bUl?5Nz_Saof4!p^~V zbM?b|$OoUR<~mo*0H54gxV?(I%iA_{{hB9s?AWn}y`#N$*X=>>Zs&@?-ZhO&LhW}| zwcq7-t|$cO_pU5}v}E(yarxi8`i3=sa_+o>n`1wDZCd`wE5_PJYV)c~sheY$P05X+ z*oat8EZ2_gYJ0^WN38qhD52^Qd2y|p{iv2cs|k=99l*G`zd>B>!u zo^5;fxo5xmVEUn__pV~cG#>rS6R*B~@bp^!hQ1M-C%-=-;5wOat+m#*u5Fom`tm;4 zKQhW?8&9C-njnS^-DMGeE89yS#R7(Q`D;4 zpT6_Q4PS3sy#03%p1oo1a}TV&qwNl1xAnK~JhEf#u4kU=uR5{%>ymBt z4YyQO?Vmp|Yt)3Izg=^%=!J!v98e*D;m zv3h;;+>c^;FFQVd>V@O$9yLBw_O4ksU8mpoPw&z`Xp z)wwA8<$Fi#4&3(%bA;VH^~`qez>iv6Pc?nJs6RT}>=clPrWYrZ^Incu!`;N5|q z)A9SzXf(z!u<3LILRA!BzaX-}b*F_D{H2UXaC4Qfu>iI^O#uc=4%lYcI5LeeWr=D$F$(lXtN?W0|#R3F=F2bl<{Jucg(o&&L z@LIse*|b`faEYv}P*>p!RSR4-D!UNkRK`*x#cFg~RhhX|Yc!a(+UY8tMysc_8d_(j zv|5Xy%%U}^l1XhV1j`!ocrCS#naS$lu0p*$5(!#pIvS0ZM)jpasFBv1&1PDoqjfq8 zJg9JMAi}gzf$(IJB*o+4!fc2SMtC8h!n}-IXo^&*)wm*(lKt`rNkxHhQaezQZefD7 zwp2rB19@122{wg%iKcm2n)7jfE)WR=PMZ}6lDb?3nzcH=KPxgEnb8bANGg&Q8Ln>) za&#>h7MemVH=`L^GC5o0!;xApEv^hIaL-B&ncQB9O;k~W0 zSkj&n4i9Vb3L!revGIPUk)wlwMk}4plz1jW*WwI>BTRthoDLggl=8gCV%BilGKOO* zPUrPd1~W`crrfQkOa`x~TxTdVmvhF194?m>K7`sKuuXXOB&j_>?bVx29;3UQ(s^}d zl)>vZQ;eb9P3aA+#>=@)CZoxlqL#piP|pqVu<|iJi4Si5_pKre&5)|9`7nf8t0ep& z2oq~t9d~zTZmPh?C)TJS6AE*93RkF8bC@h@WX-~u#8O~kSiHK~SRB`!$4Y19rkh2O zNf@FZcu8;LR@uBs7Y;yb6TNSTQl%x$IdR^a3R z3!@NbnlEk)G$zi#XjwO9(8AVcFdND!x2D`nv06r}aeKLPjxnXi_(I3PV6te)^7MZi zgLM3|%b7qU=dsbLZlyAQNW%u}zgf@fSW0g;>M4T}{@i-KmNFW=UT>M6DQCUfRR1nu z*oN*0%CO-zPY5(~q3^Tm!P?5ep_L1TZQhXJS24k$k7pUYg3`?aPx9194lJsOppxu| zqUaKi|6z!FxDfw+))q-CiA<^=Sf4L?HI;WH5rk;Gl+?j$=!piOg5fad z5JPh&o=|va{q6${oI&7O!XlA8b%>O^kPd=pOvEI+=R(hsV&f$6Z0y3t9wo(Eve2Y! zODQiASaN2ul4Z(b7kom@wN1C7kJEc!5?UzCW`$gotVu!w2B;e2SDo;v%8I z4`miO1jB(Wv2@~EhvW_RUw{v@zNW-swM?gh1g`-gC85&d!O(^0hf0eFL(|B40X|~W zC2Jd$EkWTYM^Vo@cw55ROt6>3W6R*|!H62Zh4U?N@bKUg#>a6z)Re#sF31X8I2=$? zkOYb|RPtUU5fNf8yfuLrHZ*x-BMBCA{J-=@x<{9un=mSs5Gmvsid=G3B0h>-L<%{E zB9|PMh>s!{kwT84$R$T5;-kn#q>y7Ma>-GN_$YD_DdZT6Tyj(*K8jpK3OR-%mmHOd zk0KY5LXM%xB}XOVqsT?1kYgxv$x(^;C~^@gTVA{UWD zj-kjUMXTQHl5{auF%y7>ZnSR3bi#Tto^vh9Z|7m57fb7m-4ap~xji zCE}yVMWm2pD00bBiTEgT5h>&tid=G3B0h>-L<%{EB9|PMh>s!{kwT84$R$T5;-kn# zq>y8rSFXbJHxRf0eE1-Wzi=?MX(W6dLB&?rx)5rcg3#(1Lj7^L{tKZd4MLwUL&&lP zp^3sHOApROXr#vJsH$(tflrnk{U!$-FDi|=C^Uc-0)%onRE)G}T)Y<@&gn({NlkGc ziua(&IhCjfuAk+I1(%^BGzESqNgn?845R|cL~$gc5c4ztQ}6=G*e40(P-KH6lvj+# zq5MQe=Wj(OJReX94WO@3o)+MvlPyhCWHue4OgMal2bG{R=nM1_$}5ueC*6@u0!)mh zOZUA1!B=_!`3WK#q#$A|`f~E21~KIWbaVzh<%_RF2*g&5ix=daO!|$64irdgm%_6W zV2Xl714Y-&yG-~cm`qu^fQM%Qw;`FtyYzi3U%X}^7(l(K4@66)KDbYan99hw4k5ts z!{7oRQc4c+8OZ5{I~c|csCbjtn+T*-kqGZap%gd=rzF95!?AO^ zBlu2CKrjGe^ue@%^@#Kx=iw3z!BVA?NYNk1u^}cP_zDEU|7mzS?-Y6m9f7iR!W3V@ nh@|qAo#_%x=ZoH4VdUd+w0ir<>va0W>h7E|$MO8_%hvn{g*8VR literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/rescale_grey.png.meta b/Assets/Cinema Director/System/Resources/rescale_grey.png.meta new file mode 100644 index 0000000..56e8c3d --- /dev/null +++ b/Assets/Cinema Director/System/Resources/rescale_grey.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 2302051af22656a43bb2cbed1e731511 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/unlocked_white.png b/Assets/Cinema Director/System/Resources/unlocked_white.png new file mode 100644 index 0000000000000000000000000000000000000000..2dff823122dfac010b8d0722d8284d02792f3d7a GIT binary patch literal 19719 zcmeI4dvFuS9mm%QCtx6i5WtXWBE&o4d^){sDY6_R0Tv)Iwka@R;B-2f14$>Ovt>K6 zgV8`r(#!-J9>FCvG-L>m5MW3jF2qftLo+FmLJA}el$0bbl-Fbi%2VCbV|A8gv0&Ov zW^O&Qe%k&0zPtO`$L-x8x4d-n_+B}KasU9m>?O7`_^lK_-MYg6Cxg3QgkRnLB{PEn z^yn*ovcS5Z=K`R}<*e4y()ql=2j}yCrQK>(`UAY1^RNKae$LFB_vYXK`PJEvhqkts zmR6LVee!JXz&-;vwKl%l^lH-^O=22M{pQ!Ll(O|D(I$(?RayPi8ube;e{4P2+S=-$ zdHmA@e_GX~Yh5?HwBjR}vAC(}_alexDS**udMFgu`Z{}YcZGuKsZfMV%4(u^mT1?M zyrzZu(5LSd`+~91M-dJ-7PC{`_2ZT=d27?AO-q;wjb&TL_}NAF1-_k2s^$b5rxrI( zb=nu?K<8tRJOtC6HMbtizPA4pbM_F$w1=J!|K#Av>~1~!Sh`VNOY(@P!w(Nrgh9AV zI4i8M0;|ee_=hgbe%X`HJut8`cjCb5>Ql^POpbG1tI#xat#M`D;P0O3KXLUVt7mPi z-?n|*wG*RHzO%D|>0NdD&u{Jj^uU#++7;h*Su^B#f1l%GwzEI=({5Uk5*eV z;J2~>mQ5`Uf;WF@YcyY7R_wo_kO+1+dRp@pIorZd-IX4 z>u-iyE*e`%Pb3^RzSQ_6S2Vowg#-5U<=-9}y5V+p<6p*Jm^gmN&^fn54Tl`fvqG1S zoi5+^;#c%3X6J~T8`yo1*416EzBB83Xn;l6pt*hP-1#M!&J<-guD@~g#^EcG7eO!3 zTX$pil}Z4L39e#>FvBs)#PHrc+QmEByjrgxt|$P^MYVpKS;z`XCtJn&3RRa{K2#|= zSD|XU-l2B*t?YcRq&~ow*H5ls>K8Ibm#WB;W3Dwp0WT}i%380-7c|uts-n6kXp7mT zN*Q$#78a_C#R`=(9HmMtA7GXGJUzjvHIy>nm`CY#Mv5A()Tk*fNvTPVk)SA(F5g5M zl<}mpLdoll@^ z314tXOeCRWV}ne9^9vmBQ;NE@ldl#ERVuL}l;ZvJ`cXx`V4NMKNY>JRlFCz)>4IDg zit$$mJkh4P7?Sm{Ue+fBVH}k<4kC3pP-xofyxz2tL1AnS>_MDJ+Q?ut0f{a&lC*@TtO~cpxdcXCXL2KX{9P{d{cFJ7w4|SQb~GBG+d0y z%?G@+VBx%U6-)YkRc11oDe;U>U6b7x6lfpA+HDq?k;ic^lan$~`A!2x7#V|}&^g@( zqCjiZ5N_B(je&CN^?Evr!{LyIx0ANyPP016^n;Tyy0?|Hi`wQU z3OrnNkMh%jAS*86LRDf7qfHI%Sz=6dD=^WFxVu>xabB}7Gub9L*(?+p598VoARgtI zz9hWkIzsbVU#6uIlZtwEEE441LWmBq#Z_=l+;z#uB-_TMYMV*%QsCkK2cr9Qr7$zu2btu*%h%wppO<#?L&!Q1m;QU!^NL_)kNGr>bJ zJdj1VPO;W@d8z(0#KWwoI(k@zM;VylV*r@qq0-{i(3zP-rNybC$;fFwPOxa=wWVZB zqQpDL7|(L}w1l-7^m?t{Or~b1MwD{3tY?OegEuZg@i?x9HAQ1m3(^M8>?lxD5D$#4 zP|0(R=!}Tv!lx$ifeneC*hnS|I{rU+BiW+|uZcV z_{x&g*Rr5vr&5wiHwL0jg%v`ruGuJqmUS^LEziAG;jp~Y-%iJwH4@i6x#X$U{B46{l*tK-dTb4 z@fjvkYJeg&Bla7=3zyRih;IPuICYa0iAz>Y-C(P)#!T_QbQnJax4-~!0$czJFbez| z3Iz8QUb7 zl-*a5RN;FPkW?!%!5wMSGTLYmGi|Dw6eQJ3OtfWW3XPRXq9o=$2z0s&4^rTPE~blj sr`O&?+Jg3_7&+2Wz;JKx0(nLvM^3N*Xyf*QC&gm>*vYo{#>`vtU%f&@*8l(j literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/unlocked_white.png.meta b/Assets/Cinema Director/System/Resources/unlocked_white.png.meta new file mode 100644 index 0000000..8e79a74 --- /dev/null +++ b/Assets/Cinema Director/System/Resources/unlocked_white.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e0696acce61e6114fb1e0b4344946d34 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Resources/zoomin_grey.png b/Assets/Cinema Director/System/Resources/zoomin_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..583d29e3ff70c0ead0c716beafdf3ba27b5f80b0 GIT binary patch literal 19719 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 PX;jJV`Nn5wRki;YIjNJY literal 0 HcmV?d00001 diff --git a/Assets/Cinema Director/System/Resources/zoomout_grey.png.meta b/Assets/Cinema Director/System/Resources/zoomout_grey.png.meta new file mode 100644 index 0000000..092cd9b --- /dev/null +++ b/Assets/Cinema Director/System/Resources/zoomout_grey.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a154d09985c988745b620dfa442dcb44 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Cinema Director/System/Runtime.meta b/Assets/Cinema Director/System/Runtime.meta new file mode 100644 index 0000000..8d3a994 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: c4f2f47b30e68cf4a9b4bb464ef64b73 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Runtime/Cutscene.cs b/Assets/Cinema Director/System/Runtime/Cutscene.cs new file mode 100644 index 0000000..b20be8b --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Cutscene.cs @@ -0,0 +1,576 @@ +// Cinema Suite +using CinemaDirector.Helpers; +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + ///

+ /// The Cutscene is the main Behaviour of Cinema Director. + /// + [ExecuteInEditMode, Serializable] + public class Cutscene : MonoBehaviour, IOptimizable + { + #region Fields + [SerializeField] + private float duration = 30f; // Duration of cutscene in seconds. + + [SerializeField] + private float runningTime = 0f; // Running time of the cutscene in seconds. + + [SerializeField] + private float playbackSpeed = 1f; // Multiplier for playback speed. + + [SerializeField] + private CutsceneState state = CutsceneState.Inactive; + + [SerializeField] + private bool isSkippable = true; + + [SerializeField] + private bool isLooping = false; + + [SerializeField] + private bool canOptimize = true; + + // Keeps track of the previous time an update was made. + private float previousTime; + + // Has the Cutscene been optimized yet. + private bool hasBeenOptimized = false; + + // Has the Cutscene been initialized yet. + private bool hasBeenInitialized = false; + + // The cache of Track Groups that this Cutscene contains. + private TrackGroup[] trackGroupCache; + + // A list of all the Tracks and Items revert info, to revert states on Cutscene entering and exiting play mode. + private List revertCache = new List(); + #endregion + + // Event fired when Cutscene's runtime reaches it's duration. + public event CutsceneHandler CutsceneFinished; + + // Event fired when Cutscene has been paused. + public event CutsceneHandler CutscenePaused; + + /// + /// Optimizes the Cutscene by preparing all tracks and timeline items into a cache. + /// Call this on scene load in most cases. (Avoid calling in edit mode). + /// + public void Optimize() + { + if (canOptimize) + { + trackGroupCache = GetTrackGroups(); + } + foreach (TrackGroup tg in GetTrackGroups()) + { + tg.Optimize(); + } + hasBeenOptimized = true; + } + + /// + /// Plays/Resumes the cutscene from inactive/paused states using a Coroutine. + /// + public void Play() + { + if (state == CutsceneState.Inactive) + { + state = CutsceneState.Playing; + if (!hasBeenOptimized) + { + Optimize(); + } + if (!hasBeenInitialized) + { + initialize(); + } + StartCoroutine("updateCoroutine"); + } + else if (state == CutsceneState.Paused) + { + state = CutsceneState.Playing; + StartCoroutine("updateCoroutine"); + } + } + + /// + /// Pause the playback of this cutscene. + /// + public void Pause() + { + if (state == CutsceneState.Playing) + { + StopCoroutine("updateCoroutine"); + } + if (state == CutsceneState.PreviewPlaying || state == CutsceneState.Playing || state == CutsceneState.Scrubbing) + { + foreach (TrackGroup trackGroup in GetTrackGroups()) + { + trackGroup.Pause(); + } + } + state = CutsceneState.Paused; + + if (CutscenePaused != null) + { + CutscenePaused(this, new CutsceneEventArgs()); + } + } + + /// + /// Skip the cutscene to the end and stop it + /// + public void Skip() + { + if (isSkippable) + { + SetRunningTime(this.Duration); + state = CutsceneState.Inactive; + Stop(); + } + } + + /// + /// Stops the cutscene. + /// + public void Stop() + { + this.RunningTime = 0f; + revert(); + foreach (TrackGroup trackGroup in GetTrackGroups()) + { + trackGroup.Stop(); + } + + if (state == CutsceneState.Playing) + { + StopCoroutine("updateCoroutine"); + if (state == CutsceneState.Playing && isLooping) + { + state = CutsceneState.Inactive; + Play(); + } + else + { + state = CutsceneState.Inactive; + } + } + else + { + state = CutsceneState.Inactive; + } + + if (state == CutsceneState.Inactive) + { + if (CutsceneFinished != null) + { + CutsceneFinished(this, new CutsceneEventArgs()); + } + } + } + + /// + /// Updates the cutscene by the amount of time passed. + /// + /// The delta in time between the last update call and this one. + public void UpdateCutscene(float deltaTime) + { + this.RunningTime += (deltaTime * playbackSpeed); + + foreach (TrackGroup group in GetTrackGroups()) + { + group.UpdateTrackGroup(RunningTime, deltaTime * playbackSpeed); + } + if (state != CutsceneState.Scrubbing) + { + if (runningTime >= duration || runningTime < 0f) + { + Stop(); + } + } + } + + /// + /// Preview play readies the cutscene to be played in edit mode. Never use for runtime. + /// This is necessary for playing the cutscene in edit mode. + /// + public void PreviewPlay() + { + if (state == CutsceneState.Inactive) + { + EnterPreviewMode(); + } + else if (state == CutsceneState.Paused) + { + resume(); + } + + if (Application.isPlaying) + { + state = CutsceneState.Playing; + } + else + { + state = CutsceneState.PreviewPlaying; + } + } + + /// + /// Play the cutscene from it's given running time to a new time + /// + /// The new time to make up for + public void ScrubToTime(float newTime) + { + float deltaTime = Mathf.Clamp(newTime, 0, Duration) - this.RunningTime; + + state = CutsceneState.Scrubbing; + if (deltaTime != 0) + { + if (deltaTime > (1 / 30f)) + { + float prevTime = RunningTime; + foreach (float milestone in getMilestones(RunningTime + deltaTime)) + { + float delta = milestone - prevTime; + UpdateCutscene(delta); + prevTime = milestone; + } + } + else + { + UpdateCutscene(deltaTime); + } + } + else + { + Pause(); + } + } + + /// + /// Set the cutscene to the state of a given new running time and do not proceed to play the cutscene + /// + /// The new running time to be set. + public void SetRunningTime(float time) + { + foreach (float milestone in getMilestones(time)) + { + foreach (TrackGroup group in this.TrackGroups) + { + group.SetRunningTime(milestone); + } + } + + this.RunningTime = time; + } + + /// + /// Set the cutscene into an active state. + /// + public void EnterPreviewMode() + { + if (state == CutsceneState.Inactive) + { + initialize(); + bake(); + SetRunningTime(RunningTime); + state = CutsceneState.Paused; + } + } + + /// + /// Set the cutscene into an inactive state. + /// + public void ExitPreviewMode() + { + Stop(); + } + + /// + /// Cutscene has been destroyed. Revert everything if necessary. + /// + protected void OnDestroy() + { + if (!Application.isPlaying) + { + Stop(); + } + } + + /// + /// Exit and Re-enter preview mode at the current running time. + /// Important for Mecanim Previewing. + /// + public void Refresh() + { + if (state != CutsceneState.Inactive) + { + float tempTime = runningTime; + Stop(); + EnterPreviewMode(); + SetRunningTime(tempTime); + } + } + + /// + /// Bake all Track Groups who are Bakeable. + /// This is necessary for things like mecanim previewing. + /// + private void bake() + { + if (Application.isEditor) + { + foreach (TrackGroup group in this.TrackGroups) + { + if (group is IBakeable) + { + (group as IBakeable).Bake(); + } + } + } + } + + /// + /// The duration of this cutscene in seconds. + /// + public float Duration + { + get + { + return this.duration; + } + set + { + this.duration = value; + if (this.duration <= 0f) + { + this.duration = 0.1f; + } + } + } + + /// + /// Returns true if this cutscene is currently playing. + /// + public CutsceneState State + { + get + { + return this.state; + } + } + + /// + /// The current running time of this cutscene in seconds. Values are restricted between 0 and duration. + /// + public float RunningTime + { + get + { + return this.runningTime; + } + set + { + runningTime = Mathf.Clamp(value, 0, duration); + } + } + + /// + /// Get all Track Groups in this Cutscene. Will return cache if possible. + /// + /// + public TrackGroup[] GetTrackGroups() + { + // Return the cache if possible + if (hasBeenOptimized) + { + return trackGroupCache; + } + + return TrackGroups; + } + + /// + /// Get all track groups in this cutscene. + /// + public TrackGroup[] TrackGroups + { + get + { + return base.GetComponentsInChildren(); + } + } + + /// + /// Get the director group of this cutscene. + /// + public DirectorGroup DirectorGroup + { + get + { + return base.GetComponentInChildren(); + } + } + + /// + /// Cutscene state is used to determine if the cutscene is currently Playing, Previewing (In edit mode), paused, scrubbing or inactive. + /// + public enum CutsceneState + { + Inactive, + Playing, + PreviewPlaying, + Scrubbing, + Paused + } + + /// + /// Enable this if the Cutscene does not have TrackGroups added/removed during running. + /// + public bool CanOptimize + { + get { return canOptimize; } + set { canOptimize = value; } + } + + /// + /// True if Cutscene can be skipped. + /// + public bool IsSkippable + { + get { return isSkippable; } + set { isSkippable = value; } + } + + /// + /// Will the Cutscene loop upon completion. + /// + public bool IsLooping + { + get { return isLooping; } + set { isLooping = value; } + } + + /// + /// An important call to make before sampling the cutscene, to initialize all track groups + /// and save states of all actors/game objects. + /// + private void initialize() + { + saveRevertData(); + + // Initialize each track group. + foreach (TrackGroup trackGroup in this.TrackGroups) + { + trackGroup.Initialize(); + } + } + + /// + /// Cache all the revert data. + /// + private void saveRevertData() + { + revertCache.Clear(); + // Build the cache of revert info. + foreach (MonoBehaviour mb in this.GetComponentsInChildren()) + { + IRevertable revertable = mb as IRevertable; + if (revertable != null) + { + revertCache.AddRange(revertable.CacheState()); + } + } + } + + /// + /// Revert all data that has been manipulated by the Cutscene. + /// + private void revert() + { + foreach (RevertInfo revertable in revertCache) + { + if (revertable != null) + { + if ((revertable.EditorRevert == RevertMode.Revert && !Application.isPlaying) || + (revertable.RuntimeRevert == RevertMode.Revert && Application.isPlaying)) + { + revertable.Revert(); + } + } + } + } + + /// + /// Get the milestones between the current running time and the given time. + /// + /// The time to progress towards + /// A list of times that state changes are made in the Cutscene. + private List getMilestones(float time) + { + // Create a list of ordered milestone times. + List milestoneTimes = new List(); + milestoneTimes.Add(time); + foreach (TrackGroup group in this.TrackGroups) + { + List times = group.GetMilestones(RunningTime, time); + foreach (float f in times) + { + if (!milestoneTimes.Contains(f)) + milestoneTimes.Add(f); + } + } + + milestoneTimes.Sort(); + if (time < RunningTime) + { + milestoneTimes.Reverse(); + } + + return milestoneTimes; + } + + /// + /// Couroutine to call UpdateCutscene while the cutscene is in the playing state. + /// + /// + private IEnumerator updateCoroutine() + { + while (state == CutsceneState.Playing) + { + UpdateCutscene(Time.deltaTime); + yield return null; + } + } + + /// + /// Prepare all track groups for resuming from pause. + /// + private void resume() + { + foreach (TrackGroup group in this.TrackGroups) + { + group.Resume(); + } + } + } + + // Delegate for handling Cutscene Events + public delegate void CutsceneHandler(object sender, CutsceneEventArgs e); + + /// + /// Cutscene event arguments. Blank for now. + /// + public class CutsceneEventArgs : EventArgs + { + public CutsceneEventArgs() + { + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/Cutscene.cs.meta b/Assets/Cinema Director/System/Runtime/Cutscene.cs.meta new file mode 100644 index 0000000..21f146c --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Cutscene.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dea88cf454d6b69408653729ea66ec34 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Enums.meta b/Assets/Cinema Director/System/Runtime/Enums.meta new file mode 100644 index 0000000..1f9fcc1 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 4c6c0228d26198344b5b4f948a6f5eeb +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Runtime/Enums/CutsceneItemGenre.cs b/Assets/Cinema Director/System/Runtime/Enums/CutsceneItemGenre.cs new file mode 100644 index 0000000..bc480df --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums/CutsceneItemGenre.cs @@ -0,0 +1,19 @@ +// Cinema Suite 2014 + +namespace CinemaDirector +{ + /// + /// An enumeration of Cutscene Item Genres. + /// + public enum CutsceneItemGenre + { + ActorItem, + AudioClipItem, + CameraShot, + CurveClipItem, + GlobalItem, + MecanimItem, + MultiActorCurveClipItem, + TransformItem + } +} diff --git a/Assets/Cinema Director/System/Runtime/Enums/CutsceneItemGenre.cs.meta b/Assets/Cinema Director/System/Runtime/Enums/CutsceneItemGenre.cs.meta new file mode 100644 index 0000000..b75bc04 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums/CutsceneItemGenre.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9eec02c0f87c17240b9c414bcee2c9e5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Enums/PlaybackMode.cs b/Assets/Cinema Director/System/Runtime/Enums/PlaybackMode.cs new file mode 100644 index 0000000..a3c11b1 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums/PlaybackMode.cs @@ -0,0 +1,15 @@ +// Cinema Suite 2014 + +namespace CinemaDirector +{ + /// + /// Enum of Unity playback modes + /// + public enum PlaybackMode + { + Disabled = 0, // Base case, we don't want whatever to happen at all. + Runtime = 1, // Unity is in runtime mode + EditMode = 2, // Unity is in edit mode + RuntimeAndEdit = 3, // Both runtime and edit mode. + } +} diff --git a/Assets/Cinema Director/System/Runtime/Enums/PlaybackMode.cs.meta b/Assets/Cinema Director/System/Runtime/Enums/PlaybackMode.cs.meta new file mode 100644 index 0000000..b0f1616 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums/PlaybackMode.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eec3087e80ecfa448b9e2cf00e863bad +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Enums/PropertyTypeInfo.cs b/Assets/Cinema Director/System/Runtime/Enums/PropertyTypeInfo.cs new file mode 100644 index 0000000..a801065 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums/PropertyTypeInfo.cs @@ -0,0 +1,241 @@ + +using System; + +namespace CinemaDirector +{ + /// + /// Enumeration of all Property types in Unity + /// + using UnityEngine; + public enum PropertyTypeInfo + { + Color, + Double, + Float, + Int, + Long, + None, + Quaternion, + Vector2, + Vector3, + Vector4 + } + + public static class UnityPropertyTypeInfo + { + public static PropertyTypeInfo GetMappedType(Type type) + { + if (type == typeof(int)) + { + return PropertyTypeInfo.Int; + } + if (type == typeof(long)) + { + return PropertyTypeInfo.Long; + } + if (type == typeof(float)) + { + return PropertyTypeInfo.Float; + } + if (type == typeof(double)) + { + return PropertyTypeInfo.Double; + } + if (type == typeof(Vector2)) + { + return PropertyTypeInfo.Vector2; + } + if (type == typeof(Vector3)) + { + return PropertyTypeInfo.Vector3; + } + if (type == typeof(Vector4)) + { + return PropertyTypeInfo.Vector4; + } + if (type == typeof(Quaternion)) + { + return PropertyTypeInfo.Quaternion; + } + if (type == typeof(Color)) + { + return PropertyTypeInfo.Color; + } + return PropertyTypeInfo.None; + } + + public static int GetCurveCount(int p) + { + PropertyTypeInfo info = (PropertyTypeInfo)p; + return GetCurveCount(info); + } + + public static int GetCurveCount(PropertyTypeInfo info) + { + + if (info == PropertyTypeInfo.Int || info == PropertyTypeInfo.Long || info == PropertyTypeInfo.Float || + info == PropertyTypeInfo.Double) + { + return 1; + } + else if (info == PropertyTypeInfo.Vector2) + { + return 2; + } + else if (info == PropertyTypeInfo.Vector3) + { + return 3; + } + else if (info == PropertyTypeInfo.Vector4 || info == PropertyTypeInfo.Quaternion || info == PropertyTypeInfo.Color) + { + return 4; + } + return 0; + } + + public static Color GetCurveColor(int i) + { + Color c = Color.white; + if (i == 0) + { + c = Color.red; + } + else if (i == 1) + { + c = Color.green; + } + else if (i == 2) + { + c = Color.blue; + } + else if (i == 3) + { + c = Color.yellow; + } + + return c; + } + + public static Color GetCurveColor(string Type, string PropertyName, string label, int i) + { + Color c = Color.white; + if (Type == "Transform") + { + if (PropertyName == "localPosition" || PropertyName == "position") + { + if (label == "x" || i == 0) + { + c = Color.red; + } + if (label == "y" || i == 1) + { + c = Color.green; + } + if (label == "z" || i == 2) + { + c = Color.blue; + } + } + if (PropertyName == "localEulerAngles") + { + if (label == "x" || i == 0) + { + c = Color.magenta; + } + if (label == "y" || i == 1) + { + c = Color.yellow; + } + if (label == "z" || i == 2) + { + c = Color.cyan; + } + } + if (PropertyName == "localScale") + { + if (label == "x" || i == 0) + { + c = new Color(0.6745f, 0.4392f, 0.4588f, 1f); + } + if (label == "y" || i == 1) + { + c = new Color(0.447f, 0.6196f, 0.4588f, 1f); + } + if (label == "z" || i == 2) + { + c = new Color(0.447f, 0.4392f, 0.7294f, 1f); + } + } + } + else + { + c = GetCurveColor(i); + } + + return c; + } + + public static string GetCurveName(PropertyTypeInfo info, int i) + { + string retVal = "x"; + if (i == 1) + { + retVal = "y"; + } + else if (i == 2) + { + retVal = "z"; + } + else if (i == 3) + { + retVal = "w"; + } + + + if (info == PropertyTypeInfo.Int || info == PropertyTypeInfo.Long || info == PropertyTypeInfo.Float || + info == PropertyTypeInfo.Double) + { + retVal = "value"; + } + else if (info == PropertyTypeInfo.Color) + { + if (i == 0) + { + retVal = "r"; + } + else if (i == 1) + { + retVal = "g"; + } + else if (i == 2) + { + retVal = "b"; + } + else if (i == 3) + { + retVal = "a"; + } + } + + return retVal; + } + + public static Type GetUnityType(string typeName) + { + if (typeName == "Transform") + { + return typeof(Transform); + } + else if (typeName == "Camera") + { + return typeof(Camera); + } + else if (typeName == "Light") + { + return typeof(Light); + } + + return typeof(Transform); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/Enums/PropertyTypeInfo.cs.meta b/Assets/Cinema Director/System/Runtime/Enums/PropertyTypeInfo.cs.meta new file mode 100644 index 0000000..d3dcc9b --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums/PropertyTypeInfo.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1193101c773ff7140937b5cce1b5f91c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Enums/RevertMode.cs b/Assets/Cinema Director/System/Runtime/Enums/RevertMode.cs new file mode 100644 index 0000000..9041bf8 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums/RevertMode.cs @@ -0,0 +1,13 @@ + +namespace CinemaDirector +{ + /// + /// Options for Reverting data when Cutscenes go inactive. + /// + public enum RevertMode + { + Revert, // Revert to initial state. + Finalize // Place into final state. + // ToDo: AsIs for leaving state the way it is. + } +} diff --git a/Assets/Cinema Director/System/Runtime/Enums/RevertMode.cs.meta b/Assets/Cinema Director/System/Runtime/Enums/RevertMode.cs.meta new file mode 100644 index 0000000..c7bc026 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums/RevertMode.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 390f0420ee587f045a6c06e54feaf2a9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Enums/TimelineTrackGenre.cs b/Assets/Cinema Director/System/Runtime/Enums/TimelineTrackGenre.cs new file mode 100644 index 0000000..78c6d08 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums/TimelineTrackGenre.cs @@ -0,0 +1,15 @@ +// Cinema Suite 2014 + +namespace CinemaDirector +{ + /// + /// An enumeration of Track Genres. + /// + public enum TimelineTrackGenre + { + GlobalTrack, + ActorTrack, + MultiActorTrack, + CharacterTrack + } +} diff --git a/Assets/Cinema Director/System/Runtime/Enums/TimelineTrackGenre.cs.meta b/Assets/Cinema Director/System/Runtime/Enums/TimelineTrackGenre.cs.meta new file mode 100644 index 0000000..d2e9460 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Enums/TimelineTrackGenre.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a43052184d00e7740996d438483e8bdc +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Helpers.meta b/Assets/Cinema Director/System/Runtime/Helpers.meta new file mode 100644 index 0000000..223a220 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 2d1da83c924595a47bac3da5945075b2 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Runtime/Helpers/AnimationCurveHelper.cs b/Assets/Cinema Director/System/Runtime/Helpers/AnimationCurveHelper.cs new file mode 100644 index 0000000..4918e88 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/AnimationCurveHelper.cs @@ -0,0 +1,318 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// A helper class for Unity's AnimationCurve class. + /// Made to account for tangent mode of keys when adding/changing/removing keys. + /// + public static class AnimationCurveHelper + { + /// + /// Add a new key to an AnimationCurve. + /// Ensures the integrity of other key's tangent modes. + /// + /// The existing AnimationCurve. + /// The new keyframe + /// The index of the newly added key. + public static int AddKey(AnimationCurve curve, Keyframe keyframe) + { + if (curve.length == 0) + { + return curve.AddKey(keyframe); + } + else if (curve.length == 1) + { + // Save the existing keyframe data. (Unity changes the tangent info). + Keyframe temp = curve[0]; + int newIndex = curve.AddKey(keyframe); + if(newIndex == -1) + { + return 0; + } + else if(newIndex == 0) + { + curve.MoveKey(1, temp); + } + else + { + curve.MoveKey(0, temp); + } + return newIndex; + } + else + { + Keyframe left = new Keyframe(); + Keyframe right = new Keyframe(); + + for (int i = 0; i < curve.length - 1; i++) + { + Keyframe l = curve[i]; + Keyframe r = curve[i + 1]; + + if (l.time < keyframe.time && keyframe.time < r.time) + { + left = l; + right = r; + } + } + + int index = curve.AddKey(keyframe); + + // Handle left neighbour. + if (index > 0) + { + // Restore the saved data. + curve.MoveKey(index - 1, left); + + // Update tangent data based on tangent mode. + int tangentMode = curve[index - 1].tangentMode; + if (IsAuto(tangentMode)) + { + curve.SmoothTangents(index - 1, 0); + } + if (IsBroken(tangentMode)) + { + if (IsRightLinear(tangentMode)) + { + SetKeyRightLinear(curve, index - 1); + } + } + } + + // Handle the Right neighbour. + if (index < curve.length - 1) + { + // Restore the saved data. + curve.MoveKey(index + 1, right); + + // Update tangent data based on tangent mode. + int tangentMode = curve[index + 1].tangentMode; + if (IsAuto(tangentMode)) + { + curve.SmoothTangents(index + 1, 0); + } + if (IsBroken(tangentMode)) + { + if (IsLeftLinear(tangentMode)) + { + SetKeyLeftLinear(curve, index + 1); + } + } + } + + return index; + } + } + + /// + /// Move/Change an existing key in an AnimationCurve. + /// Maintains TangentMode and updates neighbours. + /// + /// The existing AnimationCurve. + /// The index of the current Keyframe. + /// The new Keyframe data. + /// The index of the Keyframe. + public static int MoveKey(AnimationCurve curve, int index, Keyframe keyframe) + { + // Save the tangent mode. + Keyframe old = curve[index]; + keyframe.tangentMode = old.tangentMode; + + int newIndex = curve.MoveKey(index, keyframe); + + // Respect the tangentMode and update as necessary. + if (IsAuto(keyframe.tangentMode)) + { + curve.SmoothTangents(newIndex, 0); + } + else if (IsBroken(keyframe.tangentMode)) + { + if (IsLeftLinear(keyframe.tangentMode)) + { + SetKeyLeftLinear(curve, newIndex); + } + if (IsRightLinear(keyframe.tangentMode)) + { + SetKeyRightLinear(curve, newIndex); + } + } + + // update the left neighbour + if (newIndex > 0) + { + // Update tangent data based on tangent mode. + int tangentMode = curve[newIndex - 1].tangentMode; + if (IsAuto(tangentMode)) + { + curve.SmoothTangents(newIndex - 1, 0); + } + if (IsBroken(tangentMode)) + { + if (IsRightLinear(tangentMode)) + { + SetKeyRightLinear(curve, newIndex - 1); + } + } + } + + // update the right neighbour + if (newIndex < curve.length - 1) + { + // Update tangent data based on tangent mode. + int tangentMode = curve[newIndex + 1].tangentMode; + if (IsAuto(tangentMode)) + { + curve.SmoothTangents(newIndex + 1, 0); + } + if (IsBroken(tangentMode)) + { + if (IsLeftLinear(tangentMode)) + { + SetKeyLeftLinear(curve, newIndex + 1); + } + } + } + + return newIndex; + } + + /// + /// Remove a key from an AnimationCurve. + /// + /// The existing AnimationCurve. + /// The index of the Key to be removed. + public static void RemoveKey(AnimationCurve curve, int index) + { + curve.RemoveKey(index); + + // Update left neighbour. + if (index > 0) + { + // Update tangent data based on tangent mode. + int tangentMode = curve[index-1].tangentMode; + + if (IsAuto(tangentMode)) + { + curve.SmoothTangents(index - 1, 0); + } + if (IsBroken(tangentMode)) + { + if (IsRightLinear(tangentMode)) + { + SetKeyRightLinear(curve, index - 1); + } + } + } + + // Update right neighbour. + if (index < curve.length) + { + // Update tangent data based on tangent mode. + int tangentMode = curve[index].tangentMode; + + if (IsAuto(tangentMode)) + { + curve.SmoothTangents(index, 0); + } + if (IsBroken(tangentMode)) + { + if (IsLeftLinear(tangentMode)) + { + SetKeyLeftLinear(curve, index); + } + } + } + } + + /// + /// Set the indexed key of an AnimationCurve to RightLinear. + /// + /// The curve to change. + /// The index of the key to set to RightLinear. + public static void SetKeyRightLinear(AnimationCurve curve, int index) + { + Keyframe kf = curve[index]; + float tangentValue = kf.outTangent; + + if (index < curve.length - 1) + { + Keyframe next = curve[index + 1]; + tangentValue = (next.value - kf.value) / (next.time - kf.time); + } + + Keyframe newKeyframe = new Keyframe(kf.time, kf.value, kf.inTangent, tangentValue); + + // Get current tangent mode. + int leftTangent = (IsAuto(kf.tangentMode) || kf.tangentMode == 0) ? 0 : (kf.tangentMode % 8) - 1; + newKeyframe.tangentMode = leftTangent + 16 + 1; + + curve.MoveKey(index, newKeyframe); + } + + /// + /// Set the indexed key of an AnimationCurve to LeftLinear. + /// + /// The curve to change. + /// The index of the key to set to LeftLinear. + public static void SetKeyLeftLinear(AnimationCurve curve, int index) + { + Keyframe kf = curve[index]; + float tangentValue = kf.inTangent; + + if (index > 0) + { + Keyframe prev = curve[index - 1]; + tangentValue = (kf.value - prev.value) / (kf.time - prev.time); + } + + Keyframe newKeyframe = new Keyframe(kf.time, kf.value, tangentValue, kf.outTangent); + + int rightTangent = kf.tangentMode > 16 ? (kf.tangentMode / 8) * 8 : 0; + newKeyframe.tangentMode = rightTangent + 1 + 4; + + curve.MoveKey(index, newKeyframe); + } + + /// + /// Is the TangentMode Auto. + /// + /// The tangentMode value. + /// True if set to auto. + public static bool IsAuto(int tangentMode) + { + return tangentMode == 10; + } + + /// + /// Is the TangentMode Broken. + /// + /// The tangentMode value. + /// True if set to Broken. + public static bool IsBroken(int tangentMode) + { + return (tangentMode % 2) == 1; + } + + /// + /// Is the TangentMode RightLinear. + /// + /// The tangentMode value. + /// True if the right tangent mode is set to linear. + public static bool IsRightLinear(int tangentMode) + { + return (tangentMode / 8) == 2; + } + + /// + /// Is the TangentMode LeftLinear. + /// + /// The tangentMode value. + /// True if the left tangent mode is set to linear. + public static bool IsLeftLinear(int tangentMode) + { + return IsBroken(tangentMode) && (tangentMode % 8) == 5; + } + } +} diff --git a/Assets/Cinema Director/System/Runtime/Helpers/AnimationCurveHelper.cs.meta b/Assets/Cinema Director/System/Runtime/Helpers/AnimationCurveHelper.cs.meta new file mode 100644 index 0000000..6946bb3 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/AnimationCurveHelper.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9ff3fcd8e4207b049bb6fa78798d4530 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Helpers/CutsceneQueue.cs b/Assets/Cinema Director/System/Runtime/Helpers/CutsceneQueue.cs new file mode 100644 index 0000000..5403d01 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/CutsceneQueue.cs @@ -0,0 +1,40 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Plays through a list of given cutscenes one by one. + /// + public class CutsceneQueue : MonoBehaviour + { + public List Cutscenes; + private int index = 0; + + /// + /// Play the first cutscene and waits for it to finish + /// + void Start() + { + if (Cutscenes != null && Cutscenes.Count > 0) + { + Cutscenes[index].CutsceneFinished += CutsceneQueue_CutsceneFinished; + Cutscenes[index].Play(); + } + } + + /// + /// On cutscene finish, play the next cutscene. + /// + void CutsceneQueue_CutsceneFinished(object sender, CutsceneEventArgs e) + { + Cutscenes[index].CutsceneFinished -= CutsceneQueue_CutsceneFinished; + if (Cutscenes != null && index + 1 < Cutscenes.Count) + { + index++; + Cutscenes[index].Play(); + Cutscenes[index].CutsceneFinished += CutsceneQueue_CutsceneFinished; + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/Helpers/CutsceneQueue.cs.meta b/Assets/Cinema Director/System/Runtime/Helpers/CutsceneQueue.cs.meta new file mode 100644 index 0000000..4cc9c4c --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/CutsceneQueue.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8064d87a4dc950a4b800cb8c5341f022 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Helpers/CutsceneTrigger.cs b/Assets/Cinema Director/System/Runtime/Helpers/CutsceneTrigger.cs new file mode 100644 index 0000000..0534a8a --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/CutsceneTrigger.cs @@ -0,0 +1,74 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// A sample behaviour for triggering Cutscenes. + /// + public class CutsceneTrigger : MonoBehaviour + { + public StartMethod StartMethod; + public Cutscene Cutscene; + public GameObject TriggerObject; + public string SkipButtonName = "Jump"; + + private bool hasTriggered = false; + + /// + /// When the trigger is loaded, optimize the Cutscene. + /// + void Awake() + { + if (Cutscene != null) + { + Cutscene.Optimize(); + } + } + + // When the scene starts trigger the Cutscene if necessary. + void Start() + { + if (StartMethod == StartMethod.OnStart && Cutscene != null) + { + hasTriggered = true; + Cutscene.Play(); + } + } + + void Update() + { + if (SkipButtonName != null || SkipButtonName != string.Empty) + { + // Check if the user wants to skip. + if (Input.GetButtonDown(SkipButtonName)) + { + if (Cutscene != null && Cutscene.State == CinemaDirector.Cutscene.CutsceneState.Playing) + { + Cutscene.Skip(); + } + } + } + } + + + /// + /// If Cutscene is setup to play on trigger, watch for the trigger event. + /// + /// The other collider. + void OnTriggerEnter(Collider other) + { + if (!hasTriggered && other.gameObject == TriggerObject) + { + hasTriggered = true; + Cutscene.Play(); + } + } + } + + public enum StartMethod + { + OnStart, + OnTrigger, + None + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/Helpers/CutsceneTrigger.cs.meta b/Assets/Cinema Director/System/Runtime/Helpers/CutsceneTrigger.cs.meta new file mode 100644 index 0000000..5567913 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/CutsceneTrigger.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: deaa21a8e28e0a34e8c6d465b485c807 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Helpers/DirectorRuntimeHelper.cs b/Assets/Cinema Director/System/Runtime/Helpers/DirectorRuntimeHelper.cs new file mode 100644 index 0000000..5a65c5f --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/DirectorRuntimeHelper.cs @@ -0,0 +1,145 @@ +// Cinema Suite 2014 + +using System; +using System.Collections.Generic; +using System.Reflection; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// A helper class for getting useful data from Director Runtime objects. + /// + public static class DirectorRuntimeHelper + { + /// + /// Returns a list of Track types that are associated with the given Track Group. + /// + /// The track group to be inspected + /// A list of track types that meet the genre criteria of the given track group. + public static List GetAllowedTrackTypes(TrackGroup trackGroup) + { + // Get all the allowed Genres for this track group + TimelineTrackGenre[] genres = new TimelineTrackGenre[0]; + MemberInfo info = trackGroup.GetType(); + foreach (TrackGroupAttribute attribute in info.GetCustomAttributes(typeof(TrackGroupAttribute), true)) + { + if (attribute != null) + { + genres = attribute.AllowedTrackGenres; + break; + } + } + + List allowedTrackTypes = new List(); + foreach (Type type in DirectorRuntimeHelper.GetAllSubTypes(typeof(TimelineTrack))) + { + foreach (TimelineTrackAttribute attribute in type.GetCustomAttributes(typeof(TimelineTrackAttribute), true)) + { + if (attribute != null) + { + foreach (TimelineTrackGenre genre in attribute.TrackGenres) + { + foreach (TimelineTrackGenre genre2 in genres) + { + if (genre == genre2) + { + allowedTrackTypes.Add(type); + break; + } + } + } + break; + } + } + } + + return allowedTrackTypes; + } + + /// + /// Returns a list of Cutscene Item types that are associated with the given Track. + /// + /// The track to look up. + /// A list of valid cutscene item types. + public static List GetAllowedItemTypes(TimelineTrack timelineTrack) + { + // Get all the allowed Genres for this track + CutsceneItemGenre[] genres = new CutsceneItemGenre[0]; + MemberInfo info = timelineTrack.GetType(); + + foreach (TimelineTrackAttribute attribute in info.GetCustomAttributes(typeof(TimelineTrackAttribute), true)) + { + if (attribute != null) + { + genres = attribute.AllowedItemGenres; + break; + } + } + + List allowedItemTypes = new List(); + foreach (Type type in DirectorRuntimeHelper.GetAllSubTypes(typeof(TimelineItem))) + { + foreach (CutsceneItemAttribute attribute in type.GetCustomAttributes(typeof(CutsceneItemAttribute), true)) + { + if (attribute != null) + { + foreach (CutsceneItemGenre genre in attribute.Genres) + { + foreach (CutsceneItemGenre genre2 in genres) + { + if (genre == genre2) + { + allowedItemTypes.Add(type); + break; + } + } + } + break; + } + } + } + + return allowedItemTypes; + } + + /// + /// Get all Sub types from the given parent type. + /// + /// The parent type + /// all children types of the parent. + private static Type[] GetAllSubTypes(System.Type ParentType) + { + List list = new List(); + foreach (Assembly a in System.AppDomain.CurrentDomain.GetAssemblies()) + { + foreach (System.Type type in a.GetTypes()) + { + if (type.IsSubclassOf(ParentType)) + { + list.Add(type); + } + } + } + return list.ToArray(); + } + + /// + /// Retrieve all children of a parent Transform recursively. + /// + /// The parent transform + /// All children of that parent. + public static List GetAllTransformsInHierarchy(Transform parent) + { + List children = new List(); + + foreach (Transform child in parent) + { + children.AddRange(GetAllTransformsInHierarchy(child)); + children.Add(child); + } + return children; + } + + } +} diff --git a/Assets/Cinema Director/System/Runtime/Helpers/DirectorRuntimeHelper.cs.meta b/Assets/Cinema Director/System/Runtime/Helpers/DirectorRuntimeHelper.cs.meta new file mode 100644 index 0000000..9a11876 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/DirectorRuntimeHelper.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4532c5757d7cbf244a944fc34ab1c425 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Helpers/IBakeable.cs b/Assets/Cinema Director/System/Runtime/Helpers/IBakeable.cs new file mode 100644 index 0000000..2c2023e --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/IBakeable.cs @@ -0,0 +1,11 @@ + +namespace CinemaDirector.Helpers +{ + /// + /// Interface for any item that needs to bake results. + /// + interface IBakeable + { + void Bake(); + } +} diff --git a/Assets/Cinema Director/System/Runtime/Helpers/IBakeable.cs.meta b/Assets/Cinema Director/System/Runtime/Helpers/IBakeable.cs.meta new file mode 100644 index 0000000..d266bb9 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/IBakeable.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 36248250e890d3047849d65ba86ba818 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Helpers/IOptimizable.cs b/Assets/Cinema Director/System/Runtime/Helpers/IOptimizable.cs new file mode 100644 index 0000000..df78f03 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/IOptimizable.cs @@ -0,0 +1,15 @@ + +namespace CinemaDirector +{ + /// + /// Implement this Interface in Timeline Items that can be optimized in some way before the Cutscene is played. + /// + interface IOptimizable + { + // Can the Item be optimized. In some cases users may need to disable the ability. + bool CanOptimize { get; set; } + + // Perform optimization. + void Optimize(); + } +} diff --git a/Assets/Cinema Director/System/Runtime/Helpers/IOptimizable.cs.meta b/Assets/Cinema Director/System/Runtime/Helpers/IOptimizable.cs.meta new file mode 100644 index 0000000..4f5f5f7 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/IOptimizable.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 888845eb5a6d93741b1590d5f90a0fa0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Helpers/IRevertable.cs b/Assets/Cinema Director/System/Runtime/Helpers/IRevertable.cs new file mode 100644 index 0000000..4656625 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/IRevertable.cs @@ -0,0 +1,16 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector.Helpers +{ + /// + /// Implement this interface with any timeline item that manipulates data in a scene. + /// + interface IRevertable + { + RevertMode EditorRevertMode { get; set; } + RevertMode RuntimeRevertMode { get; set; } + + RevertInfo[] CacheState(); + } +} diff --git a/Assets/Cinema Director/System/Runtime/Helpers/IRevertable.cs.meta b/Assets/Cinema Director/System/Runtime/Helpers/IRevertable.cs.meta new file mode 100644 index 0000000..ad1a942 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/IRevertable.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d5fe644649420243897123e8ccc5d9a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Helpers/RevertInfo.cs b/Assets/Cinema Director/System/Runtime/Helpers/RevertInfo.cs new file mode 100644 index 0000000..5a60564 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/RevertInfo.cs @@ -0,0 +1,108 @@ +// Cinema Suite +using System; +using System.Reflection; +using UnityEngine; + +namespace CinemaDirector.Helpers +{ + /// + /// Holds info related to reverting objects to a former state. + /// + public class RevertInfo + { + private MonoBehaviour MonoBehaviour; + private Type Type; + private object Instance; + private MemberInfo[] MemberInfo; + private object value; + + /// + /// Set up a revert info for a static object. + /// + /// The MonoBehaviour that is making this RevertInfo. + /// The type of the static object + /// The member name of the field/property/method to be called on revert. + /// The current value you want to save. + public RevertInfo(MonoBehaviour monoBehaviour, Type type, string memberName, object value) + { + this.MonoBehaviour = monoBehaviour; + this.Type = type; + this.value = value; + this.MemberInfo = Type.GetMember(memberName); + } + + /// + /// Set up Revert Info for an instance object. + /// + /// The MonoBehaviour that is making this RevertInfo. + /// The instance of the object you want to save. + /// The member name of the field/property/method to be called on revert. + /// The current value you want to save. + public RevertInfo(MonoBehaviour monoBehaviour, object obj, string memberName, object value) + { + this.MonoBehaviour = monoBehaviour; + this.Instance = obj; + this.Type = obj.GetType(); + this.value = value; + this.MemberInfo = Type.GetMember(memberName); + } + + /// + /// Revert the given object to its former state. + /// + public void Revert() + { + if (MemberInfo != null && MemberInfo.Length > 0) + { + if (MemberInfo[0] is FieldInfo) + { + FieldInfo fi = (MemberInfo[0] as FieldInfo); + if (fi.IsStatic || (!fi.IsStatic && Instance != null)) + { + fi.SetValue(Instance, value); + } + } + else if (MemberInfo[0] is PropertyInfo) + { + PropertyInfo pi = (MemberInfo[0] as PropertyInfo); + //if (Instance != null) + { + + pi.SetValue(Instance, value, null); + } + } + else if (MemberInfo[0] is MethodInfo) + { + MethodInfo mi = (MemberInfo[0] as MethodInfo); + if (mi.IsStatic || (!mi.IsStatic && Instance != null)) + { + object[] values = new object[] { value }; + mi.Invoke(Instance, values); + } + } + } + } + + /// + /// Should we apply this revert in runtime. + /// + public RevertMode RuntimeRevert + { + get + { + return (MonoBehaviour as IRevertable).RuntimeRevertMode; + } + } + + /// + /// Should we apply this revert in the editor. + /// + public RevertMode EditorRevert + { + get + { + return (MonoBehaviour as IRevertable).EditorRevertMode; + } + } + } +} diff --git a/Assets/Cinema Director/System/Runtime/Helpers/RevertInfo.cs.meta b/Assets/Cinema Director/System/Runtime/Helpers/RevertInfo.cs.meta new file mode 100644 index 0000000..379cae8 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/RevertInfo.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f616863524f26c4d961b2e214b8bdc2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/Helpers/ScreenshotCapture.cs b/Assets/Cinema Director/System/Runtime/Helpers/ScreenshotCapture.cs new file mode 100644 index 0000000..fb704ee --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/ScreenshotCapture.cs @@ -0,0 +1,26 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Behaviour for capturing screenshots at each frame. + /// + public class ScreenshotCapture : MonoBehaviour + { + public string Folder = "CaptureOutput"; + public int FrameRate = 24; + + void Start() + { + Time.captureFramerate = FrameRate; + System.IO.Directory.CreateDirectory(Folder); + } + + void Update() + { + string name = string.Format("{0}/shot {1:D04}.png", Folder, Time.frameCount); + + Application.CaptureScreenshot(name); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/Helpers/ScreenshotCapture.cs.meta b/Assets/Cinema Director/System/Runtime/Helpers/ScreenshotCapture.cs.meta new file mode 100644 index 0000000..32e9162 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/Helpers/ScreenshotCapture.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a66d90914943cc04194592e2ab601eaf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems.meta b/Assets/Cinema Director/System/Runtime/TimelineItems.meta new file mode 100644 index 0000000..7104cbf --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: be84892496cf9ec41b513b7cbc4eba41 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/Base.meta new file mode 100644 index 0000000..c95744d --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 6e2060e97ed844b43be6014cdd3e0b8c +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaClipCurve.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaClipCurve.cs new file mode 100644 index 0000000..a0b5f8f --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaClipCurve.cs @@ -0,0 +1,164 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Curve Clip Items tie Actor component data to animation curves, so that they can be controlled + /// by curves over time. + /// + public abstract class CinemaClipCurve : TimelineAction + { + // The curve data + [SerializeField] + private List curveData = new List(); + + /// + /// Return the Curve Clip data. + /// + public List CurveData + { + get { return curveData; } + } + + protected virtual void initializeClipCurves(MemberClipCurveData data, Component component) { } + + public void AddClipCurveData(Component component, string name, bool isProperty, Type type) + { + MemberClipCurveData data = new MemberClipCurveData(); + data.Type = component.GetType().Name; + data.PropertyName = name; + data.IsProperty = isProperty; + data.PropertyType = UnityPropertyTypeInfo.GetMappedType(type); + initializeClipCurves(data, component); + curveData.Add(data); + } + + protected object evaluate(MemberClipCurveData memberData, float time) + { + object value = null; + switch (memberData.PropertyType) + { + case PropertyTypeInfo.Color: + Color c; + c.r = memberData.Curve1.Evaluate(time); + c.g = memberData.Curve2.Evaluate(time); + c.b = memberData.Curve3.Evaluate(time); + c.a = memberData.Curve4.Evaluate(time); + value = c; + break; + + case PropertyTypeInfo.Double: + case PropertyTypeInfo.Float: + case PropertyTypeInfo.Int: + case PropertyTypeInfo.Long: + value = memberData.Curve1.Evaluate(time); + break; + + case PropertyTypeInfo.Quaternion: + Quaternion q; + q.x = memberData.Curve1.Evaluate(time); + q.y = memberData.Curve2.Evaluate(time); + q.z = memberData.Curve3.Evaluate(time); + q.w = memberData.Curve4.Evaluate(time); + value = q; + break; + + case PropertyTypeInfo.Vector2: + Vector2 v2; + v2.x = memberData.Curve1.Evaluate(time); + v2.y = memberData.Curve2.Evaluate(time); + value = v2; + break; + + case PropertyTypeInfo.Vector3: + Vector3 v3; + v3.x = memberData.Curve1.Evaluate(time); + v3.y = memberData.Curve2.Evaluate(time); + v3.z = memberData.Curve3.Evaluate(time); + value = v3; + break; + + case PropertyTypeInfo.Vector4: + Vector4 v4; + v4.x = memberData.Curve1.Evaluate(time); + v4.y = memberData.Curve2.Evaluate(time); + v4.z = memberData.Curve3.Evaluate(time); + v4.w = memberData.Curve4.Evaluate(time); + value = v4; + break; + } + return value; + } + + private void updateKeyframeTime(float oldTime, float newTime) + { + + foreach (MemberClipCurveData data in curveData) + { + int curveCount = UnityPropertyTypeInfo.GetCurveCount(data.PropertyType); + for (int i = 0; i < curveCount; i++) + { + AnimationCurve animationCurve = data.GetCurve(i); + for (int j = 0; j < animationCurve.length; j++) + { + Keyframe kf = animationCurve.keys[j]; + + if (Mathf.Abs(kf.time - oldTime) < 0.00001) + { + Keyframe newKeyframe = new Keyframe(newTime, kf.value, kf.inTangent, kf.outTangent); + animationCurve.MoveKey(j, newKeyframe); + } + } + } + } + } + + public void TranslateCurves(float amount) + { + base.Firetime += amount; + foreach (MemberClipCurveData data in curveData) + { + int curveCount = UnityPropertyTypeInfo.GetCurveCount(data.PropertyType); + for (int i = 0; i < curveCount; i++) + { + AnimationCurve animationCurve = data.GetCurve(i); + if (amount > 0) + { + for (int j = animationCurve.length - 1; j >= 0; j--) + { + Keyframe kf = animationCurve.keys[j]; + Keyframe newKeyframe = new Keyframe(kf.time + amount, kf.value, kf.inTangent, kf.outTangent); + animationCurve.MoveKey(j, newKeyframe); + } + } + else + { + for (int j = 0; j < animationCurve.length; j++) + { + Keyframe kf = animationCurve.keys[j]; + Keyframe newKeyframe = new Keyframe(kf.time + amount, kf.value, kf.inTangent, kf.outTangent); + animationCurve.MoveKey(j, newKeyframe); + } + } + } + } + } + + public void AlterFiretime(float firetime, float duration) + { + updateKeyframeTime(base.Firetime, firetime); + base.Firetime = firetime; + + updateKeyframeTime(base.Firetime + base.Duration, base.Firetime + duration); + base.Duration = duration; + } + + public void AlterDuration(float duration) + { + updateKeyframeTime(base.Firetime + base.Duration, base.Firetime + duration); + base.Duration = duration; + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaClipCurve.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaClipCurve.cs.meta new file mode 100644 index 0000000..883886f --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaClipCurve.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 49b11a0a6d7f31b44bed018709865582 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaTween.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaTween.cs new file mode 100644 index 0000000..59d7f1f --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaTween.cs @@ -0,0 +1,7 @@ + +namespace CinemaDirector +{ + public abstract class CinemaTween : TimelineAction + { + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaTween.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaTween.cs.meta new file mode 100644 index 0000000..a176408 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CinemaTween.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c90f59a99f8575643b86e4236adc283b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CutsceneItemAttribute.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CutsceneItemAttribute.cs new file mode 100644 index 0000000..7bef166 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CutsceneItemAttribute.cs @@ -0,0 +1,94 @@ +// Cinema Suite 2014 +using System; + +namespace CinemaDirector +{ + /// + /// The Attribute for Cutscene Items + /// + [AttributeUsage(AttributeTargets.Class)] + public class CutsceneItemAttribute : Attribute + { + private string subCategory; // Sub category for item + private string label; // Name of the item + private CutsceneItemGenre[] genres; // Genres that the item belongs to. + + // Optional required object that the cutscene item should be paired with. + // Example: Audio Clip for audio track items. + private Type requiredObjectType; + + /// + /// The Cutscene Item attribute. + /// + /// The user friendly name of the category this cutscene item belongs to. + /// The user friendly name of the cutscene item. + /// The genres that this Cutscene Item belongs to. + public CutsceneItemAttribute(string category, string label, params CutsceneItemGenre[] genres) + { + this.subCategory = category; + this.label = label; + this.genres = genres; + } + + /// + /// The Cutscene Item attribute. + /// + /// The user friendly name of the category this cutscene item belongs to. + /// The user friendly name of the cutscene item. + /// Optional: required object to be paired with cutscene item. + /// The genres that this Cutscene Item belongs to. + public CutsceneItemAttribute(string category, string label, Type pairedObject, params CutsceneItemGenre[] genres) + { + this.subCategory = category; + this.label = label; + this.requiredObjectType = pairedObject; + this.genres = genres; + } + + /// + /// The category this cutscene item belongs in. + /// + public string Category + { + get + { + return subCategory; + } + } + + /// + /// The name of this cutscene item. + /// + public string Label + { + get + { + return label; + } + } + + /// + /// The genres that this cutscene item belongs to. + /// + public CutsceneItemGenre[] Genres + { + get + { + return genres; + } + } + + /// + /// Get the type of the required object that this cutscene item should be paired with. + /// Null when there is no required object. + /// Example: AudioClip type for CinemaAudio. + /// + public Type RequiredObjectType + { + get + { + return requiredObjectType; + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CutsceneItemAttribute.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CutsceneItemAttribute.cs.meta new file mode 100644 index 0000000..316c778 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/CutsceneItemAttribute.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b6c77c140c66ebb4a9dbb386b2b1e182 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/MemberClipCurveData.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/MemberClipCurveData.cs new file mode 100644 index 0000000..1362c70 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/MemberClipCurveData.cs @@ -0,0 +1,74 @@ +using CinemaDirector.Helpers; +using System; +using System.Reflection; +using UnityEngine; + +namespace CinemaDirector +{ + [System.Serializable] + public class MemberClipCurveData + { + public string Type; + public string PropertyName; + public bool IsProperty = true; + public PropertyTypeInfo PropertyType = PropertyTypeInfo.None; + + public AnimationCurve Curve1 = new AnimationCurve(); + public AnimationCurve Curve2 = new AnimationCurve(); + public AnimationCurve Curve3 = new AnimationCurve(); + public AnimationCurve Curve4 = new AnimationCurve(); + + //private object cachedProperty; + + public AnimationCurve GetCurve(int i) + { + if (i == 1) return Curve2; + else if (i == 2) return Curve3; + else if (i == 3) return Curve4; + else return Curve1; + } + + public void Initialize(GameObject Actor) + { + //Component component = Actor.GetComponent(Type); + //cachedProperty = getCurrentValue(component); + } + + internal void Reset(GameObject Actor) + { + //Component component = Actor.GetComponent(Type); + //if (component == null || PropertyName == string.Empty) return; + + //Type type = component.GetType(); + //if (IsProperty) + //{ + // PropertyInfo propertyInfo = type.GetProperty(PropertyName); + // propertyInfo.SetValue(component, cachedProperty, null); + //} + //else + //{ + // FieldInfo fieldInfo = type.GetField(PropertyName); + // fieldInfo.SetValue(component, cachedProperty); + //} + } + + internal object getCurrentValue(Component component) + { + if (component == null || this.PropertyName == string.Empty) return null; + Type type = component.GetType(); + object value = null; + if (this.IsProperty) + { + PropertyInfo propertyInfo = type.GetProperty(this.PropertyName); + value = propertyInfo.GetValue(component, null); + } + else + { + FieldInfo fieldInfo = type.GetField(this.PropertyName); + value = fieldInfo.GetValue(component); + } + return value; + } + + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/MemberClipCurveData.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/MemberClipCurveData.cs.meta new file mode 100644 index 0000000..e0489b0 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/MemberClipCurveData.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 38aff62702d2cfa46a8a00a075ad1984 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineAction.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineAction.cs new file mode 100644 index 0000000..83ef122 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineAction.cs @@ -0,0 +1,41 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An action that has some firetime and duration. + /// + public abstract class TimelineAction : TimelineItem + { + [SerializeField] + protected float duration = 0f; + + /// + /// The duration of the action + /// + public float Duration + { + get { return duration; } + set { duration = value; } + } + + /// + /// The end time of this action. (Firetime + Duration). + /// + public float EndTime + { + get + { + return firetime + duration; + } + } + + /// + /// Set a default duration of 5 seconds for most actions. + /// + public override void SetDefaults() + { + duration = 5f; + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineAction.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineAction.cs.meta new file mode 100644 index 0000000..e1b34f9 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineAction.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6b16e8bf2a5ea5e469ccbc6ea286ced0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineActionFixed.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineActionFixed.cs new file mode 100644 index 0000000..79b3ff1 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineActionFixed.cs @@ -0,0 +1,44 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// A timeline action that has some paired object that has a fixed length. + /// This is ideal for items like Audio clips and Animation clips. + /// + public abstract class TimelineActionFixed : TimelineAction + { + [SerializeField] + private float inTime = 0f; + [SerializeField] + private float outTime = 1f; + [SerializeField] + private float itemLength = 0f; + + public float InTime + { + get { return inTime; } + set + { + inTime = value; + Duration = outTime - inTime; + } + } + + public float OutTime + { + get { return outTime; } + set + { + outTime = value; + Duration = outTime - inTime; + } + } + + public float ItemLength + { + get { return itemLength; } + set { itemLength = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineActionFixed.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineActionFixed.cs.meta new file mode 100644 index 0000000..5e78200 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineActionFixed.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eab739d1eae7bfa4faf4ef7613d5f1ba +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineItem.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineItem.cs new file mode 100644 index 0000000..b54ce22 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineItem.cs @@ -0,0 +1,85 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// The basic building block of a Cutscene. Maintains a firetime + /// + [ExecuteInEditMode] + public abstract class TimelineItem : MonoBehaviour + { + [SerializeField] + protected float firetime = 0f; + + /// + /// The firetime for this timeline item. Cannot be negative. + /// + public float Firetime + { + get { return this.firetime; } + set + { + firetime = value; + if (firetime < 0f) + { + firetime = 0f; + } + } + } + + /// + /// Called when a cutscene begins or enters preview mode. + /// + public virtual void Initialize() { } + + /// + /// Called when a cutscene ends or exits preview mode. + /// + public virtual void Stop() { } + + /// + /// Called when a new timeline item is created from the Director panel. + /// Override to set defaults to your timeline items. + /// + public virtual void SetDefaults() { } + + /// + /// Called when a new timeline item is created from the Director panel with a paired item. + /// Override to set defaults to your timeline items. + /// + /// The paired item of this timeline item. + public virtual void SetDefaults(UnityEngine.Object PairedItem) { } + + /// + /// The cutscene that this timeline item is associated with. Can return null. + /// + public Cutscene Cutscene + { + get { return ((this.TimelineTrack == null) ? null : this.TimelineTrack.Cutscene); } + } + + /// + /// The track that this timeline item is associated with. Can return null. + /// + public TimelineTrack TimelineTrack + { + get + { + TimelineTrack track = null; + if (transform.parent != null) + { + track = base.transform.parent.GetComponentInParent(); + if (track == null) + { + Debug.LogError("No TimelineTrack found on parent!", this); + } + } + else + { + Debug.LogError("Timeline Item has no parent!", this); + } + return track; + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineItem.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineItem.cs.meta new file mode 100644 index 0000000..10c13f5 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/Base/TimelineItem.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b1df73a15e66ae541bae7cc246d46c2c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorAction.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorAction.cs new file mode 100644 index 0000000..4078032 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorAction.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// The base class for all cinema events + /// + [ExecuteInEditMode] + public abstract class CinemaActorAction : TimelineAction + { + /// + /// Called when the running time of the cutscene hits the firetime of the action + /// + public abstract void Trigger(GameObject Actor); + + /// + /// Called at each update when the action is to be played. + /// + public virtual void UpdateTime(GameObject Actor, float time, float deltaTime) { } + + /// + /// Called when the running time of the cutscene exceeds the duration of the action + /// + public abstract void End(GameObject Actor); + + /// + /// Called when the cutscene exists preview/play mode. Return properties to pre-cached state if necessary. + /// + public virtual void Stop(GameObject Actor) { } + + /// + /// Called when the cutscene time is set/skipped manually. + /// + /// The actor to target for this event. + /// The new running time. + /// The deltaTime since the last update call. + public virtual void SetTime(GameObject Actor, float time, float deltaTime) { } + + /// + /// Reverse trigger. Called when scrubbing backwards. + /// + public virtual void ReverseTrigger(GameObject Actor) { } + + /// + /// Reverse End. Called when scrubbing backwards. + /// + public virtual void ReverseEnd(GameObject Actor) { } + + /// + /// Pause any action as necessary + /// + public virtual void Pause(GameObject Actor) { } + + /// + /// Resume from paused. + /// + public virtual void Resume(GameObject Actor) { } + + public int CompareTo(object other) + { + CinemaGlobalAction otherAction = (CinemaGlobalAction)other; + return (int)(otherAction.Firetime - this.Firetime); + } + + /// + /// Get the actors associated with this Actor Action. Can return null. + /// + /// A set of actors related to this actor event. + public virtual List GetActors() + { + IMultiActorTrack track = (TimelineTrack as IMultiActorTrack); + if (track != null) + { + return track.Actors; + } + return null; + } + + /// + /// Called when the cutscene time is set/skipped manually. + /// + [Obsolete("Use SetTime with Actor")] + public virtual void SetTime(float time, float deltaTime) { } + + /// + /// Reverse trigger. Called when scrubbing backwards. + /// + [Obsolete("Use ReverseTrigger with Actor")] + public virtual void ReverseTrigger() { } + + /// + /// Reverse End. Called when scrubbing backwards. + /// + [Obsolete("Use ReverseEnd with Actor")] + public virtual void ReverseEnd() { } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorAction.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorAction.cs.meta new file mode 100644 index 0000000..638bb82 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorAction.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 528b279c4f815c1478c61f5060024787 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorClipCurve.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorClipCurve.cs new file mode 100644 index 0000000..9a200df --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorClipCurve.cs @@ -0,0 +1,192 @@ +using CinemaDirector.Helpers; +using System; +using System.Collections.Generic; +using System.Reflection; +using UnityEngine; + +namespace CinemaDirector +{ + [Serializable, CutsceneItemAttribute("Curve Clip", "Actor Curve Clip", CutsceneItemGenre.CurveClipItem)] + public class CinemaActorClipCurve : CinemaClipCurve, IRevertable + { + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + public GameObject Actor + { + get + { + GameObject actor = null; + if (transform.parent != null) + { + CurveTrack track = transform.parent.GetComponent(); + if (track != null && track.Actor != null) + { + actor = track.Actor.gameObject; + } + } + return actor; + } + } + + protected override void initializeClipCurves(MemberClipCurveData data, Component component) + { + object value = GetCurrentValue(component, data.PropertyName, data.IsProperty); + PropertyTypeInfo typeInfo = data.PropertyType; + float startTime = Firetime; + float endTime = Firetime + Duration; + + if (typeInfo == PropertyTypeInfo.Int || typeInfo == PropertyTypeInfo.Long || typeInfo == PropertyTypeInfo.Float || typeInfo == PropertyTypeInfo.Double) + { + float x = (float)value; + data.Curve1 = AnimationCurve.Linear(startTime, x, endTime, x); + } + else if (typeInfo == PropertyTypeInfo.Vector2) + { + Vector2 vec2 = (Vector2)value; + data.Curve1 = AnimationCurve.Linear(startTime, vec2.x, endTime, vec2.x); + data.Curve2 = AnimationCurve.Linear(startTime, vec2.y, endTime, vec2.y); + } + else if (typeInfo == PropertyTypeInfo.Vector3) + { + Vector3 vec3 = (Vector3)value; + data.Curve1 = AnimationCurve.Linear(startTime, vec3.x, endTime, vec3.x); + data.Curve2 = AnimationCurve.Linear(startTime, vec3.y, endTime, vec3.y); + data.Curve3 = AnimationCurve.Linear(startTime, vec3.z, endTime, vec3.z); + } + else if (typeInfo == PropertyTypeInfo.Vector4) + { + Vector4 vec4 = (Vector4)value; + data.Curve1 = AnimationCurve.Linear(startTime, vec4.x, endTime, vec4.x); + data.Curve2 = AnimationCurve.Linear(startTime, vec4.y, endTime, vec4.y); + data.Curve3 = AnimationCurve.Linear(startTime, vec4.z, endTime, vec4.z); + data.Curve4 = AnimationCurve.Linear(startTime, vec4.w, endTime, vec4.w); + } + else if (typeInfo == PropertyTypeInfo.Quaternion) + { + Quaternion quaternion = (Quaternion)value; + data.Curve1 = AnimationCurve.Linear(startTime, quaternion.x, endTime, quaternion.x); + data.Curve2 = AnimationCurve.Linear(startTime, quaternion.y, endTime, quaternion.y); + data.Curve3 = AnimationCurve.Linear(startTime, quaternion.z, endTime, quaternion.z); + data.Curve4 = AnimationCurve.Linear(startTime, quaternion.w, endTime, quaternion.w); + } + else if (typeInfo == PropertyTypeInfo.Color) + { + Color color = (Color)value; + data.Curve1 = AnimationCurve.Linear(startTime, color.r, endTime, color.r); + data.Curve2 = AnimationCurve.Linear(startTime, color.g, endTime, color.g); + data.Curve3 = AnimationCurve.Linear(startTime, color.b, endTime, color.b); + data.Curve4 = AnimationCurve.Linear(startTime, color.a, endTime, color.a); + } + } + + public object GetCurrentValue(Component component, string propertyName, bool isProperty) + { + if (component == null || propertyName == string.Empty) return null; + Type type = component.GetType(); + object value = null; + if (isProperty) + { + PropertyInfo propertyInfo = type.GetProperty(propertyName); + value = propertyInfo.GetValue(component, null); + } + else + { + FieldInfo fieldInfo = type.GetField(propertyName); + value = fieldInfo.GetValue(component); + } + return value; + } + + public override void Initialize() + { + foreach (MemberClipCurveData memberData in CurveData) + { + memberData.Initialize(Actor); + } + } + + /// + /// Cache the initial state of the curve clip manipulated values. + /// + /// The Info necessary to revert this event. + public RevertInfo[] CacheState() + { + List reverts = new List(); + if (Actor != null) + { + foreach (MemberClipCurveData memberData in CurveData) + { + Component component = Actor.GetComponent(memberData.Type); + reverts.Add(new RevertInfo(this, component, memberData.PropertyName, memberData.getCurrentValue(component))); + } + } + return reverts.ToArray(); + } + + /// + /// Sample the curve clip at the given time. + /// + /// The time to evaulate for. + public void SampleTime(float time) + { + if (Actor == null) return; + if (Firetime <= time && time <= Firetime + Duration) + { + foreach (MemberClipCurveData memberData in CurveData) + { + if (memberData.Type == string.Empty || memberData.PropertyName == string.Empty) continue; + + Component component = Actor.GetComponent(memberData.Type); + Type componentType = component.GetType(); + + object value = evaluate(memberData, time); + + if (memberData.IsProperty) + { + PropertyInfo propertyInfo = componentType.GetProperty(memberData.PropertyName); + propertyInfo.SetValue(component, value, null); + + //object result = propertyInfo.GetValue(component, null); + } + else + { + FieldInfo fieldInfo = componentType.GetField(memberData.PropertyName); + fieldInfo.SetValue(component, value); + } + } + } + } + + internal void Reset() + { + //foreach (MemberClipCurveData memberData in CurveData) + //{ + // memberData.Reset(Actor); + //} + } + + /// + /// Option for choosing when this curve clip will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this curve clip will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorClipCurve.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorClipCurve.cs.meta new file mode 100644 index 0000000..1d213ac --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorClipCurve.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 835ed7cc2c1999349b0593e8c6a509cb +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorEvent.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorEvent.cs new file mode 100644 index 0000000..9533342 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorEvent.cs @@ -0,0 +1,62 @@ +using System.Collections.Generic; +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// An implementation of an event that can be performed on an arbitrary actor. + /// + [ExecuteInEditMode] + public abstract class CinemaActorEvent : TimelineItem + { + /// + /// Trigger this event using the given actor. + /// + /// The actor to perform the event on. + public abstract void Trigger(GameObject Actor); + + /// + /// Reverse the trigger. + /// + /// The actor to perform the event on. + public virtual void Reverse(GameObject Actor) { } + + public virtual void SetTimeTo(float deltaTime) { } + + public virtual void Pause() { } + + public virtual void Resume() { } + + public virtual void Initialize(GameObject Actor) { } + + public virtual void Stop(GameObject Actor) { } + + /// + /// Get the actors associated with this Actor Event. Can return null. + /// + /// A set of actors related to this actor event. + public virtual List GetActors() + { + IMultiActorTrack track = (TimelineTrack as IMultiActorTrack); + if (track != null) + { + return track.Actors; + } + return null; + } + + /// + /// The Actor Track Group associated with this event. + /// + public ActorTrackGroup ActorTrackGroup + { + get + { + return this.TimelineTrack.TrackGroup as ActorTrackGroup; + } + } + + + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorEvent.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorEvent.cs.meta new file mode 100644 index 0000000..4f50d88 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaActorEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0abde15fca6496647964f2ba77c0d67e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalAction.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalAction.cs new file mode 100644 index 0000000..dd2ab51 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalAction.cs @@ -0,0 +1,55 @@ +using System; +using UnityEngine; + +namespace CinemaDirector +{ + [ExecuteInEditMode] + public abstract class CinemaGlobalAction : TimelineAction, IComparable + { + /// + /// Called when the running time of the cutscene hits the firetime of the action + /// + public abstract void Trigger(); + + /// + /// Called at each update when the action is to be played. + /// + public virtual void UpdateTime(float time, float deltaTime) { } + + /// + /// Called when the running time of the cutscene exceeds the duration of the action + /// + public abstract void End(); + + /// + /// Called when the cutscene time is set/skipped manually. + /// + public virtual void SetTime(float time, float deltaTime) { } + + /// + /// Pause any action as necessary + /// + public virtual void Pause() { } + + /// + /// Resume from paused. + /// + public virtual void Resume() { } + + /// + /// Reverse trigger. Called when scrubbing backwards. + /// + public virtual void ReverseTrigger() { } + + /// + /// Reverse End. Called when scrubbing backwards. + /// + public virtual void ReverseEnd() { } + + public int CompareTo(object other) + { + CinemaGlobalAction otherAction = (CinemaGlobalAction)other; + return (int)(otherAction.Firetime - this.Firetime); + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalAction.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalAction.cs.meta new file mode 100644 index 0000000..0d4f5ef --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalAction.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 445497ed074b6954d9649bac3a793137 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalEvent.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalEvent.cs new file mode 100644 index 0000000..fccecd0 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalEvent.cs @@ -0,0 +1,21 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// A basic global event that can be Triggered when the Firetime is reached. + /// + public abstract class CinemaGlobalEvent : TimelineItem + { + /// + /// The event is triggered when the Cutscene's runningtime passes the fire time. + /// + public abstract void Trigger(); + + /// + /// The event can be triggered when the Cutscene is played in reverse passing the fire time. + /// + public virtual void Reverse() { } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalEvent.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalEvent.cs.meta new file mode 100644 index 0000000..89ee9cd --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaGlobalEvent.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65253bc30c0602b48bd29cf149c7c1fd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaMultiActorCurveClip.cs b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaMultiActorCurveClip.cs new file mode 100644 index 0000000..1cb170b --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaMultiActorCurveClip.cs @@ -0,0 +1,158 @@ +using CinemaDirector.Helpers; +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + [Serializable, CutsceneItemAttribute("Curve Clip", "MultiActor Curve Clip", CutsceneItemGenre.MultiActorCurveClipItem)] + public class CinemaMultiActorCurveClip : CinemaClipCurve, IRevertable + { + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + public List Components = new List(); + public List Properties = new List(); + + public CinemaMultiActorCurveClip() + { + CurveData.Add(new MemberClipCurveData()); + } + + public void SampleTime(float time) + { + if (Firetime <= time && time <= Firetime + Duration) + { + MemberClipCurveData data = CurveData[0]; + if (data == null) return; + + if (data.PropertyType == PropertyTypeInfo.None) + { + return; + } + + for (int i = 0; i < Components.Count; i++) + { + object value = null; + switch (data.PropertyType) + { + case PropertyTypeInfo.Color: + Color c; + c.r = data.Curve1.Evaluate(time); + c.g = data.Curve2.Evaluate(time); + c.b = data.Curve3.Evaluate(time); + c.a = data.Curve4.Evaluate(time); + value = c; + break; + + case PropertyTypeInfo.Double: + case PropertyTypeInfo.Float: + case PropertyTypeInfo.Int: + case PropertyTypeInfo.Long: + value = data.Curve1.Evaluate(time); + break; + + case PropertyTypeInfo.Quaternion: + Quaternion q; + q.x = data.Curve1.Evaluate(time); + q.y = data.Curve2.Evaluate(time); + q.z = data.Curve3.Evaluate(time); + q.w = data.Curve4.Evaluate(time); + value = q; + break; + + case PropertyTypeInfo.Vector2: + Vector2 v2; + v2.x = data.Curve1.Evaluate(time); + v2.y = data.Curve2.Evaluate(time); + value = v2; + break; + + case PropertyTypeInfo.Vector3: + Vector3 v3; + v3.x = data.Curve1.Evaluate(time); + v3.y = data.Curve2.Evaluate(time); + v3.z = data.Curve3.Evaluate(time); + value = v3; + break; + + case PropertyTypeInfo.Vector4: + Vector4 v4; + v4.x = data.Curve1.Evaluate(time); + v4.y = data.Curve2.Evaluate(time); + v4.z = data.Curve3.Evaluate(time); + v4.w = data.Curve4.Evaluate(time); + value = v4; + break; + } + if (Components[i] != null && Properties[i] != null && Properties[i] != "None") + { + Components[i].GetType().GetProperty(Properties[i]).SetValue(Components[i], value, null); + } + } + } + } + + public List Actors + { + get + { + List actors = new List(); + if (transform.parent != null) + { + MultiCurveTrack track = transform.parent.GetComponent(); + MultiActorTrackGroup trackgroup = (track.TrackGroup as MultiActorTrackGroup); + actors = trackgroup.Actors; + } + return actors; + } + } + + + /// + /// Cache the initial state of the curve clip manipulated values. + /// + /// The Info necessary to revert this clip. + public RevertInfo[] CacheState() + { + List reverts = new List(); + for (int i = 0; i < Actors.Count; i++) + { + if (Components[i] != null && Properties[i] != null && Properties[i] != "None") + { + Component component = Components[i]; + reverts.Add(new RevertInfo(this, component, Properties[i], + Components[i].GetType().GetProperty(Properties[i]).GetValue(Components[i], null))); + } + } + return reverts.ToArray(); + } + + internal void Revert() + { + } + + /// + /// Option for choosing when this curve clip will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this curve clip will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaMultiActorCurveClip.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaMultiActorCurveClip.cs.meta new file mode 100644 index 0000000..394a5a9 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineItems/CinemaMultiActorCurveClip.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3500bfa7a66c67e4b8c319d9009658ad +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks.meta new file mode 100644 index 0000000..59e3248 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: ea1a75ece2e3ca04f9cb032d4883015f +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/ActorItemTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/ActorItemTrack.cs new file mode 100644 index 0000000..ffb5444 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/ActorItemTrack.cs @@ -0,0 +1,286 @@ +using System; +// Cinema Suite +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// A track which maintains all timeline items marked for actor tracks and multi actor tracks. + /// + [TimelineTrackAttribute("Actor Track", new TimelineTrackGenre[] { TimelineTrackGenre.ActorTrack, TimelineTrackGenre.MultiActorTrack }, CutsceneItemGenre.ActorItem)] + public class ActorItemTrack : TimelineTrack, IActorTrack, IMultiActorTrack + { + /// + /// Initialize this Track and all the timeline items contained within. + /// + public override void Initialize() + { + base.Initialize(); + + foreach (CinemaActorEvent cinemaEvent in this.ActorEvents) + { + foreach (Transform actor in Actors) + { + if (actor != null) + { + cinemaEvent.Initialize(actor.gameObject); + } + } + } + } + + /// + /// The cutscene has been set to an arbitrary time by the user. + /// Processing must take place to catch up to the new time. + /// + /// The new cutscene running time + public override void SetTime(float time) + { + float previousTime = elapsedTime; + base.SetTime(time); + + foreach (TimelineItem item in GetTimelineItems()) + { + // Check if it is an actor event. + CinemaActorEvent cinemaEvent = item as CinemaActorEvent; + if (cinemaEvent != null) + { + if ((previousTime < cinemaEvent.Firetime) && (((elapsedTime >= cinemaEvent.Firetime)))) + { + foreach (Transform actor in Actors) + { + if (actor != null) + cinemaEvent.Trigger(actor.gameObject); + } + } + else if (((previousTime >= cinemaEvent.Firetime) && (elapsedTime < cinemaEvent.Firetime))) + { + foreach (Transform actor in Actors) + { + if (actor != null) + cinemaEvent.Reverse(actor.gameObject); + } + } + } + + // Check if it is an actor action. + CinemaActorAction action = item as CinemaActorAction; + if (action != null) + { + foreach (Transform actor in Actors) + { + if (actor != null) + action.SetTime(actor.gameObject, (time - action.Firetime), time - previousTime); + } + } + } + } + + /// + /// Update this track since the last frame. + /// + /// The new running time. + /// The deltaTime since last update. + public override void UpdateTrack(float time, float deltaTime) + { + float previousTime = base.elapsedTime; + base.UpdateTrack(time, deltaTime); + + foreach (TimelineItem item in GetTimelineItems()) + { + // Check if it is an actor event. + CinemaActorEvent cinemaEvent = item as CinemaActorEvent; + if (cinemaEvent != null) + { + if ((previousTime < cinemaEvent.Firetime) && (((base.elapsedTime >= cinemaEvent.Firetime)))) + { + foreach (Transform actor in Actors) + { + if (actor != null) + cinemaEvent.Trigger(actor.gameObject); + } + } + if (((previousTime >= cinemaEvent.Firetime) && (base.elapsedTime < cinemaEvent.Firetime))) + { + foreach (Transform actor in Actors) + { + if (actor != null) + cinemaEvent.Reverse(actor.gameObject); + } + } + } + + CinemaActorAction action = item as CinemaActorAction; + if (action != null) + { + if ((previousTime < action.Firetime && base.elapsedTime >= action.Firetime) && base.elapsedTime < action.EndTime) + { + foreach (Transform actor in Actors) + { + if (actor != null) + { + action.Trigger(actor.gameObject); + } + } + } + else if (previousTime <= action.EndTime && base.elapsedTime > action.EndTime) + { + foreach (Transform actor in Actors) + { + if (actor != null) + { + action.End(actor.gameObject); + } + } + } + else if (previousTime >= action.Firetime && previousTime < action.EndTime && base.elapsedTime < action.Firetime) + { + foreach (Transform actor in Actors) + { + if (actor != null) + { + action.ReverseTrigger(actor.gameObject); + } + } + } + else if ((previousTime > action.EndTime && (base.elapsedTime > action.Firetime) && (base.elapsedTime <= action.EndTime))) + { + foreach (Transform actor in Actors) + { + if (actor != null) + { + action.ReverseEnd(actor.gameObject); + } + } + } + else if ((base.elapsedTime > action.Firetime) && (base.elapsedTime <= action.EndTime)) + { + foreach (Transform actor in Actors) + { + if (actor != null) + { + float runningTime = time - action.Firetime; + action.UpdateTime(actor.gameObject, runningTime, deltaTime); + } + } + } + } + } + } + + /// + /// Resume playback after being paused. + /// + public override void Resume() + { + base.Resume(); + foreach (TimelineItem item in GetTimelineItems()) + { + CinemaActorAction action = item as CinemaActorAction; + if (action != null) + { + if (((elapsedTime > action.Firetime)) && (elapsedTime < (action.Firetime + action.Duration))) + { + foreach (Transform actor in Actors) + { + if (actor != null) + { + action.Resume(actor.gameObject); + } + } + } + } + } + } + + /// + /// Stop the playback of this track. + /// + public override void Stop() + { + base.Stop(); + base.elapsedTime = 0f; + foreach (TimelineItem item in GetTimelineItems()) + { + CinemaActorEvent cinemaEvent = item as CinemaActorEvent; + if (cinemaEvent != null) + { + foreach (Transform actor in Actors) + { + if (actor != null) + cinemaEvent.Stop(actor.gameObject); + } + } + + CinemaActorAction action = item as CinemaActorAction; + if (action != null) + { + foreach (Transform actor in Actors) + { + if (actor != null) + action.Stop(actor.gameObject); + } + } + } + } + + /// + /// Get the Actor associated with this track. Can return null. + /// + public Transform Actor + { + get + { + ActorTrackGroup atg = this.TrackGroup as ActorTrackGroup; + if (atg == null) + { + Debug.LogError("No ActorTrackGroup found on parent.", this); + return null; + } + return atg.Actor; + } + } + + /// + /// Get the Actors associated with this track. Can return null. + /// In the case of MultiActors it will return the full list. + /// + public List Actors + { + get + { + ActorTrackGroup trackGroup = TrackGroup as ActorTrackGroup; + if (trackGroup != null) + { + List actors = new List() { }; + actors.Add(trackGroup.Actor); + return actors; + } + + MultiActorTrackGroup multiActorTrackGroup = TrackGroup as MultiActorTrackGroup; + if (multiActorTrackGroup != null) + { + return multiActorTrackGroup.Actors; + } + return null; + } + } + + public CinemaActorEvent[] ActorEvents + { + get + { + return base.GetComponentsInChildren(); + } + } + + public CinemaActorAction[] ActorActions + { + get + { + return base.GetComponentsInChildren(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/ActorItemTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/ActorItemTrack.cs.meta new file mode 100644 index 0000000..0e8eb71 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/ActorItemTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5ba75415c29e8f498b4259e5bba527f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/AudioTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/AudioTrack.cs new file mode 100644 index 0000000..885d8b3 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/AudioTrack.cs @@ -0,0 +1,102 @@ + +namespace CinemaDirector +{ + /// + /// A track designed specifically to hold audio items. + /// + [TimelineTrackAttribute("Audio Track", TimelineTrackGenre.GlobalTrack, CutsceneItemGenre.AudioClipItem)] + public class AudioTrack : TimelineTrack + { + /// + /// Set the track to an arbitrary time. + /// + /// The new time. + public override void SetTime(float time) + { + foreach (CinemaAudio cinemaAudio in AudioClips) + { + float audioTime = time - cinemaAudio.Firetime; + cinemaAudio.SetTime(audioTime); + } + } + + /// + /// Pause all Audio Clips that are currently playing. + /// + public override void Pause() + { + foreach (CinemaAudio cinemaAudio in AudioClips) + { + cinemaAudio.Pause(); + } + } + + /// + /// Update the track and play any newly triggered items. + /// + /// The new running time. + /// The deltaTime since the last update call. + public override void UpdateTrack(float time, float deltaTime) + { + float elapsedTime = base.elapsedTime; + base.elapsedTime = time; + + foreach (CinemaAudio cinemaAudio in AudioClips) + { + if (cinemaAudio != null) + { + if (((elapsedTime < cinemaAudio.Firetime) || (elapsedTime <= 0f)) && (((base.elapsedTime >= cinemaAudio.Firetime)))) + { + cinemaAudio.Trigger(); + } + if ((base.elapsedTime > cinemaAudio.Firetime) && (base.elapsedTime <= (cinemaAudio.Firetime + cinemaAudio.Duration))) + { + float audioTime = time - cinemaAudio.Firetime; + cinemaAudio.UpdateTime(audioTime, deltaTime); + } + if (((elapsedTime <= (cinemaAudio.Firetime + cinemaAudio.Duration)) && (base.elapsedTime > (cinemaAudio.Firetime + cinemaAudio.Duration)))) + { + cinemaAudio.End(); + } + } + } + } + + /// + /// Resume playing audio clips after calling a Pause. + /// + public override void Resume() + { + foreach (CinemaAudio cinemaAudio in this.AudioClips) + { + if (((base.Cutscene.RunningTime > cinemaAudio.Firetime)) && (base.Cutscene.RunningTime < (cinemaAudio.Firetime + cinemaAudio.Duration))) + { + cinemaAudio.Resume(); + } + } + } + + /// + /// Stop playback of all playing audio items. + /// + public override void Stop() + { + base.elapsedTime = 0f; + foreach (CinemaAudio cinemaAudio in AudioClips) + { + cinemaAudio.Stop(); + } + } + + /// + /// Get all cinema audio objects associated with this audio track + /// + public CinemaAudio[] AudioClips + { + get + { + return GetComponentsInChildren(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/AudioTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/AudioTrack.cs.meta new file mode 100644 index 0000000..b172b3d --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/AudioTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 933d0873fec0d0b4ba64937b697c194b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/Base.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base.meta new file mode 100644 index 0000000..4cc0b72 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 99ff45f8d8ec28646926d9004aa660bd +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IActorTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IActorTrack.cs new file mode 100644 index 0000000..ca91b33 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IActorTrack.cs @@ -0,0 +1,18 @@ + +using UnityEngine; +namespace CinemaDirector +{ + /// + /// Interface to implement with any track that is made to be held in an actor track group. + /// + public interface IActorTrack + { + /// + /// Get the single Actor associated with this Actor Track. + /// + Transform Actor + { + get; + } + } +} diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IActorTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IActorTrack.cs.meta new file mode 100644 index 0000000..e7f610c --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IActorTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c631a3d5bdd0b8a459a1b5dbab28d7cd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IMultiActorTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IMultiActorTrack.cs new file mode 100644 index 0000000..f8bf904 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IMultiActorTrack.cs @@ -0,0 +1,20 @@ + +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Implement this interface in any track that is made for multiple actors. + /// + public interface IMultiActorTrack + { + /// + /// Get the Actors associated with this Track. + /// + List Actors + { + get; + } + } +} diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IMultiActorTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IMultiActorTrack.cs.meta new file mode 100644 index 0000000..986a9f0 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/IMultiActorTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f9dbf859c73d29247b77fabd010412c1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrack.cs new file mode 100644 index 0000000..cd4f6fb --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrack.cs @@ -0,0 +1,303 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + public abstract class TimelineTrack : MonoBehaviour, IOptimizable + { + [SerializeField] + private int ordinal = -1; // Ordering of Tracks + + [SerializeField] + private bool canOptimize = true; // If true, this Track will load all items into cache on Optimize(). + + // Options for when this Track will execute its Timeline Items. + public PlaybackMode PlaybackMode = PlaybackMode.RuntimeAndEdit; + + protected float elapsedTime; + + // A cache of the TimelineItems for optimization purposes. + protected TimelineItem[] itemCache; + + // A list of the cutscene item types that this Track is allowed to contain. + protected List allowedItemTypes; + + private bool hasBeenOptimized = false; + + /// + /// Prepares the TimelineTrack by caching all TimelineItems contained inside of it. + /// + public virtual void Optimize() + { + if (canOptimize) + { + itemCache = GetTimelineItems(); + } + foreach (TimelineItem item in GetTimelineItems()) + { + if (item is IOptimizable) + { + (item as IOptimizable).Optimize(); + } + } + hasBeenOptimized = true; + } + + /// + /// Perform any initialization before the cutscene begins a fresh playback + /// + public virtual void Initialize() + { + elapsedTime = -1f; + foreach (TimelineItem item in GetTimelineItems()) + { + item.Initialize(); + } + } + + /// + /// Update the track to the given time + /// + /// + public virtual void UpdateTrack(float runningTime, float deltaTime) + { + float previousTime = elapsedTime; + elapsedTime = runningTime; + + foreach (TimelineItem item in GetTimelineItems()) + { + CinemaGlobalEvent cinemaEvent = item as CinemaGlobalEvent; + if (cinemaEvent == null) continue; + + if ((previousTime < cinemaEvent.Firetime) && (((elapsedTime >= cinemaEvent.Firetime)))) + { + cinemaEvent.Trigger(); + } + else if (((previousTime >= cinemaEvent.Firetime) && (elapsedTime < cinemaEvent.Firetime))) + { + cinemaEvent.Reverse(); + } + } + + foreach (TimelineItem item in GetTimelineItems()) + { + CinemaGlobalAction action = item as CinemaGlobalAction; + if (action == null) continue; + if ((previousTime < action.Firetime && elapsedTime >= action.Firetime) && elapsedTime < action.EndTime) + { + action.Trigger(); + } + else if ((previousTime < action.EndTime) && (elapsedTime >= action.EndTime)) + { + action.End(); + } + else if (previousTime > action.Firetime && previousTime <= action.EndTime && elapsedTime < action.Firetime) + { + action.ReverseTrigger(); + } + else if ((previousTime > (action.EndTime) && (elapsedTime > action.Firetime) && (elapsedTime <= action.EndTime))) + { + action.ReverseEnd(); + } + else if ((elapsedTime > action.Firetime) && (elapsedTime < action.EndTime)) + { + float t = runningTime - action.Firetime; + action.UpdateTime(t, deltaTime); + } + } + } + + /// + /// Notify track items that the cutscene has been paused + /// + public virtual void Pause() { } + + /// + /// Notify track items that the cutscene has been resumed from a paused state. + /// + public virtual void Resume() { } + + /// + /// The cutscene has been set to an arbitrary time by the user. + /// Processing must take place to catch up to the new time. + /// + /// The new cutscene running time + public virtual void SetTime(float time) + { + float previousTime = elapsedTime; + elapsedTime = time; + + foreach (TimelineItem item in GetTimelineItems()) + { + // Check if it is a global event. + CinemaGlobalEvent cinemaEvent = item as CinemaGlobalEvent; + if (cinemaEvent != null) + { + if ((previousTime < cinemaEvent.Firetime) && (((elapsedTime >= cinemaEvent.Firetime)))) + { + cinemaEvent.Trigger(); + } + else if (((previousTime >= cinemaEvent.Firetime) && (elapsedTime < cinemaEvent.Firetime))) + { + cinemaEvent.Reverse(); + } + } + + // Check if it is a global action. + CinemaGlobalAction action = item as CinemaGlobalAction; + if (action != null) + { + action.SetTime((time - action.Firetime), time - previousTime); + } + } + } + + /// + /// Retrieve a list of important times for this track within the given range. + /// + /// The starting point of the range. + /// The end point of the range. + /// A list of ordered milestone times within the given range. + public virtual List GetMilestones(float from, float to) + { + bool isReverse = from > to; + + List times = new List(); + foreach (TimelineItem item in GetTimelineItems()) + { + if ((!isReverse && from < item.Firetime && to >= item.Firetime) || (isReverse && from > item.Firetime && to <= item.Firetime)) + { + if (!times.Contains(item.Firetime)) + { + times.Add(item.Firetime); + } + } + + if (item is TimelineAction) + { + float endTime = (item as TimelineAction).EndTime; + if ((!isReverse && from < endTime && to >= endTime) || (isReverse && from > endTime && to <= endTime)) + { + if (!times.Contains(endTime)) + { + times.Add(endTime); + } + } + } + } + times.Sort(); + return times; + } + + /// + /// Notify the track items that the cutscene has been stopped + /// + public virtual void Stop() + { + foreach (TimelineItem item in GetTimelineItems()) + { + item.Stop(); + } + } + + /// + /// Returns all allowed Timeline Item types. + /// + /// A list of allowed cutscene item types. + public List GetAllowedCutsceneItems() + { + if (allowedItemTypes == null) + { + allowedItemTypes = DirectorRuntimeHelper.GetAllowedItemTypes(this); + } + return allowedItemTypes; + } + + /// + /// The Cutscene that this Track is associated with. Can return null. + /// + public Cutscene Cutscene + { + get { return ((this.TrackGroup == null) ? null : this.TrackGroup.Cutscene); } + } + + /// + /// The TrackGroup associated with this Track. Can return null. + /// + public TrackGroup TrackGroup + { + get + { + TrackGroup group = null; + if (transform.parent != null) + { + group = transform.parent.GetComponentInParent(); + if (group == null) + { + Debug.LogError("No TrackGroup found on parent.", this); + } + } + else + { + Debug.LogError("Track has no parent.", this); + } + return group; + } + } + + /// + /// Ordinal for UI ranking. + /// + public int Ordinal + { + get + { + return ordinal; + } + set + { + ordinal = value; + } + } + + /// + /// Enable this if the Track does not have Items added/removed during running. + /// + public bool CanOptimize + { + get { return canOptimize; } + set { canOptimize = value; } + } + + /// + /// Get all TimelineItems that are allowed to be in this Track. + /// + /// A filtered list of Timeline Items. + public TimelineItem[] GetTimelineItems() + { + // Return the cache if possible + if (hasBeenOptimized) + { + return itemCache; + } + + List items = new List(); + foreach (Type t in GetAllowedCutsceneItems()) + { + var components = GetComponentsInChildren(t); + foreach (var component in components) + { + items.Add((TimelineItem)component); + } + } + return items.ToArray(); + } + + public virtual TimelineItem[] TimelineItems + { + get { return base.GetComponentsInChildren(); } + } + } + +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrack.cs.meta new file mode 100644 index 0000000..76acd40 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4efd897a1b77d704890c3cc0ebbbe868 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrackAttribute.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrackAttribute.cs new file mode 100644 index 0000000..7e9ccde --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrackAttribute.cs @@ -0,0 +1,81 @@ +// Cinema Suite 2014 +using System; +using System.Collections.Generic; + +namespace CinemaDirector +{ + /// + /// The Attribute for tracks. + /// + [AttributeUsage(AttributeTargets.Class)] + public class TimelineTrackAttribute : Attribute + { + // The user friendly name for this Track. + private string label; + + // The genres of this track. + private List trackGenres = new List(); + + // The genres of items that this track can contain. + private List itemGenres = new List(); + + /// + /// Attribute for Track Groups + /// + /// The name of this track group. + /// The Genres of this track. + /// The Genres allowed to be contained in this track. + public TimelineTrackAttribute(string label, TimelineTrackGenre[] TrackGenres, params CutsceneItemGenre[] AllowedItemGenres) + { + this.label = label; + this.trackGenres.AddRange(TrackGenres); + this.itemGenres.AddRange(AllowedItemGenres); + } + + /// + /// Attribute for Track Groups. + /// + /// The name of this track group. + /// The Genre of this track. + /// The Genres allowed to be contained in this track. + public TimelineTrackAttribute(string label, TimelineTrackGenre TrackGenre, params CutsceneItemGenre[] AllowedItemGenres) + { + this.label = label; + this.trackGenres.Add(TrackGenre); + this.itemGenres.AddRange(AllowedItemGenres); + } + + /// + /// The label of this track. + /// + public string Label + { + get + { + return label; + } + } + + /// + /// The genres of this Track. + /// + public TimelineTrackGenre[] TrackGenres + { + get + { + return trackGenres.ToArray(); + } + } + + /// + /// The allowed item genres for this track. + /// + public CutsceneItemGenre[] AllowedItemGenres + { + get + { + return itemGenres.ToArray(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrackAttribute.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrackAttribute.cs.meta new file mode 100644 index 0000000..c2fda43 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/Base/TimelineTrackAttribute.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e97b5b6f8dad11d4bb315ceee8746f9b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/CurveTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/CurveTrack.cs new file mode 100644 index 0000000..f4e78ca --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/CurveTrack.cs @@ -0,0 +1,66 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// A track designed to hold Actor Curve Clip items. + /// + [TimelineTrackAttribute("Curve Track", TimelineTrackGenre.ActorTrack, CutsceneItemGenre.CurveClipItem)] + public class CurveTrack : TimelineTrack, IActorTrack + { + /// + /// Update all curve items. + /// + /// The new running time. + /// The deltaTime since last update. + public override void UpdateTrack(float time, float deltaTime) + { + base.elapsedTime = time; + foreach (CinemaActorClipCurve actorClipCurve in this.TimelineItems) + { + actorClipCurve.SampleTime(time); + } + } + + /// + /// Set the track to an arbitrary time. + /// + /// The new running time. + public override void SetTime(float time) + { + base.elapsedTime = time; + foreach (CinemaActorClipCurve actorClipCurve in this.TimelineItems) + { + actorClipCurve.SampleTime(time); + } + } + + /// + /// Stop and reset all the curve data. + /// + public override void Stop() + { + foreach (CinemaActorClipCurve actorClipCurve in this.TimelineItems) + { + actorClipCurve.Reset(); + } + } + + /// + /// Get the Actor associated with this Curve Track. + /// + public Transform Actor + { + get + { + ActorTrackGroup atg = this.TrackGroup as ActorTrackGroup; + if (atg == null) + { + Debug.LogError("No ActorTrackGroup found on parent.", this); + return null; + } + return atg.Actor; + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/CurveTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/CurveTrack.cs.meta new file mode 100644 index 0000000..193612c --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/CurveTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ee29e68f81b83642bee1811dd4e7925 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/DialogueTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/DialogueTrack.cs new file mode 100644 index 0000000..dca2562 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/DialogueTrack.cs @@ -0,0 +1,49 @@ +// Cinema Suite 2014 + +using UnityEngine; +namespace CinemaDirector +{ + [TimelineTrackAttribute("Dialogue Track", TimelineTrackGenre.CharacterTrack, CutsceneItemGenre.AudioClipItem)] + public class DialogueTrack : AudioTrack, IActorTrack + { + [SerializeField] + private Transform anchor; + + public override void Initialize() + { + base.Initialize(); + setTransform(); + } + + public override void UpdateTrack(float time, float deltaTime) + { + setTransform(); + base.UpdateTrack(time, deltaTime); + } + + private void setTransform() + { + if (anchor != null) + { + this.transform.position = anchor.position; + } + else if (Actor != null) + { + this.transform.position = Actor.transform.position; + } + } + + public Transform Actor + { + get + { + ActorTrackGroup component = base.transform.parent.GetComponent(); + if (component == null) + { + return null; + } + return component.Actor; + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/DialogueTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/DialogueTrack.cs.meta new file mode 100644 index 0000000..8f777c8 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/DialogueTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 23bcac684ea00804f9caa0e33690b5fc +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/GlobalItemTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/GlobalItemTrack.cs new file mode 100644 index 0000000..7952786 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/GlobalItemTrack.cs @@ -0,0 +1,46 @@ +using UnityEngine; + +namespace CinemaDirector +{ + [TimelineTrackAttribute("Global Track", TimelineTrackGenre.GlobalTrack, CutsceneItemGenre.GlobalItem)] + public class GlobalItemTrack : TimelineTrack + { + public CinemaGlobalEvent[] Events + { + get + { + return base.GetComponentsInChildren(); + } + } + + public CinemaGlobalAction[] Actions + { + get + { + return base.GetComponentsInChildren(); + } + } + + public override TimelineItem[] TimelineItems + { + get + { + CinemaGlobalEvent[] events = Events; + CinemaGlobalAction[] actions = Actions; + + TimelineItem[] items = new TimelineItem[events.Length + actions.Length]; + for (int i = 0; i < events.Length; i++) + { + items[i] = events[i]; + } + + for (int i = 0; i < actions.Length; i++) + { + items[i + events.Length] = actions[i]; + } + + return items; + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/GlobalItemTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/GlobalItemTrack.cs.meta new file mode 100644 index 0000000..3d103a7 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/GlobalItemTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: db77ac72882afb443bab29b875c43ad0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/MecanimTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/MecanimTrack.cs new file mode 100644 index 0000000..adcb8dd --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/MecanimTrack.cs @@ -0,0 +1,12 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Track for containing only mecanim Animator related content. + /// + [TimelineTrackAttribute("Mecanim Track", TimelineTrackGenre.CharacterTrack, CutsceneItemGenre.MecanimItem)] + public class MecanimTrack : ActorItemTrack + { } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/MecanimTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/MecanimTrack.cs.meta new file mode 100644 index 0000000..5de3a57 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/MecanimTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 421c4f0e071d7fa43adafb0da621dbea +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/MultiCurveTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/MultiCurveTrack.cs new file mode 100644 index 0000000..5df09a8 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/MultiCurveTrack.cs @@ -0,0 +1,56 @@ +// Cinema Suite 2014 + +using UnityEngine; +namespace CinemaDirector +{ + [TimelineTrackAttribute("Curve Track", TimelineTrackGenre.MultiActorTrack, CutsceneItemGenre.MultiActorCurveClipItem)] + public class MultiCurveTrack : TimelineTrack, IActorTrack + { + + public override void Initialize() + { + foreach (CinemaMultiActorCurveClip clipCurve in this.TimelineItems) + { + clipCurve.Initialize(); + } + } + + public override void UpdateTrack(float time, float deltaTime) + { + base.elapsedTime = time; + foreach (CinemaMultiActorCurveClip clipCurve in this.TimelineItems) + { + clipCurve.SampleTime(time); + } + } + + public override void Stop() + { + foreach (CinemaMultiActorCurveClip clipCurve in this.TimelineItems) + { + clipCurve.Revert(); + } + } + + public override TimelineItem[] TimelineItems + { + get + { + return GetComponentsInChildren(); + } + } + + public Transform Actor + { + get + { + ActorTrackGroup component = base.transform.parent.GetComponent(); + if (component == null) + { + return null; + } + return component.Actor; + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/MultiCurveTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/MultiCurveTrack.cs.meta new file mode 100644 index 0000000..69e76ed --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/MultiCurveTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b90f935e22455e3419cd3f59572061b7 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/ShotTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/ShotTrack.cs new file mode 100644 index 0000000..6ef63c6 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/ShotTrack.cs @@ -0,0 +1,159 @@ +// Cinema Suite +using System; +using UnityEngine; + +namespace CinemaDirector +{ + public delegate void ShotBeginsEventHandler(object sender, ShotEventArgs e); + public delegate void ShotEndsEventHandler(object sender, ShotEventArgs e); + + public class ShotEventArgs : EventArgs + { + public CinemaShot shot; + + public ShotEventArgs(CinemaShot shot) + { + this.shot = shot; + } + } + + /// + /// A track that sorts shots and manages associated cameras. + /// + [TimelineTrackAttribute("Shot Track", TimelineTrackGenre.GlobalTrack, CutsceneItemGenre.CameraShot)] + public class ShotTrack : TimelineTrack + { + public event ShotEndsEventHandler ShotEnds; + public event ShotBeginsEventHandler ShotBegins; + + /// + /// Initialize the shot track by enabling the first Camera and disabling all others in the track. + /// + public override void Initialize() + { + base.elapsedTime = 0f; + + CinemaShot firstCamera = null; + foreach (CinemaShot shot in GetTimelineItems()) + { + shot.Initialize(); + } + + foreach (CinemaShot shot in GetTimelineItems()) + { + if (shot.Firetime == 0) + { + firstCamera = shot; + } + else + { + shot.End(); + } + } + + if (firstCamera != null) + { + firstCamera.Trigger(); + if (ShotBegins != null) + { + ShotBegins(this, new ShotEventArgs(firstCamera)); + } + } + } + + /// + /// Update the Shot Track by deltaTime. Will fire ShotBegins and ShotEnds events. + /// + /// The current running time. + /// The deltaTime since the last update. + public override void UpdateTrack(float time, float deltaTime) + { + float previousTime = base.elapsedTime; + base.elapsedTime = time; + + foreach (CinemaShot shot in GetTimelineItems()) + { + float endTime = shot.CutTime + shot.Duration; + if ((previousTime <= shot.CutTime) && (base.elapsedTime >= shot.CutTime) && (base.elapsedTime < endTime)) + { + shot.Trigger(); + if (ShotBegins != null) + { + ShotBegins(this, new ShotEventArgs(shot)); + } + } + else if ((previousTime >= endTime) && (base.elapsedTime < endTime) && (base.elapsedTime >= shot.CutTime)) + { + shot.Trigger(); + if (ShotBegins != null) + { + ShotBegins(this, new ShotEventArgs(shot)); + } + } + else if ((previousTime >= shot.CutTime) && (previousTime < endTime) && (base.elapsedTime >= endTime)) + { + shot.End(); + if (ShotEnds != null) + { + ShotEnds(this, new ShotEventArgs(shot)); + } + } + else if ((previousTime > shot.CutTime) && (previousTime < endTime) && (base.elapsedTime < shot.CutTime)) + { + shot.End(); + if (ShotEnds != null) + { + ShotEnds(this, new ShotEventArgs(shot)); + } + } + } + } + + /// + /// The shot track will jump to the given time. Disabling the current shot and enabling the new one. + /// + /// The new running time. + public override void SetTime(float time) + { + CinemaShot previousShot = null; + CinemaShot newShot = null; + + // Get the old shot and the new shot + foreach (CinemaShot shot in GetTimelineItems()) + { + float endTime = shot.CutTime + shot.Duration; + if ((elapsedTime >= shot.CutTime) && (elapsedTime < endTime)) + { + previousShot = shot; + } + if ((time >= shot.CutTime) && (time < endTime)) + { + newShot = shot; + } + } + + // Trigger them as appropriate. + if (newShot != previousShot) + { + if (previousShot != null) + { + previousShot.End(); + if (ShotEnds != null) + { + ShotEnds(this, new ShotEventArgs(previousShot)); + } + } + if (newShot != null) + { + newShot.Trigger(); + if (ShotBegins != null) + { + ShotBegins(this, new ShotEventArgs(newShot)); + } + } + } + + elapsedTime = time; + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/ShotTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/ShotTrack.cs.meta new file mode 100644 index 0000000..3aa9e9f --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/ShotTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f9b5c5ddb4f9d0a4ca33e7c33982df1d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/TransformTrack.cs b/Assets/Cinema Director/System/Runtime/TimelineTracks/TransformTrack.cs new file mode 100644 index 0000000..ffbee5c --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/TransformTrack.cs @@ -0,0 +1,12 @@ +// Cinema Suite +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// Track for containing only mecanim Animator related content. + /// + [TimelineTrackAttribute("Transform Track", TimelineTrackGenre.CharacterTrack, CutsceneItemGenre.TransformItem)] + public class TransformTrack : ActorItemTrack + { } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TimelineTracks/TransformTrack.cs.meta b/Assets/Cinema Director/System/Runtime/TimelineTracks/TransformTrack.cs.meta new file mode 100644 index 0000000..b698465 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TimelineTracks/TransformTrack.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 133728166642e6b409c391fcf785c7b2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups.meta b/Assets/Cinema Director/System/Runtime/TrackGroups.meta new file mode 100644 index 0000000..61a4508 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: d0f75971c2d4e7249944be78d4ec2b45 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/ActorTrackGroup.cs b/Assets/Cinema Director/System/Runtime/TrackGroups/ActorTrackGroup.cs new file mode 100644 index 0000000..61d4d93 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/ActorTrackGroup.cs @@ -0,0 +1,24 @@ +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// The ActorTrackGroup maintains an Actor and a set of tracks that affect + /// that actor over the course of the Cutscene. + /// + [TrackGroupAttribute("Actor Track Group", TimelineTrackGenre.ActorTrack)] + public class ActorTrackGroup : TrackGroup + { + [SerializeField] + private Transform actor; + + /// + /// The Actor that this TrackGroup is focused on. + /// + public Transform Actor + { + get { return actor; } + set { actor = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/ActorTrackGroup.cs.meta b/Assets/Cinema Director/System/Runtime/TrackGroups/ActorTrackGroup.cs.meta new file mode 100644 index 0000000..4a37342 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/ActorTrackGroup.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f721a7f4a938be4196ba9be816a39d0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/Base.meta b/Assets/Cinema Director/System/Runtime/TrackGroups/Base.meta new file mode 100644 index 0000000..6951fb2 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/Base.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: d304cd9588562eb44ab267cb3ff2aa6a +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroup.cs b/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroup.cs new file mode 100644 index 0000000..59f3407 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroup.cs @@ -0,0 +1,214 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// The main organizational unit of a Cutscene, The TrackGroup contains tracks. + /// + [TrackGroupAttribute("Track Group", TimelineTrackGenre.GlobalTrack)] + public abstract class TrackGroup : MonoBehaviour, IOptimizable + { + [SerializeField] + private int ordinal = -1; // For ordering in UI + + [SerializeField] + private bool canOptimize = true; // If true, this Track Group will load all tracks into cache on Optimize(). + + // A cache of the tracks for optimization purposes. + protected TimelineTrack[] trackCache; + + // A list of the types that this Track Group is allowed to contain. + protected List allowedTrackTypes; + + private bool hasBeenOptimized = false; + + /// + /// Prepares the TrackGroup by caching all TimelineTracks. + /// + public virtual void Optimize() + { + if (canOptimize) + { + trackCache = GetTracks(); + } + foreach (TimelineTrack track in GetTracks()) + { + track.Optimize(); + } + hasBeenOptimized = true; + } + + /// + /// Initialize all Tracks before beginning a fresh playback. + /// + public virtual void Initialize() + { + foreach (TimelineTrack track in GetTracks()) + { + track.Initialize(); + } + } + + /// + /// Update the track group to the current running time of the cutscene. + /// + /// The current running time + /// The deltaTime since the last update call + public virtual void UpdateTrackGroup(float time, float deltaTime) + { + foreach (TimelineTrack track in GetTracks()) + { + track.UpdateTrack(time, deltaTime); + } + } + + /// + /// Pause all Track Items that this TrackGroup contains. + /// + public virtual void Pause() + { + foreach (TimelineTrack track in GetTracks()) + { + track.Pause(); + } + } + + /// + /// Stop all Track Items that this TrackGroup contains. + /// + public virtual void Stop() + { + foreach (TimelineTrack track in GetTracks()) + { + track.Stop(); + } + } + + /// + /// Resume all Track Items that this TrackGroup contains. + /// + public virtual void Resume() + { + foreach (TimelineTrack track in GetTracks()) + { + track.Resume(); + } + } + + /// + /// Set this TrackGroup to the state of a given new running time. + /// + /// The new running time + public virtual void SetRunningTime(float time) + { + foreach (TimelineTrack track in GetTracks()) + { + track.SetTime(time); + } + } + + /// + /// Retrieve a list of important times for this track group within the given range. + /// + /// the starting time + /// the ending time + /// A list of ordered milestone times within the given range. + public virtual List GetMilestones(float from, float to) + { + List times = new List(); + foreach (TimelineTrack track in GetTracks()) + { + List trackTimes = track.GetMilestones(from, to); + foreach(float f in trackTimes) + { + if(!times.Contains(f)) + { + times.Add(f); + } + } + } + times.Sort(); + return times; + } + + /// + /// The Cutscene that this TrackGroup is associated with. Will return null if TrackGroup does not have a Cutscene as a parent. + /// + public Cutscene Cutscene + { + get + { + Cutscene cutscene = null; + if (transform.parent != null) + { + cutscene = transform.parent.GetComponentInParent(); + if (cutscene == null) + { + Debug.LogError("No Cutscene found on parent!", this); + } + } + else + { + Debug.LogError("TrackGroup has no parent!", this); + } + return cutscene; + } + } + + /// + /// The TimelineTracks that this TrackGroup contains. + /// + public virtual TimelineTrack[] GetTracks() + { + // Return the cache if possible + if (hasBeenOptimized) + { + return trackCache; + } + + List tracks = new List(); + foreach (Type t in GetAllowedTrackTypes()) + { + var components = GetComponentsInChildren(t); + foreach(var component in components) + { + tracks.Add((TimelineTrack)component); + } + } + return tracks.ToArray(); + } + + /// + /// Provides a list of Types this Track Group is allowed to contain. Loaded by looking at Attributes. + /// + /// The list of track types. + public List GetAllowedTrackTypes() + { + if (allowedTrackTypes == null) + { + allowedTrackTypes = DirectorRuntimeHelper.GetAllowedTrackTypes(this); + } + return allowedTrackTypes; + } + + /// + /// Ordinal for UI ranking. + /// + public int Ordinal + { + get { return ordinal; } + set { ordinal = value; } + } + + /// + /// Enable this if the TrackGroup does not have Tracks added/removed during running. + /// + public bool CanOptimize + { + get { return canOptimize; } + set { canOptimize = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroup.cs.meta b/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroup.cs.meta new file mode 100644 index 0000000..f08367f --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroup.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1f436369d67d5ca45aa70435c4a91302 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroupAttribute.cs b/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroupAttribute.cs new file mode 100644 index 0000000..75e5389 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroupAttribute.cs @@ -0,0 +1,52 @@ +// Cinema Suite 2014 +using System; +using System.Collections.Generic; + +namespace CinemaDirector +{ + /// + /// The Attribute for track groups. + /// + [AttributeUsage(AttributeTargets.Class)] + public class TrackGroupAttribute : Attribute + { + // The user friendly name for this Track Group. + private string label; + + // The list of Track Genres that this Track Group allows. + private List trackGenres = new List(); + + /// + /// Attribute for Track Groups + /// + /// The name of this track group. + /// The Track Genres that this Track Group is allowed to contain. + public TrackGroupAttribute(string label, params TimelineTrackGenre[] TrackGenres) + { + this.label = label; + this.trackGenres.AddRange(TrackGenres); + } + + /// + /// The label of this track group. + /// + public string Label + { + get + { + return label; + } + } + + /// + /// The Track Genres that this Track Group can contain. + /// + public TimelineTrackGenre[] AllowedTrackGenres + { + get + { + return trackGenres.ToArray(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroupAttribute.cs.meta b/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroupAttribute.cs.meta new file mode 100644 index 0000000..2079603 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/Base/TrackGroupAttribute.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1db6c43ad94d8244292101262898840d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/CharacterTrackGroup.cs b/Assets/Cinema Director/System/Runtime/TrackGroups/CharacterTrackGroup.cs new file mode 100644 index 0000000..5f6f7a2 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/CharacterTrackGroup.cs @@ -0,0 +1,164 @@ +// Cinema Suite +using CinemaDirector.Helpers; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// The character track group is a type of actor group, specialized for humanoid characters. + /// + [TrackGroupAttribute("Character Track Group", TimelineTrackGenre.CharacterTrack)] + public class CharacterTrackGroup : ActorTrackGroup, IRevertable, IBakeable + { + // Options for reverting in editor. + [SerializeField] + private RevertMode editorRevertMode = RevertMode.Revert; + + // Options for reverting during runtime. + [SerializeField] + private RevertMode runtimeRevertMode = RevertMode.Revert; + + // Has a bake been called on this track group? + private bool hasBeenBaked = false; + + /// + /// Bake the Mecanim preview data. + /// + public void Bake() + { + if (Actor == null || Application.isPlaying) return; + Animator animator = Actor.GetComponent(); + if (animator == null) + { return; } + + float frameRate = 30; + int frameCount = (int)((Cutscene.Duration * frameRate) + 2); + animator.StopPlayback(); + animator.recorderStartTime = 0; + animator.StartRecording(frameCount); + for (int i = 0; i < frameCount; i++) + { + base.UpdateTrackGroup(i * (1.0f / frameRate), (1.0f / frameRate)); + animator.Update(1.0f / frameRate); + } + animator.recorderStopTime = frameCount * (1.0f / frameRate); + animator.StopRecording(); + animator.StartPlayback(); + + hasBeenBaked = true; + } + + /// + /// Cache the Actor Transform. + /// + /// The revert info for the Actor's transform. + public RevertInfo[] CacheState() + { + RevertInfo[] reverts = new RevertInfo[3]; + if (Actor == null) return new RevertInfo[0]; + reverts[0] = new RevertInfo(this, Actor.transform, "localPosition", Actor.transform.localPosition); + reverts[1] = new RevertInfo(this, Actor.transform, "localRotation", Actor.transform.localRotation); + reverts[2] = new RevertInfo(this, Actor.transform, "localScale", Actor.transform.localScale); + return reverts; + } + + /// + /// Initialize the Track Group as normal and initialize the Animator if in Editor Mode. + /// + public override void Initialize() + { + base.Initialize(); + if (!Application.isPlaying) + { + if (Actor == null) return; + Animator animator = Actor.GetComponent(); + if (animator == null) + { + return; + } + animator.StartPlayback(); + } + } + + /// + /// Update the Track Group over time. If in editor mode, play the baked animator data. + /// + /// The new running time. + /// the deltaTime since last update. + public override void UpdateTrackGroup(float time, float deltaTime) + { + if (Application.isPlaying) + { + base.UpdateTrackGroup(time, deltaTime); + } + else + { + foreach (TimelineTrack track in GetTracks()) + { + if (!(track is MecanimTrack)) + { + track.UpdateTrack(time, deltaTime); + } + } + + if (Actor == null) return; + Animator animator = Actor.GetComponent(); + if (animator == null) + { + return; + } + + animator.playbackTime = time; + animator.Update(0); + } + } + + /// + /// Stop this track group and stop playback on animator. + /// + public override void Stop() + { + base.Stop(); + + if (!Application.isPlaying) + { + if (hasBeenBaked) + { + Animator animator = Actor.GetComponent(); + if (animator == null) + { + return; + } + + if (animator.recorderStopTime > 0) + { + animator.StartPlayback(); + animator.playbackTime = 0; + animator.Update(0); + animator.StopPlayback(); + + animator.Rebind(); + } + } + } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Editor. + /// + public RevertMode EditorRevertMode + { + get { return editorRevertMode; } + set { editorRevertMode = value; } + } + + /// + /// Option for choosing when this Event will Revert to initial state in Runtime. + /// + public RevertMode RuntimeRevertMode + { + get { return runtimeRevertMode; } + set { runtimeRevertMode = value; } + } + } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/CharacterTrackGroup.cs.meta b/Assets/Cinema Director/System/Runtime/TrackGroups/CharacterTrackGroup.cs.meta new file mode 100644 index 0000000..17d892f --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/CharacterTrackGroup.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 32c218e8b5c1edb4cb0c62f4a185621b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/DirectorGroup.cs b/Assets/Cinema Director/System/Runtime/TrackGroups/DirectorGroup.cs new file mode 100644 index 0000000..9ac5143 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/DirectorGroup.cs @@ -0,0 +1,10 @@ + +namespace CinemaDirector +{ + /// + /// The Director Group maintains tracks that are not attached to specific actors. + /// + [TrackGroupAttribute("Director Group", TimelineTrackGenre.GlobalTrack)] + public sealed class DirectorGroup : TrackGroup + { } +} \ No newline at end of file diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/DirectorGroup.cs.meta b/Assets/Cinema Director/System/Runtime/TrackGroups/DirectorGroup.cs.meta new file mode 100644 index 0000000..bb558a4 --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/DirectorGroup.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 41c562ff222567246ae2699a1b3300b9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/MultiActorTrackGroup.cs b/Assets/Cinema Director/System/Runtime/TrackGroups/MultiActorTrackGroup.cs new file mode 100644 index 0000000..06ff9aa --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/MultiActorTrackGroup.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace CinemaDirector +{ + /// + /// The MultiActorTrackGroup maintains a list of Actors that have something in + /// common and a set of tracks that act upon those Actors. + /// + [TrackGroupAttribute("MultiActor Track Group", TimelineTrackGenre.MultiActorTrack)] + public class MultiActorTrackGroup : TrackGroup + { + [SerializeField] + private List actors = new List(); + + /// + /// The Actors that this TrackGroup is focused on + /// + public List Actors + { + get + { + return actors; + } + set + { + actors = value; + } + } + } +} diff --git a/Assets/Cinema Director/System/Runtime/TrackGroups/MultiActorTrackGroup.cs.meta b/Assets/Cinema Director/System/Runtime/TrackGroups/MultiActorTrackGroup.cs.meta new file mode 100644 index 0000000..83e8fae --- /dev/null +++ b/Assets/Cinema Director/System/Runtime/TrackGroups/MultiActorTrackGroup.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 53c7c16722d4a664a88a0f3780a7a717 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Cinema Director/Third Party.meta b/Assets/Cinema Director/Third Party.meta new file mode 100644 index 0000000..0d22c77 --- /dev/null +++ b/Assets/Cinema Director/Third Party.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 87661ffef1437c64087321d0bb600f6c +folderAsset: yes +timeCreated: 1461606312 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Third Party/Behavior Designer.meta b/Assets/Cinema Director/Third Party/Behavior Designer.meta new file mode 100644 index 0000000..99d3308 --- /dev/null +++ b/Assets/Cinema Director/Third Party/Behavior Designer.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d7293202ab7667244a6dc28ee7eb0dc3 +folderAsset: yes +timeCreated: 1461606313 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Third Party/Behavior Designer/CinemaDirector_BehaviorDesigner_Integration.unitypackage.meta b/Assets/Cinema Director/Third Party/Behavior Designer/CinemaDirector_BehaviorDesigner_Integration.unitypackage.meta new file mode 100644 index 0000000..c6b032c --- /dev/null +++ b/Assets/Cinema Director/Third Party/Behavior Designer/CinemaDirector_BehaviorDesigner_Integration.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 00dd5fe552c66454dbe1a9304431568e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Third Party/Cinemachine.meta b/Assets/Cinema Director/Third Party/Cinemachine.meta new file mode 100644 index 0000000..1003556 --- /dev/null +++ b/Assets/Cinema Director/Third Party/Cinemachine.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b1dc30827a923ab4f8fedff1f6ddc315 +folderAsset: yes +timeCreated: 1461606313 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Third Party/Cinemachine/Cinemachine_CinemaDirector_Integration.unitypackage.meta b/Assets/Cinema Director/Third Party/Cinemachine/Cinemachine_CinemaDirector_Integration.unitypackage.meta new file mode 100644 index 0000000..17da8aa --- /dev/null +++ b/Assets/Cinema Director/Third Party/Cinemachine/Cinemachine_CinemaDirector_Integration.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f613a1d870a6c7049802bc367fbda0b6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Third Party/NodeCanvas.meta b/Assets/Cinema Director/Third Party/NodeCanvas.meta new file mode 100644 index 0000000..2287562 --- /dev/null +++ b/Assets/Cinema Director/Third Party/NodeCanvas.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 31a98e28730a233479007a4c801f607c +folderAsset: yes +timeCreated: 1461606313 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Third Party/NodeCanvas/NodeCanvas_CinemaDirector_Integration.unitypackage.meta b/Assets/Cinema Director/Third Party/NodeCanvas/NodeCanvas_CinemaDirector_Integration.unitypackage.meta new file mode 100644 index 0000000..d899087 --- /dev/null +++ b/Assets/Cinema Director/Third Party/NodeCanvas/NodeCanvas_CinemaDirector_Integration.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3365e3bfb75519e40a2bf7b491091bf0 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Third Party/Playmaker.meta b/Assets/Cinema Director/Third Party/Playmaker.meta new file mode 100644 index 0000000..1f32651 --- /dev/null +++ b/Assets/Cinema Director/Third Party/Playmaker.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 43e809f6bbe637f4590fec65bb6b7278 +folderAsset: yes +timeCreated: 1461606313 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/Third Party/Playmaker/Playmaker_CinemaDirector_Integration.unitypackage.meta b/Assets/Cinema Director/Third Party/Playmaker/Playmaker_CinemaDirector_Integration.unitypackage.meta new file mode 100644 index 0000000..723d6c5 --- /dev/null +++ b/Assets/Cinema Director/Third Party/Playmaker/Playmaker_CinemaDirector_Integration.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1189fa19477eb9744af4f5a96dac2ba6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cinema Director/link.xml b/Assets/Cinema Director/link.xml new file mode 100644 index 0000000..c2fe533 --- /dev/null +++ b/Assets/Cinema Director/link.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Assets/Cinema Director/link.xml.meta b/Assets/Cinema Director/link.xml.meta new file mode 100644 index 0000000..44f77e3 --- /dev/null +++ b/Assets/Cinema Director/link.xml.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 1d110304dc24ebc499043cc1b997095e +TextScriptImporter: + userData: diff --git a/fie.csproj b/fie.csproj index 2b9581c..0d63266 100644 --- a/fie.csproj +++ b/fie.csproj @@ -2046,6 +2046,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2059,7 +2236,21 @@ - + + + + + + + + + + + + + + + False