修改了不少
This commit is contained in:
parent
0b5c87e4e2
commit
dc6765c015
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,3 +5,4 @@ Intermediate
|
||||
.vs
|
||||
Binaries
|
||||
DefaultProject
|
||||
Build
|
||||
|
@ -1,567 +0,0 @@
|
||||
"../../../Engine/Content/EditorResources/S_Actor.ubulk" 0
|
||||
"../../../Engine/Content/EditorResources/S_Actor.uasset" 1
|
||||
"../../../Engine/Content/EditorResources/S_Actor.uexp" 2
|
||||
"../../../Engine/Content/EditorResources/S_BoxReflectionCapture.uasset" 3
|
||||
"../../../Engine/Content/EditorResources/S_BoxReflectionCapture.uexp" 4
|
||||
"../../../Engine/Content/EngineResources/DefaultTexture.ubulk" 5
|
||||
"../../../Engine/Content/EngineResources/DefaultTexture.uasset" 6
|
||||
"../../../Engine/Content/EngineResources/DefaultTexture.uexp" 7
|
||||
"../../../Engine/Content/EngineResources/DefaultTextureCube.uasset" 8
|
||||
"../../../Engine/Content/EngineResources/DefaultTextureCube.uexp" 9
|
||||
"../../../Engine/Content/EngineResources/DefaultVolumeTexture2D.uasset" 10
|
||||
"../../../Engine/Content/EngineResources/DefaultVolumeTexture2D.uexp" 11
|
||||
"../../../Engine/Content/EngineResources/DefaultVolumeTexture.uasset" 12
|
||||
"../../../Engine/Content/EngineResources/DefaultVolumeTexture.uexp" 13
|
||||
"../../../Engine/Content/EditorResources/S_Trigger.ubulk" 14
|
||||
"../../../Engine/Content/EditorResources/S_Trigger.uasset" 15
|
||||
"../../../Engine/Content/EditorResources/S_Trigger.uexp" 16
|
||||
"../../../Engine/Content/EditorResources/S_TriggerBox.uasset" 17
|
||||
"../../../Engine/Content/EditorResources/S_TriggerBox.uexp" 18
|
||||
"../../../Engine/Content/EditorResources/S_TriggerCapsule.uasset" 19
|
||||
"../../../Engine/Content/EditorResources/S_TriggerCapsule.uexp" 20
|
||||
"../../../Engine/Content/EditorResources/S_TriggerSphere.uasset" 21
|
||||
"../../../Engine/Content/EditorResources/S_TriggerSphere.uexp" 22
|
||||
"../../../Engine/Content/EngineMeshes/Sphere.ubulk" 23
|
||||
"../../../Engine/Content/EngineMeshes/Sphere.uasset" 24
|
||||
"../../../Engine/Content/EngineMeshes/Sphere.uexp" 25
|
||||
"../../../Engine/Content/EngineResources/GradientTexture0.uasset" 26
|
||||
"../../../Engine/Content/EngineResources/GradientTexture0.uexp" 27
|
||||
"../../../Engine/Content/EngineResources/Black.uasset" 28
|
||||
"../../../Engine/Content/EngineResources/Black.uexp" 29
|
||||
"../../../Engine/Content/VREditor/LaserPointer/VR_LaserPower_01.ubulk" 30
|
||||
"../../../Engine/Content/VREditor/LaserPointer/VR_LaserPower_01.uasset" 31
|
||||
"../../../Engine/Content/VREditor/LaserPointer/VR_LaserPower_01.uexp" 32
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/TransformGizmoMaterial.uasset" 33
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/TransformGizmoMaterial.uexp" 34
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/TranslucentTransformGizmoMaterial.uasset" 35
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/TranslucentTransformGizmoMaterial.uexp" 36
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/PlaneTranslationHandle.ubulk" 37
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/PlaneTranslationHandle.uasset" 38
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/PlaneTranslationHandle.uexp" 39
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/BoundingBoxCorner.ubulk" 40
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/BoundingBoxCorner.uasset" 41
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/BoundingBoxCorner.uexp" 42
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/BoundingBoxEdge.ubulk" 43
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/BoundingBoxEdge.uasset" 44
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/BoundingBoxEdge.uexp" 45
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/Main.uasset" 46
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/Main.uexp" 47
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/Xray.uasset" 48
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/Xray.uexp" 49
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/SM_Sequencer_Node.ubulk" 50
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/SM_Sequencer_Node.uasset" 51
|
||||
"../../../Engine/Content/VREditor/TransformGizmo/SM_Sequencer_Node.uexp" 52
|
||||
"../../../Engine/Content/EditorMaterials/Camera/CineMat.uasset" 53
|
||||
"../../../Engine/Content/EditorMaterials/Camera/CineMat.uexp" 54
|
||||
"../../../Engine/Content/EditorMaterials/Camera/MI_CineMat_Rig.uasset" 55
|
||||
"../../../Engine/Content/EditorMaterials/Camera/MI_CineMat_Rig.uexp" 56
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Base.ubulk" 57
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Base.uasset" 58
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Base.uexp" 59
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Arm.ubulk" 60
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Arm.uasset" 61
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Arm.uexp" 62
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Mount.ubulk" 63
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Mount.uasset" 64
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Mount.uexp" 65
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Body.ubulk" 66
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Body.uasset" 67
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_CraneRig_Body.uexp" 68
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_RailRig_Track.ubulk" 69
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_RailRig_Track.uasset" 70
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_RailRig_Track.uexp" 71
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_RailRig_Mount.ubulk" 72
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_RailRig_Mount.uasset" 73
|
||||
"../../../Engine/Content/EditorMeshes/Camera/SM_RailRig_Mount.uexp" 74
|
||||
"../../../Engine/Content/EngineMaterials/T_Default_Material_Grid_M.ubulk" 75
|
||||
"../../../Engine/Content/EngineMaterials/T_Default_Material_Grid_M.uasset" 76
|
||||
"../../../Engine/Content/EngineMaterials/T_Default_Material_Grid_M.uexp" 77
|
||||
"../../../Engine/Content/EngineMaterials/T_Default_Material_Grid_N.ubulk" 78
|
||||
"../../../Engine/Content/EngineMaterials/T_Default_Material_Grid_N.uasset" 79
|
||||
"../../../Engine/Content/EngineMaterials/T_Default_Material_Grid_N.uexp" 80
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions01/Opacity/CameraDepthFade.uasset" 81
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions01/Opacity/CameraDepthFade.uexp" 82
|
||||
"../../../Engine/Content/EngineMaterials/WorldGridMaterial.uasset" 83
|
||||
"../../../Engine/Content/EngineMaterials/WorldGridMaterial.uexp" 84
|
||||
"../../../Engine/Content/ArtTools/RenderToTexture/Meshes/S_1_Unit_Plane.ubulk" 85
|
||||
"../../../Engine/Content/ArtTools/RenderToTexture/Meshes/S_1_Unit_Plane.uasset" 86
|
||||
"../../../Engine/Content/ArtTools/RenderToTexture/Meshes/S_1_Unit_Plane.uexp" 87
|
||||
"../../../Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_NoImage.ubulk" 88
|
||||
"../../../Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_NoImage.uasset" 89
|
||||
"../../../Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_NoImage.uexp" 90
|
||||
"../../../Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_OOD.ubulk" 91
|
||||
"../../../Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_OOD.uasset" 92
|
||||
"../../../Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_OOD.uexp" 93
|
||||
"../../../Engine/Content/EditorLandscapeResources/SplineEditorMeshMat.uasset" 94
|
||||
"../../../Engine/Content/EditorLandscapeResources/SplineEditorMeshMat.uexp" 95
|
||||
"../../../Engine/Content/EditorLandscapeResources/SplineEditorMesh.ubulk" 96
|
||||
"../../../Engine/Content/EditorLandscapeResources/SplineEditorMesh.uasset" 97
|
||||
"../../../Engine/Content/EditorLandscapeResources/SplineEditorMesh.uexp" 98
|
||||
"../../../Engine/Content/EditorResources/S_Solver.ubulk" 99
|
||||
"../../../Engine/Content/EditorResources/S_Solver.uasset" 100
|
||||
"../../../Engine/Content/EditorResources/S_Solver.uexp" 101
|
||||
"../../../Engine/Plugins/Media/MediaPlate/Content/SM_MediaPlateScreen.ubulk" 102
|
||||
"../../../Engine/Plugins/Media/MediaPlate/Content/SM_MediaPlateScreen.uasset" 103
|
||||
"../../../Engine/Plugins/Media/MediaPlate/Content/SM_MediaPlateScreen.uexp" 104
|
||||
"../../../Engine/Content/EngineMaterials/Good64x64TilingNoiseHighFreq.uasset" 105
|
||||
"../../../Engine/Content/EngineMaterials/Good64x64TilingNoiseHighFreq.uexp" 106
|
||||
"../../../Engine/Content/EngineMaterials/DefaultBokeh.uasset" 107
|
||||
"../../../Engine/Content/EngineMaterials/DefaultBokeh.uexp" 108
|
||||
"../../../Engine/Content/EngineMaterials/PreintegratedSkinBRDF.uasset" 109
|
||||
"../../../Engine/Content/EngineMaterials/PreintegratedSkinBRDF.uexp" 110
|
||||
"../../../Engine/Content/EngineMaterials/MiniFont.uasset" 111
|
||||
"../../../Engine/Content/EngineMaterials/MiniFont.uexp" 112
|
||||
"../../../Engine/Content/EngineMaterials/WeightMapPlaceholderTexture.uasset" 113
|
||||
"../../../Engine/Content/EngineMaterials/WeightMapPlaceholderTexture.uexp" 114
|
||||
"../../../Engine/Content/EngineMaterials/DefaultWhiteGrid.ubulk" 115
|
||||
"../../../Engine/Content/EngineMaterials/DefaultWhiteGrid.uasset" 116
|
||||
"../../../Engine/Content/EngineMaterials/DefaultWhiteGrid.uexp" 117
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/CameraOffset.uasset" 118
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/CameraOffset.uexp" 119
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/M_Manip.uasset" 120
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/M_Manip.uexp" 121
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/PlaceholderTextures/DummySpriteTexture.ubulk" 122
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/PlaceholderTextures/DummySpriteTexture.uasset" 123
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/PlaceholderTextures/DummySpriteTexture.uexp" 124
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/DefaultSpriteMaterial.uasset" 125
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/DefaultSpriteMaterial.uexp" 126
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/OpaqueUnlitSpriteMaterial.uasset" 127
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/OpaqueUnlitSpriteMaterial.uexp" 128
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/MaskedUnlitSpriteMaterial.uasset" 129
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/MaskedUnlitSpriteMaterial.uexp" 130
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/DummySprite.uasset" 131
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/DummySprite.uexp" 132
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/DefaultPaperTerrainMaterial.uasset" 133
|
||||
"../../../Engine/Plugins/2D/Paper2D/Content/DefaultPaperTerrainMaterial.uexp" 134
|
||||
"../../../Engine/Content/Animation/DefaultRecorderBoneCompression.uasset" 135
|
||||
"../../../Engine/Content/Animation/DefaultRecorderBoneCompression.uexp" 136
|
||||
"../../../Engine/Content/Animation/DefaultAnimCurveCompressionSettings.uasset" 137
|
||||
"../../../Engine/Content/Animation/DefaultAnimCurveCompressionSettings.uexp" 138
|
||||
"../../../Engine/Content/Animation/DefaultAnimBoneCompressionSettings.uasset" 139
|
||||
"../../../Engine/Content/Animation/DefaultAnimBoneCompressionSettings.uexp" 140
|
||||
"../../../Engine/Content/EngineMaterials/DefaultMaterial.uasset" 141
|
||||
"../../../Engine/Content/EngineMaterials/DefaultMaterial.uexp" 142
|
||||
"../../../Engine/Content/BasicShapes/Sphere.ubulk" 143
|
||||
"../../../Engine/Content/BasicShapes/Sphere.uasset" 144
|
||||
"../../../Engine/Content/BasicShapes/Sphere.uexp" 145
|
||||
"../../../Engine/Content/BasicShapes/Plane.ubulk" 146
|
||||
"../../../Engine/Content/BasicShapes/Plane.uasset" 147
|
||||
"../../../Engine/Content/BasicShapes/Plane.uexp" 148
|
||||
"../../../Engine/Content/BasicShapes/Cylinder.ubulk" 149
|
||||
"../../../Engine/Content/BasicShapes/Cylinder.uasset" 150
|
||||
"../../../Engine/Content/BasicShapes/Cylinder.uexp" 151
|
||||
"../../../Engine/Content/BasicShapes/Cube.ubulk" 152
|
||||
"../../../Engine/Content/BasicShapes/Cube.uasset" 153
|
||||
"../../../Engine/Content/BasicShapes/Cube.uexp" 154
|
||||
"../../../Engine/Content/BasicShapes/Cone.ubulk" 155
|
||||
"../../../Engine/Content/BasicShapes/Cone.uasset" 156
|
||||
"../../../Engine/Content/BasicShapes/Cone.uexp" 157
|
||||
"../../../Engine/Content/EditorMaterials/PreviewShadowIndicator.ubulk" 158
|
||||
"../../../Engine/Content/EditorMaterials/PreviewShadowIndicator.uasset" 159
|
||||
"../../../Engine/Content/EditorMaterials/PreviewShadowIndicator.uexp" 160
|
||||
"../../../Engine/Content/EditorMaterials/PreviewShadowIndicatorMaterial.uasset" 161
|
||||
"../../../Engine/Content/EditorMaterials/PreviewShadowIndicatorMaterial.uexp" 162
|
||||
"../../../Engine/Content/EditorMaterials/PhAT_UnselectedMaterial.uasset" 163
|
||||
"../../../Engine/Content/EditorMaterials/PhAT_UnselectedMaterial.uexp" 164
|
||||
"../../../Engine/Content/EditorMaterials/PhAT_NoCollisionMaterial.uasset" 165
|
||||
"../../../Engine/Content/EditorMaterials/PhAT_NoCollisionMaterial.uexp" 166
|
||||
"../../../Engine/Content/EngineResources/WhiteSquareTexture.uasset" 167
|
||||
"../../../Engine/Content/EngineResources/WhiteSquareTexture.uexp" 168
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough.uasset" 169
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough.uexp" 170
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Translucent.uasset" 171
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Translucent.uexp" 172
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Translucent_OneSided.uasset" 173
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Translucent_OneSided.uexp" 174
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Opaque.uasset" 175
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Opaque.uexp" 176
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Opaque_OneSided.uasset" 177
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Opaque_OneSided.uexp" 178
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Masked_OneSided.uasset" 179
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Masked_OneSided.uexp" 180
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Masked.uasset" 181
|
||||
"../../../Engine/Content/EngineMaterials/Widget3DPassThrough_Masked.uexp" 182
|
||||
"../../../Engine/Content/EngineMaterials/STBlueNoise_vec2_128x128x64.uasset" 183
|
||||
"../../../Engine/Content/EngineMaterials/STBlueNoise_vec2_128x128x64.uexp" 184
|
||||
"../../../Engine/Content/EngineMaterials/STBlueNoise_scalar_128x128x64.uasset" 185
|
||||
"../../../Engine/Content/EngineMaterials/STBlueNoise_scalar_128x128x64.uexp" 186
|
||||
"../../../Engine/Content/EngineMaterials/RemoveSurfaceMaterial.uasset" 187
|
||||
"../../../Engine/Content/EngineMaterials/RemoveSurfaceMaterial.uexp" 188
|
||||
"../../../Engine/Content/EngineMaterials/DefaultCalibrationGrayscale.uasset" 189
|
||||
"../../../Engine/Content/EngineMaterials/DefaultCalibrationGrayscale.uexp" 190
|
||||
"../../../Engine/Content/EngineMaterials/PPM_DefaultCalibrationGrayscale.uasset" 191
|
||||
"../../../Engine/Content/EngineMaterials/PPM_DefaultCalibrationGrayscale.uexp" 192
|
||||
"../../../Engine/Content/EngineMaterials/DefaultCalibrationColor.uasset" 193
|
||||
"../../../Engine/Content/EngineMaterials/DefaultCalibrationColor.uexp" 194
|
||||
"../../../Engine/Content/EngineMaterials/PPM_DefaultCalibrationColor.uasset" 195
|
||||
"../../../Engine/Content/EngineMaterials/PPM_DefaultCalibrationColor.uexp" 196
|
||||
"../../../Engine/Plugins/Runtime/MeshModelingToolset/Content/Materials/M_DynamicMeshComponentVtxColor.uasset" 197
|
||||
"../../../Engine/Plugins/Runtime/MeshModelingToolset/Content/Materials/M_DynamicMeshComponentVtxColor.uexp" 198
|
||||
"../../../Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultTexturePipeline.uasset" 199
|
||||
"../../../Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultTexturePipeline.uexp" 200
|
||||
"../../../Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultSceneLevelPipeline.uasset" 201
|
||||
"../../../Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultSceneLevelPipeline.uexp" 202
|
||||
"../../../Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultSceneAssetsPipeline.uasset" 203
|
||||
"../../../Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultSceneAssetsPipeline.uexp" 204
|
||||
"../../../Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultMaterialPipeline.uasset" 205
|
||||
"../../../Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultMaterialPipeline.uexp" 206
|
||||
"../../../Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultAssetsPipeline.uasset" 207
|
||||
"../../../Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultAssetsPipeline.uexp" 208
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/game_wind_noise.ubulk" 209
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/game_wind_noise.uasset" 210
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/game_wind_noise.uexp" 211
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/UnpackDirection.uasset" 212
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/UnpackDirection.uexp" 213
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/ObjectLocalBounds.uasset" 214
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/ObjectLocalBounds.uexp" 215
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/Utility/BreakOutFloat3Components.uasset" 216
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/Utility/BreakOutFloat3Components.uexp" 217
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/UVs/BoundingBoxBased_0-1_UVW.uasset" 218
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/UVs/BoundingBoxBased_0-1_UVW.uexp" 219
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/Utility/VectorLength.uasset" 220
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/Utility/VectorLength.uexp" 221
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/UnpackInteger3.uasset" 222
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/UnpackInteger3.uexp" 223
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeCameraFacing.uasset" 224
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeCameraFacing.uexp" 225
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/ObjectScale.uasset" 226
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/ObjectScale.uexp" 227
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/SafeNormalize.uasset" 228
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/SafeNormalize.uexp" 229
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeWindMotion.uasset" 230
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeWindMotion.uexp" 231
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBranchMotion.uasset" 232
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBranchMotion.uexp" 233
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeWind.uasset" 234
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeWind.uexp" 235
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/EmptyNormal.uasset" 236
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/EmptyNormal.uexp" 237
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/Empty.uasset" 238
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/Empty.uexp" 239
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeMaster.uasset" 240
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeMaster.uexp" 241
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBillboard.uasset" 242
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBillboard.uexp" 243
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBillboardMaster.uasset" 244
|
||||
"../../../Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBillboardMaster.uexp" 245
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/DefaultGizmoLibraryNormalized.uasset" 246
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/DefaultGizmoLibraryNormalized.uexp" 247
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_solid.ubulk" 248
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_solid.uasset" 249
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_solid.uexp" 250
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_3mm.ubulk" 251
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_3mm.uasset" 252
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_3mm.uexp" 253
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_1mm.ubulk" 254
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_1mm.uasset" 255
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_1mm.uexp" 256
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_solid.ubulk" 257
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_solid.uasset" 258
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_solid.uexp" 259
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_3mm.ubulk" 260
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_3mm.uasset" 261
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_3mm.uexp" 262
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_1mm.ubulk" 263
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_1mm.uasset" 264
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_1mm.uexp" 265
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_solid.ubulk" 266
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_solid.uasset" 267
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_solid.uexp" 268
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_3mm.ubulk" 269
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_3mm.uasset" 270
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_3mm.uexp" 271
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_1mm.ubulk" 272
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_1mm.uasset" 273
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_1mm.uexp" 274
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_solid.ubulk" 275
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_solid.uasset" 276
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_solid.uexp" 277
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_3mm.ubulk" 278
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_3mm.uasset" 279
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_3mm.uexp" 280
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_1mm.ubulk" 281
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_1mm.uasset" 282
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_1mm.uexp" 283
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_solid.ubulk" 284
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_solid.uasset" 285
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_solid.uexp" 286
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_3mm.ubulk" 287
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_3mm.uasset" 288
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_3mm.uexp" 289
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_1mm.ubulk" 290
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_1mm.uasset" 291
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_1mm.uexp" 292
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_solid.ubulk" 293
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_solid.uasset" 294
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_solid.uexp" 295
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_3mm.ubulk" 296
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_3mm.uasset" 297
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_3mm.uexp" 298
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_1mm.ubulk" 299
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_1mm.uasset" 300
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_1mm.uexp" 301
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_solid.ubulk" 302
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_solid.uasset" 303
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_solid.uexp" 304
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_3mm.ubulk" 305
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_3mm.uasset" 306
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_3mm.uexp" 307
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_1mm.ubulk" 308
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_1mm.uasset" 309
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_1mm.uexp" 310
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_solid.ubulk" 311
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_solid.uasset" 312
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_solid.uexp" 313
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_3mm.ubulk" 314
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_3mm.uasset" 315
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_3mm.uexp" 316
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_1mm.ubulk" 317
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_1mm.uasset" 318
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_1mm.uexp" 319
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_solid.ubulk" 320
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_solid.uasset" 321
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_solid.uexp" 322
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_3mm.ubulk" 323
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_3mm.uasset" 324
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_3mm.uexp" 325
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_1mm.ubulk" 326
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_1mm.uasset" 327
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_1mm.uexp" 328
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_solid.ubulk" 329
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_solid.uasset" 330
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_solid.uexp" 331
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_3mm.ubulk" 332
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_3mm.uasset" 333
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_3mm.uexp" 334
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_1mm.ubulk" 335
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_1mm.uasset" 336
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_1mm.uexp" 337
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_solid.ubulk" 338
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_solid.uasset" 339
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_solid.uexp" 340
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_3mm.ubulk" 341
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_3mm.uasset" 342
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_3mm.uexp" 343
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_1mm.ubulk" 344
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_1mm.uasset" 345
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_1mm.uexp" 346
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_solid.ubulk" 347
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_solid.uasset" 348
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_solid.uexp" 349
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_3mm.ubulk" 350
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_3mm.uasset" 351
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_3mm.uexp" 352
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_1mm.ubulk" 353
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_1mm.uasset" 354
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_1mm.uexp" 355
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_solid.ubulk" 356
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_solid.uasset" 357
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_solid.uexp" 358
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_3mm.ubulk" 359
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_3mm.uasset" 360
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_3mm.uexp" 361
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_1mm.ubulk" 362
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_1mm.uasset" 363
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_1mm.uexp" 364
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_solid.ubulk" 365
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_solid.uasset" 366
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_solid.uexp" 367
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_3mm.ubulk" 368
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_3mm.uasset" 369
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_3mm.uexp" 370
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_1mm.ubulk" 371
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_1mm.uasset" 372
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_1mm.uexp" 373
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_solid.ubulk" 374
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_solid.uasset" 375
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_solid.uexp" 376
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_3mm.ubulk" 377
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_3mm.uasset" 378
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_3mm.uexp" 379
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_1mm.ubulk" 380
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_1mm.uasset" 381
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_1mm.uexp" 382
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_solid.ubulk" 383
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_solid.uasset" 384
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_solid.uexp" 385
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_3mm.ubulk" 386
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_3mm.uasset" 387
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_3mm.uexp" 388
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_1mm.ubulk" 389
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_1mm.uasset" 390
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_1mm.uexp" 391
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_solid.ubulk" 392
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_solid.uasset" 393
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_solid.uexp" 394
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_3mm.ubulk" 395
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_3mm.uasset" 396
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_3mm.uexp" 397
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_1mm.ubulk" 398
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_1mm.uasset" 399
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_1mm.uexp" 400
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_solid.ubulk" 401
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_solid.uasset" 402
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_solid.uexp" 403
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_3mm.ubulk" 404
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_3mm.uasset" 405
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_3mm.uexp" 406
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_1mm.ubulk" 407
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_1mm.uasset" 408
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_1mm.uexp" 409
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRigXRayMaterial.uasset" 410
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRigXRayMaterial.uexp" 411
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRigGizmoMaterial.uasset" 412
|
||||
"../../../Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRigGizmoMaterial.uexp" 413
|
||||
"../../../Engine/Content/EngineSounds/Master.uasset" 414
|
||||
"../../../Engine/Content/EngineSounds/Master.uexp" 415
|
||||
"../../../Engine/Content/EngineMaterials/PhAT_JointLimitMaterial.uasset" 416
|
||||
"../../../Engine/Content/EngineMaterials/PhAT_JointLimitMaterial.uexp" 417
|
||||
"../../../Engine/Content/EngineMaterials/NaniteHiddenSectionMaterial.uasset" 418
|
||||
"../../../Engine/Content/EngineMaterials/NaniteHiddenSectionMaterial.uexp" 419
|
||||
"../../../Engine/Content/EngineMaterials/InvalidLightmapSettings.ubulk" 420
|
||||
"../../../Engine/Content/EngineMaterials/InvalidLightmapSettings.uasset" 421
|
||||
"../../../Engine/Content/EngineMaterials/InvalidLightmapSettings.uexp" 422
|
||||
"../../../Engine/Content/EngineMaterials/M_InvalidLightmapSettings.uasset" 423
|
||||
"../../../Engine/Content/EngineMaterials/M_InvalidLightmapSettings.uexp" 424
|
||||
"../../../Engine/Content/EngineMaterials/GizmoMaterial.uasset" 425
|
||||
"../../../Engine/Content/EngineMaterials/GizmoMaterial.uexp" 426
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenEmissiveMap_VT.uasset" 427
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenEmissiveMap_VT.uexp" 428
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenGrayscaleMap_VT.uasset" 429
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenGrayscaleMap_VT.uexp" 430
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenLinearColor_VT.uasset" 431
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenLinearColor_VT.uexp" 432
|
||||
"../../../Engine/Content/EngineMaterials/Black_1x1_EXR_Texture_VT.uasset" 433
|
||||
"../../../Engine/Content/EngineMaterials/Black_1x1_EXR_Texture_VT.uexp" 434
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenDiffuseMap_VT.uasset" 435
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenDiffuseMap_VT.uexp" 436
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenNormalMap_VT.uasset" 437
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenNormalMap_VT.uexp" 438
|
||||
"../../../Engine/Content/EngineMaterials/FlattenMaterial_WS_Normal_VT.uasset" 439
|
||||
"../../../Engine/Content/EngineMaterials/FlattenMaterial_WS_Normal_VT.uexp" 440
|
||||
"../../../Engine/Content/EngineMaterials/FlattenMaterial_VT.uasset" 441
|
||||
"../../../Engine/Content/EngineMaterials/FlattenMaterial_VT.uexp" 442
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenNormalMap.uasset" 443
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenNormalMap.uexp" 444
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenGrayscaleMap.uasset" 445
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenGrayscaleMap.uexp" 446
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenDiffuseMap.uasset" 447
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenDiffuseMap.uexp" 448
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/Black_1x1_EXR_Texture.uasset" 449
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/Black_1x1_EXR_Texture.uexp" 450
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenEmissiveMap.uasset" 451
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenEmissiveMap.uexp" 452
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenLinearColor.uasset" 453
|
||||
"../../../Engine/Content/EngineMaterials/BaseFlattenLinearColor.uexp" 454
|
||||
"../../../Engine/Content/EngineMaterials/FlattenMaterial.uasset" 455
|
||||
"../../../Engine/Content/EngineMaterials/FlattenMaterial.uexp" 456
|
||||
"../../../Engine/Content/EngineMaterials/DefaultWhiteGrid_Low.uasset" 457
|
||||
"../../../Engine/Content/EngineMaterials/DefaultWhiteGrid_Low.uexp" 458
|
||||
"../../../Engine/Content/EngineMaterials/EmissiveMeshMaterial.uasset" 459
|
||||
"../../../Engine/Content/EngineMaterials/EmissiveMeshMaterial.uexp" 460
|
||||
"../../../Engine/Content/EngineFonts/RobotoDistanceField.uasset" 461
|
||||
"../../../Engine/Content/EngineFonts/RobotoDistanceField.uexp" 462
|
||||
"../../../Engine/Content/EngineMaterials/DefaultTextMaterialOpaque.uasset" 463
|
||||
"../../../Engine/Content/EngineMaterials/DefaultTextMaterialOpaque.uexp" 464
|
||||
"../../../Engine/Content/EngineMaterials/DefaultDiffuse.ubulk" 465
|
||||
"../../../Engine/Content/EngineMaterials/DefaultDiffuse.uasset" 466
|
||||
"../../../Engine/Content/EngineMaterials/DefaultDiffuse.uexp" 467
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/Utility/BreakOutFloat2Components.uasset" 468
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/Utility/BreakOutFloat2Components.uexp" 469
|
||||
"../../../Engine/Content/EngineMaterials/DefaultPostProcessMaterial.uasset" 470
|
||||
"../../../Engine/Content/EngineMaterials/DefaultPostProcessMaterial.uexp" 471
|
||||
"../../../Engine/Content/EngineMaterials/DefaultPhysicalMaterial.uasset" 472
|
||||
"../../../Engine/Content/EngineMaterials/DefaultPhysicalMaterial.uexp" 473
|
||||
"../../../Engine/Content/EngineMaterials/DefaultLightFunctionMaterial.uasset" 474
|
||||
"../../../Engine/Content/EngineMaterials/DefaultLightFunctionMaterial.uexp" 475
|
||||
"../../../Engine/Content/EngineMaterials/DefaultDestructiblePhysicalMaterial.uasset" 476
|
||||
"../../../Engine/Content/EngineMaterials/DefaultDestructiblePhysicalMaterial.uexp" 477
|
||||
"../../../Engine/Content/EngineMaterials/DefaultDeferredDecalMaterial.uasset" 478
|
||||
"../../../Engine/Content/EngineMaterials/DefaultDeferredDecalMaterial.uexp" 479
|
||||
"../../../Engine/Content/EngineMaterials/DefaultBloomKernel.uasset" 480
|
||||
"../../../Engine/Content/EngineMaterials/DefaultBloomKernel.uexp" 481
|
||||
"../../../Engine/Content/MobileResources/HUD/VirtualJoystick_Background.uasset" 482
|
||||
"../../../Engine/Content/MobileResources/HUD/VirtualJoystick_Background.uexp" 483
|
||||
"../../../Engine/Content/MobileResources/HUD/VirtualJoystick_Thumb.uasset" 484
|
||||
"../../../Engine/Content/MobileResources/HUD/VirtualJoystick_Thumb.uexp" 485
|
||||
"../../../Engine/Content/MobileResources/HUD/DefaultVirtualJoysticks.uasset" 486
|
||||
"../../../Engine/Content/MobileResources/HUD/DefaultVirtualJoysticks.uexp" 487
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/CloudWeatherTexture.uasset" 488
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/CloudWeatherTexture.uexp" 489
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/Utility/MakeFloat2.uasset" 490
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/Utility/MakeFloat2.uexp" 491
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/CloudGradientTexture.uasset" 492
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/CloudGradientTexture.uexp" 493
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/T_NoiseShape64.ubulk" 494
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/T_NoiseShape64.uasset" 495
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/T_NoiseShape64.uexp" 496
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/T_VolumeNoiseShape64.uasset" 497
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/T_VolumeNoiseShape64.uexp" 498
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/T_NoiseErosion.ubulk" 499
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/T_NoiseErosion.uasset" 500
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/T_NoiseErosion.uexp" 501
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/T_VolumeNoiseErosion32.uasset" 502
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/T_VolumeNoiseErosion32.uexp" 503
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/m_SimpleVolumetricCloud.uasset" 504
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/m_SimpleVolumetricCloud.uexp" 505
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/m_SimpleVolumetricCloud_Inst.uasset" 506
|
||||
"../../../Engine/Content/EngineSky/VolumetricClouds/m_SimpleVolumetricCloud_Inst.uexp" 507
|
||||
"../../../Engine/Content/EngineResources/FilmGrains/Marcie_Grain_v3_128_M2_000.uasset" 508
|
||||
"../../../Engine/Content/EngineResources/FilmGrains/Marcie_Grain_v3_128_M2_000.uexp" 509
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoLight.uexp" 510
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoLight.uasset" 511
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoLight.ufont" 512
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoBold.uexp" 513
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoBold.uasset" 514
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoBold.ufont" 515
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoRegular.uexp" 516
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoRegular.uasset" 517
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoRegular.ufont" 518
|
||||
"../../../Engine/Content/EngineFonts/Faces/DroidSansFallback.uexp" 519
|
||||
"../../../Engine/Content/EngineFonts/Faces/DroidSansFallback.uasset" 520
|
||||
"../../../Engine/Content/EngineFonts/Faces/DroidSansFallback.ufont" 521
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoItalic.uexp" 522
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoItalic.uasset" 523
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoItalic.ufont" 524
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoBoldItalic.uexp" 525
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoBoldItalic.uasset" 526
|
||||
"../../../Engine/Content/EngineFonts/Faces/RobotoBoldItalic.ufont" 527
|
||||
"../../../Engine/Content/EngineFonts/Roboto.uasset" 528
|
||||
"../../../Engine/Content/EngineFonts/Roboto.uexp" 529
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/Utility/CameraDirectionVector.uasset" 530
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions02/Utility/CameraDirectionVector.uexp" 531
|
||||
"../../../Engine/Content/EngineDebugMaterials/VolumeToRender.uasset" 532
|
||||
"../../../Engine/Content/EngineDebugMaterials/VolumeToRender.uexp" 533
|
||||
"../../../Engine/Content/EngineDebugMaterials/M_VolumeRenderSphereTracePP.uasset" 534
|
||||
"../../../Engine/Content/EngineDebugMaterials/M_VolumeRenderSphereTracePP.uexp" 535
|
||||
"../../../Engine/Content/EngineDebugMaterials/M_SimpleUnlitTranslucent.uasset" 536
|
||||
"../../../Engine/Content/EngineDebugMaterials/M_SimpleUnlitTranslucent.uexp" 537
|
||||
"../../../Engine/Content/EngineDebugMaterials/DebugMeshMaterial.uasset" 538
|
||||
"../../../Engine/Content/EngineDebugMaterials/DebugMeshMaterial.uexp" 539
|
||||
"../../../Engine/Content/EngineDebugMaterials/DebugEditorMaterial.uasset" 540
|
||||
"../../../Engine/Content/EngineDebugMaterials/DebugEditorMaterial.uexp" 541
|
||||
"../../../Engine/Content/EngineDamageTypes/DmgTypeBP_Environmental.uasset" 542
|
||||
"../../../Engine/Content/EngineDamageTypes/DmgTypeBP_Environmental.uexp" 543
|
||||
"../../../Engine/Content/EditorResources/S_Terrain.ubulk" 544
|
||||
"../../../Engine/Content/EditorResources/S_Terrain.uasset" 545
|
||||
"../../../Engine/Content/EditorResources/S_Terrain.uexp" 546
|
||||
"../../../Engine/Content/EditorResources/BSPVertex.uasset" 547
|
||||
"../../../Engine/Content/EditorResources/BSPVertex.uexp" 548
|
||||
"../../../Engine/Content/EditorResources/SequenceRecorder/RecordingIndicator.uasset" 549
|
||||
"../../../Engine/Content/EditorResources/SequenceRecorder/RecordingIndicator.uexp" 550
|
||||
"../../../Engine/Content/EditorResources/SequenceRecorder/Countdown.uasset" 551
|
||||
"../../../Engine/Content/EditorResources/SequenceRecorder/Countdown.uexp" 552
|
||||
"../../../Engine/Content/EditorLandscapeResources/DefaultAlphaTexture.uasset" 553
|
||||
"../../../Engine/Content/EditorLandscapeResources/DefaultAlphaTexture.uexp" 554
|
||||
"../../../Engine/Content/EditorLandscapeResources/DataLayer.uasset" 555
|
||||
"../../../Engine/Content/EditorLandscapeResources/DataLayer.uexp" 556
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions01/Shading/PowerToRoughness.uasset" 557
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions01/Shading/PowerToRoughness.uexp" 558
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions01/Shading/ConvertFromDiffSpec.uasset" 559
|
||||
"../../../Engine/Content/Functions/Engine_MaterialFunctions01/Shading/ConvertFromDiffSpec.uexp" 560
|
||||
"D:/Project/Cut5/Content/MainMap.uexp" 561
|
||||
"D:/Project/Cut5/Content/MainMap.umap" 562
|
||||
"../../../Engine/Content/Maps/Entry_BuiltData.uasset" 563
|
||||
"../../../Engine/Content/Maps/Entry_BuiltData.uexp" 564
|
||||
"../../../Engine/Content/Maps/Entry.uexp" 565
|
||||
"../../../Engine/Content/Maps/Entry.umap" 566
|
File diff suppressed because it is too large
Load Diff
BIN
DefaultProject.cutlink
Normal file
BIN
DefaultProject.cutlink
Normal file
Binary file not shown.
BIN
Resources/Black.png
Normal file
BIN
Resources/Black.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 143 B |
BIN
Resources/EngineLogo.png
Normal file
BIN
Resources/EngineLogo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
@ -36,6 +36,7 @@ public:
|
||||
virtual void AddNewCard(FEffectCardProperty& CardProperty, FString GroupName) {};
|
||||
virtual void OpenTimeline(const FString& TimelineName, bool NeedSaveBefore = false) {};
|
||||
virtual void OpenProject(const FString& Project) {};
|
||||
virtual void PreNewProject() {};
|
||||
virtual void ExportProject(const FString& ExportPath) {};
|
||||
virtual void ImportProject(const FString& ImportPath) {};
|
||||
virtual void NewProject(const FString& NewPath){};
|
||||
|
@ -84,8 +84,8 @@ FString FFFMPEGUtils::LoadMedia(const FString& Path, FTimelinePropertyData* Prop
|
||||
Texture->UpdateResource();
|
||||
|
||||
FGuid Guid = FGuid::NewGuid();
|
||||
ExportImage(Texture, *FPaths::Combine(FPaths::ProjectSavedDir(), FGlobalData::CurrentProjectName, "Resources", "Thumbnail", Guid.ToString() + ".png"));
|
||||
PropertyData->IconPath = FPaths::Combine(FPaths::ProjectSavedDir(), FGlobalData::CurrentProjectName, "Resources", "Thumbnail", Guid.ToString() + ".png");
|
||||
ExportImage(Texture, *FPaths::Combine(FGlobalData::BasePath, FGlobalData::CurrentProjectName, "Resources", "Thumbnail", Guid.ToString() + ".png"));
|
||||
PropertyData->IconPath = FPaths::Combine(FGlobalData::BasePath, FGlobalData::CurrentProjectName, "Resources", "Thumbnail", Guid.ToString() + ".png");
|
||||
delete RawData;
|
||||
}
|
||||
}
|
||||
|
@ -33,6 +33,7 @@ public:
|
||||
};
|
||||
static FString MainSaveFullPath()
|
||||
{
|
||||
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::White, FGlobalData::BasePath);
|
||||
return FPaths::Combine(FGlobalData::BasePath, FGlobalData::CurrentProjectName, FGlobalData::CurrentProjectName + TEXT(".bin"));
|
||||
};
|
||||
};
|
||||
|
13
Source/Cut5/Widgets/Commands/MainMenuCommands.cpp
Normal file
13
Source/Cut5/Widgets/Commands/MainMenuCommands.cpp
Normal file
@ -0,0 +1,13 @@
|
||||
#include "MainMenuCommands.h"
|
||||
|
||||
#define LOCTEXT_NAMESPACE "FTimelineClipCommands"
|
||||
void FMainMenuCommands::RegisterCommands()
|
||||
{
|
||||
UI_COMMAND(NewProject, "新建", "Executes My TimelineClipCommands", EUserInterfaceActionType::Button, FInputChord());
|
||||
UI_COMMAND(OpenProject, "打开", "Executes My TimelineClipCommands", EUserInterfaceActionType::Button, FInputChord());
|
||||
UI_COMMAND(SaveProject, "保存", "Executes My TimelineClipCommands", EUserInterfaceActionType::Button, FInputChord());
|
||||
UI_COMMAND(SaveProjectAs, "另存为", "Executes My TimelineClipCommands", EUserInterfaceActionType::Button, FInputChord());
|
||||
UI_COMMAND(Setting, "设置", "Executes My TimelineClipCommands", EUserInterfaceActionType::Button, FInputChord());
|
||||
UI_COMMAND(Exit, "退出", "Executes My TimelineClipCommands", EUserInterfaceActionType::Button, FInputChord());
|
||||
}
|
||||
#undef LOCTEXT_NAMESPACE
|
26
Source/Cut5/Widgets/Commands/MainMenuCommands.h
Normal file
26
Source/Cut5/Widgets/Commands/MainMenuCommands.h
Normal file
@ -0,0 +1,26 @@
|
||||
|
||||
|
||||
#pragma once
|
||||
#include "CoreMinimal.h"
|
||||
#include "Framework/Commands/Commands.h"
|
||||
|
||||
class FMainMenuCommands : public TCommands<FMainMenuCommands>
|
||||
{
|
||||
public:
|
||||
|
||||
FMainMenuCommands()
|
||||
: TCommands<FMainMenuCommands>(TEXT("FMainMenuCommands"), NSLOCTEXT("Contexts", "FMainMenuCommands", "FMainMenuCommands"), NAME_None, FAppStyle::GetAppStyleSetName())
|
||||
{
|
||||
// 这里可以设置你的命令的默认键盘快捷键
|
||||
}
|
||||
|
||||
// TCommands<> 接口
|
||||
virtual void RegisterCommands() override;
|
||||
|
||||
TSharedPtr<FUICommandInfo> NewProject;
|
||||
TSharedPtr<FUICommandInfo> OpenProject;
|
||||
TSharedPtr<FUICommandInfo> SaveProject;
|
||||
TSharedPtr<FUICommandInfo> SaveProjectAs;
|
||||
TSharedPtr<FUICommandInfo> Setting;
|
||||
TSharedPtr<FUICommandInfo> Exit;
|
||||
};
|
86
Source/Cut5/Widgets/Curtain/SCurtain.cpp
Normal file
86
Source/Cut5/Widgets/Curtain/SCurtain.cpp
Normal file
@ -0,0 +1,86 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "SCurtain.h"
|
||||
|
||||
#include "SCurtainPanel.h"
|
||||
#include "SlateOptMacros.h"
|
||||
#include "Cut5/Utils/Utils.h"
|
||||
#include "Widgets/Text/SInlineEditableTextBlock.h"
|
||||
|
||||
BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
||||
|
||||
void SCurtain::Construct(const FArguments& InArgs)
|
||||
{
|
||||
Curtain = InArgs._Curtain;
|
||||
CurtainPanel = InArgs._CurtainPanel;
|
||||
CurtainGroup = InArgs._CurtainGroup;
|
||||
CurtainIndex = InArgs._CurtainIndex;
|
||||
ChildSlot
|
||||
[
|
||||
SNew(SBox)
|
||||
.WidthOverride(257)
|
||||
.HeightOverride(50)
|
||||
[
|
||||
SNew(SOverlay)
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SNew(SImage)
|
||||
.ColorAndOpacity(Curtain->bIsActive ? FLinearColor(0.5, 0.5, 1.0, 1) : FLinearColor(1, 1, 1, 1))
|
||||
.Image(FUtils::GetBrushFromImage(FUtils::GetResourcesPath("BackGround.png"), {}))
|
||||
.OnMouseButtonDown_Lambda([this](const FGeometry& Geometry, const FPointerEvent& Event)
|
||||
{
|
||||
CurtainPanel->DeSelectedAll();
|
||||
Curtain->bIsActive = true;
|
||||
CurtainPanel->CallRender();
|
||||
|
||||
TSharedPtr<FCurtainDragDrop> CurtainDragDrop = MakeShared<FCurtainDragDrop>();
|
||||
CurtainDragDrop->CurtainIndex = CurtainIndex;
|
||||
CurtainDragDrop->GroupIndex = CurtainGroup - &CurtainPanel->Groups[0];
|
||||
CurtainDragDrop->DragDropType = FCutDragDropBase::EType::CurtainDrag;
|
||||
CurtainDragDrop->DraggingWidget = SharedThis(this);
|
||||
return FReply::Handled().DetectDrag(SharedThis(this), EKeys::LeftMouseButton).BeginDragDrop(CurtainDragDrop.ToSharedRef());
|
||||
})
|
||||
]
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Left)
|
||||
.VAlign(VAlign_Center)
|
||||
[
|
||||
SNew(SInlineEditableTextBlock)
|
||||
.Text(FText::FromString(Curtain->CurtainName))
|
||||
.OnTextCommitted_Lambda([this](const FText& Text, ETextCommit::Type CommitType)
|
||||
{
|
||||
Curtain->CurtainName = Text.ToString();
|
||||
CurtainPanel->CallRender();
|
||||
})
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
FReply SCurtain::OnDragDetected(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent)
|
||||
{
|
||||
|
||||
|
||||
|
||||
return FReply::Handled();
|
||||
}
|
||||
|
||||
FReply SCurtain::OnDrop(const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent)
|
||||
{
|
||||
TSharedPtr<FCurtainDragDrop> CurtainDragDrop = DragDropEvent.GetOperationAs<FCurtainDragDrop>();
|
||||
if (CurtainDragDrop.IsValid())
|
||||
{
|
||||
if (CurtainDragDrop->DragDropType == FCutDragDropBase::EType::CurtainDrag)
|
||||
{
|
||||
CurtainPanel->Move(CurtainDragDrop->CurtainIndex, CurtainIndex, CurtainDragDrop->GroupIndex, CurtainGroup - &CurtainPanel->Groups[0]);
|
||||
return FReply::Handled().EndDragDrop();
|
||||
}
|
||||
}
|
||||
return FReply::Handled();
|
||||
}
|
||||
|
||||
END_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
32
Source/Cut5/Widgets/Curtain/SCurtain.h
Normal file
32
Source/Cut5/Widgets/Curtain/SCurtain.h
Normal file
@ -0,0 +1,32 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Cut5/Widgets/DefineGlobal.h"
|
||||
#include "Widgets/SCompoundWidget.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class CUT5_API SCurtain : public SCompoundWidget
|
||||
{
|
||||
public:
|
||||
SLATE_BEGIN_ARGS(SCurtain)
|
||||
{
|
||||
}
|
||||
SLATE_ARGUMENT(FCurtainGroup*, CurtainGroup)
|
||||
SLATE_ARGUMENT(FCurtain*, Curtain)
|
||||
SLATE_ARGUMENT(class SCurtainPanel*, CurtainPanel)
|
||||
SLATE_ARGUMENT(int32, CurtainIndex)
|
||||
SLATE_END_ARGS()
|
||||
|
||||
/** Constructs this widget with InArgs */
|
||||
void Construct(const FArguments& InArgs);
|
||||
virtual FReply OnDragDetected(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
|
||||
virtual FReply OnDrop(const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent) override;
|
||||
SCurtainPanel* CurtainPanel;
|
||||
FCurtain* Curtain;
|
||||
FCurtainGroup* CurtainGroup;
|
||||
int32 CurtainIndex;
|
||||
};
|
116
Source/Cut5/Widgets/Curtain/SCurtainGroup.cpp
Normal file
116
Source/Cut5/Widgets/Curtain/SCurtainGroup.cpp
Normal file
@ -0,0 +1,116 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "SCurtainGroup.h"
|
||||
|
||||
#include "SCurtain.h"
|
||||
#include "SCurtainPanel.h"
|
||||
#include "SlateOptMacros.h"
|
||||
#include "Cut5/Utils/Utils.h"
|
||||
#include "Widgets/Layout/SExpandableArea.h"
|
||||
#include "Widgets/Text/SInlineEditableTextBlock.h"
|
||||
|
||||
BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
||||
|
||||
void SCurtainGroup::Construct(const FArguments& InArgs)
|
||||
{
|
||||
CurtainGroup = InArgs._CurtainGroup;
|
||||
CurtainPanel = InArgs._CurtainPanel;
|
||||
ChildSlot
|
||||
[
|
||||
SNew(SBox)
|
||||
.WidthOverride(257)
|
||||
.Padding(3)
|
||||
[
|
||||
SNew(SOverlay)
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SNew(SBorder)
|
||||
.ColorAndOpacity(CurtainGroup->bIsActive ? FLinearColor(0.5, 0.5, 1.0, 1) : FLinearColor(1, 1, 1, 1))
|
||||
]
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SNew(SImage)
|
||||
.Image(FUtils::GetBrushFromImage(FUtils::GetResourcesPath("BackGround.png"), {}))
|
||||
.ColorAndOpacity(CurtainGroup->bIsActive ? FLinearColor(0.5, 0.5, 1.0, 1) : FLinearColor(1, 1, 1, 1))
|
||||
.OnMouseButtonDown_Lambda([this](const FGeometry& Geometry, const FPointerEvent& Event)
|
||||
{
|
||||
CurtainPanel->DeSelectedAll();
|
||||
CurtainGroup->bIsActive = true;
|
||||
CallRender();
|
||||
return FReply::Handled();
|
||||
})
|
||||
]
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SNew(SExpandableArea)
|
||||
.OnAreaExpansionChanged_Lambda([this](bool bIsExpanded)
|
||||
{
|
||||
CurtainPanel->DeSelectedAll();
|
||||
CurtainGroup->bIsActive = true;
|
||||
CallRender();
|
||||
})
|
||||
.HeaderContent()
|
||||
[
|
||||
SNew(SInlineEditableTextBlock)
|
||||
.Text(FText::FromString(CurtainGroup->GroupName))
|
||||
.OnVerifyTextChanged_Lambda([](const FText& Text, FText& ErrorMessage)
|
||||
{
|
||||
if (Text.ToString() == "")
|
||||
{
|
||||
ErrorMessage = FText::FromString(TEXT("组名不能为空"));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
})
|
||||
]
|
||||
.BodyContent()
|
||||
[
|
||||
SAssignNew(ContentVerticalBox, SVerticalBox)
|
||||
]
|
||||
]
|
||||
|
||||
]
|
||||
];
|
||||
CallRender();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SCurtainGroup::CallRender()
|
||||
{
|
||||
ContentVerticalBox->ClearChildren();
|
||||
for (FCurtain& Curtain : CurtainGroup->Curtains)
|
||||
{
|
||||
ContentVerticalBox->AddSlot()
|
||||
[
|
||||
SNew(SCurtain)
|
||||
.Curtain(&Curtain)
|
||||
.CurtainGroup(CurtainGroup)
|
||||
.CurtainPanel(CurtainPanel)
|
||||
.CurtainIndex(&Curtain - &CurtainGroup->Curtains[0])
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
FReply SCurtainGroup::OnDrop(const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent)
|
||||
{
|
||||
TSharedPtr<FCurtainDragDrop> CurtainDragDrop = DragDropEvent.GetOperationAs<FCurtainDragDrop>();
|
||||
if (CurtainDragDrop.IsValid())
|
||||
{
|
||||
if (CurtainDragDrop->DragDropType == FCutDragDropBase::EType::CurtainDrag)
|
||||
{
|
||||
CurtainPanel->Move(CurtainDragDrop->CurtainIndex, 0, CurtainDragDrop->GroupIndex, CurtainGroup - &CurtainPanel->Groups[0]);
|
||||
return FReply::Handled().EndDragDrop();
|
||||
}
|
||||
}
|
||||
return FReply::Handled();
|
||||
}
|
||||
|
||||
END_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
34
Source/Cut5/Widgets/Curtain/SCurtainGroup.h
Normal file
34
Source/Cut5/Widgets/Curtain/SCurtainGroup.h
Normal file
@ -0,0 +1,34 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Cut5/Widgets/DefineGlobal.h"
|
||||
#include "Widgets/SCompoundWidget.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class CUT5_API SCurtainGroup : public SCompoundWidget
|
||||
{
|
||||
public:
|
||||
SLATE_BEGIN_ARGS(SCurtainGroup)
|
||||
{
|
||||
}
|
||||
SLATE_ARGUMENT(FCurtainGroup*, CurtainGroup)
|
||||
SLATE_ARGUMENT(class SCurtainPanel*, CurtainPanel)
|
||||
SLATE_END_ARGS()
|
||||
|
||||
/** Constructs this widget with InArgs */
|
||||
void Construct(const FArguments& InArgs);
|
||||
|
||||
FCurtainGroup* CurtainGroup;
|
||||
|
||||
SCurtainPanel* CurtainPanel;
|
||||
|
||||
TSharedPtr<SVerticalBox> ContentVerticalBox;
|
||||
|
||||
void CallRender();
|
||||
|
||||
virtual FReply OnDrop(const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent) override;
|
||||
};
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include "DesktopPlatformModule.h"
|
||||
#include "IDesktopPlatform.h"
|
||||
#include "SCurtainTree.h"
|
||||
|
||||
#include "SlateOptMacros.h"
|
||||
#include "Cut5/Interface/CutMainWidgetInterface.h"
|
||||
#include "Cut5/Utils/Utils.h"
|
||||
@ -62,79 +62,6 @@ void SCurtainPanel::Construct(const FArguments& InArgs)
|
||||
]
|
||||
+ SVerticalBox::Slot()
|
||||
.SizeParam(FAuto())
|
||||
[
|
||||
SNew(SBox)
|
||||
.WidthOverride(100)
|
||||
.HeightOverride(50)
|
||||
[
|
||||
SNew(SButton)
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
FString String;
|
||||
IDesktopPlatform* DesktopPlatform = FDesktopPlatformModule::Get();
|
||||
DesktopPlatform->OpenDirectoryDialog(nullptr, TEXT("选择新建路径"), String, String);
|
||||
MainWidgetInterface->NewProject(String);
|
||||
return FReply::Handled();
|
||||
})
|
||||
.Text(FText::FromString(TEXT("新建")))
|
||||
]
|
||||
|
||||
]
|
||||
+ SVerticalBox::Slot()
|
||||
.SizeParam(FAuto())
|
||||
[
|
||||
SNew(SBox)
|
||||
.WidthOverride(100)
|
||||
.HeightOverride(50)
|
||||
[
|
||||
SNew(SButton)
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
FString String;
|
||||
IDesktopPlatform* DesktopPlatform = FDesktopPlatformModule::Get();
|
||||
DesktopPlatform->OpenDirectoryDialog(nullptr, TEXT("选择导出路径"), String, String);
|
||||
MainWidgetInterface->ExportProject(String);
|
||||
return FReply::Handled();
|
||||
})
|
||||
.Text(FText::FromString(TEXT("导出")))
|
||||
]
|
||||
|
||||
]
|
||||
+ SVerticalBox::Slot()
|
||||
.SizeParam(FAuto())
|
||||
[
|
||||
SNew(SBox)
|
||||
.WidthOverride(100)
|
||||
.HeightOverride(50)
|
||||
[
|
||||
SNew(SButton)
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
MainWidgetInterface->ImportProject("");
|
||||
return FReply::Handled();
|
||||
})
|
||||
.Text(FText::FromString(TEXT("导入")))
|
||||
]
|
||||
|
||||
]
|
||||
+ SVerticalBox::Slot()
|
||||
.SizeParam(FAuto())
|
||||
[
|
||||
SNew(SBox)
|
||||
.WidthOverride(100)
|
||||
.HeightOverride(50)
|
||||
[
|
||||
SNew(SButton)
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
return FReply::Handled();
|
||||
})
|
||||
.Text(FText::FromString(TEXT("保存项目")))
|
||||
]
|
||||
|
||||
]
|
||||
+ SVerticalBox::Slot()
|
||||
.SizeParam(FAuto())
|
||||
[
|
||||
SNew(SSeparator)
|
||||
]
|
||||
@ -158,7 +85,8 @@ void SCurtainPanel::Construct(const FArguments& InArgs)
|
||||
SNew(SButton)
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
AddNewCurtain();
|
||||
Groups.Add(FCurtainGroup());
|
||||
CallRender();
|
||||
return FReply::Handled();
|
||||
})
|
||||
]
|
||||
@ -177,11 +105,22 @@ void SCurtainPanel::Construct(const FArguments& InArgs)
|
||||
SNew(SButton)
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
if (CurrentSelectedTree < Trees.Num())
|
||||
int32 i = 0;
|
||||
for (FCurtainGroup& Group : Groups)
|
||||
{
|
||||
Trees[CurrentSelectedTree]->AddNewStep();
|
||||
}
|
||||
for (FCurtain& Curtain : Group.Curtains)
|
||||
{
|
||||
if (Curtain.bIsActive)
|
||||
{
|
||||
AddNewCurtain(i);
|
||||
return FReply::Handled();
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
AddNewCurtain(0);
|
||||
return FReply::Handled();
|
||||
|
||||
})
|
||||
]
|
||||
+ SOverlay::Slot()
|
||||
@ -199,22 +138,73 @@ void SCurtainPanel::Construct(const FArguments& InArgs)
|
||||
];
|
||||
}
|
||||
|
||||
void SCurtainPanel::AddNewCurtain()
|
||||
void SCurtainPanel::AddNewCurtain(int32 Index)
|
||||
{
|
||||
if (ScrollBox)
|
||||
{
|
||||
Trees.Add(SNew(SCurtainTree).CurtainPanel(SharedThis(this)));
|
||||
ScrollBox->AddSlot()
|
||||
.Padding(0 , 1)
|
||||
[
|
||||
Trees[Trees.Num() - 1].ToSharedRef()
|
||||
];
|
||||
if (Index < Groups.Num())
|
||||
{
|
||||
Groups[Index].Curtains.Add(FCurtain());
|
||||
CallRender();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void SCurtainPanel::UnSelectAllCurtain()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SCurtainPanel::CallRender()
|
||||
{
|
||||
ScrollBox->ClearChildren();
|
||||
for (FCurtainGroup& Group : Groups)
|
||||
{
|
||||
ScrollBox->AddSlot()
|
||||
[
|
||||
SNew(SCurtainGroup)
|
||||
.CurtainGroup(&Group)
|
||||
.CurtainPanel(this)
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
void SCurtainPanel::DeSelectedAll()
|
||||
{
|
||||
for (FCurtainGroup& Group : Groups)
|
||||
{
|
||||
for (FCurtain& Curtain : Group.Curtains)
|
||||
{
|
||||
Curtain.bIsActive = false;
|
||||
}
|
||||
Group.bIsActive = false;
|
||||
}
|
||||
}
|
||||
|
||||
void SCurtainPanel::Move(int32 SrcCurtainIndex, int32 DstCurtainIndex, int32 SrcGroupIndex, int32 DstGroupIndex)
|
||||
{
|
||||
const FCurtain OriginCurtain = Groups[SrcGroupIndex].Curtains[SrcCurtainIndex];
|
||||
if (SrcGroupIndex == DstGroupIndex)
|
||||
{
|
||||
if (DstCurtainIndex - SrcCurtainIndex > 0)
|
||||
{
|
||||
Groups[SrcGroupIndex].Curtains.RemoveAt(SrcCurtainIndex);
|
||||
Groups[SrcGroupIndex].Curtains.Insert(OriginCurtain, DstCurtainIndex - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
Groups[SrcGroupIndex].Curtains.RemoveAt(SrcCurtainIndex);
|
||||
Groups[SrcGroupIndex].Curtains.Insert(OriginCurtain, DstCurtainIndex);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Groups[SrcGroupIndex].Curtains.RemoveAt(SrcCurtainIndex);
|
||||
Groups[DstGroupIndex].Curtains.Insert(OriginCurtain, DstCurtainIndex);
|
||||
}
|
||||
|
||||
CallRender();
|
||||
}
|
||||
|
||||
END_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
||||
|
@ -3,6 +3,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "SCurtainGroup.h"
|
||||
#include "Cut5/Interface/CutMainWidgetInterface.h"
|
||||
#include "Widgets/SCompoundWidget.h"
|
||||
#include "Widgets/Views/STreeView.h"
|
||||
@ -31,13 +32,17 @@ public:
|
||||
/** Constructs this widget with InArgs */
|
||||
void Construct(const FArguments& InArgs);
|
||||
|
||||
void AddNewCurtain();
|
||||
void AddNewCurtain(int32 Index);
|
||||
void UnSelectAllCurtain();
|
||||
|
||||
void CallRender();
|
||||
void DeSelectedAll();
|
||||
void Move(int32 SrcCurtainIndex = 0, int32 DstCurtainIndex = 0, int32 SrcGroupIndex = 0, int32 DstGroupIndex = 0);
|
||||
ICutMainWidgetInterface* MainWidgetInterface = nullptr;
|
||||
int32 CurrentSelectedTree = 0;
|
||||
TArray<TSharedPtr<SCurtainTree>> Trees;
|
||||
TSharedPtr<SScrollBox> ScrollBox;
|
||||
TSharedPtr<FUICommandList> CommandList;
|
||||
TSharedPtr<STextBlock> Title;
|
||||
|
||||
TArray<FCurtainGroup> Groups;
|
||||
};
|
||||
|
@ -1,92 +0,0 @@
|
||||
#include "SCurtainTree.h"
|
||||
|
||||
#include "Cut5/Widgets/MicroWidgets/SClickEditableText.h"
|
||||
#include "Widgets/Input/SEditableTextBox.h"
|
||||
#include "Widgets/Layout/SExpandableArea.h"
|
||||
#include "Widgets/Text/SInlineEditableTextBlock.h"
|
||||
|
||||
void SCurtainTree::Construct(const FArguments& InArgs)
|
||||
{
|
||||
CurtainPanel = InArgs._CurtainPanel;
|
||||
RootCurtain.Add(MakeShared<FCurtain>());
|
||||
ChildSlot
|
||||
[
|
||||
SAssignNew(ExpandableArea, SExpandableArea)
|
||||
.HeaderContent()
|
||||
[
|
||||
SNew(SInlineEditableTextBlock)
|
||||
.Text(FText::FromString(RootCurtain[0]->CurtainName))
|
||||
.OnTextCommitted_Lambda([&](const FText& InText, ETextCommit::Type InCommitType)
|
||||
{
|
||||
RootCurtain[0]->CurtainName = InText.ToString();
|
||||
})
|
||||
|
||||
]
|
||||
.BodyContent()
|
||||
[
|
||||
SNew(SOverlay)
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SNew(SButton)
|
||||
]
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SAssignNew(TreeView, STreeView<TSharedPtr<FCurtain>>)
|
||||
.OnGenerateRow(this, &SCurtainTree::GenerateRow)
|
||||
.OnGetChildren(this, &SCurtainTree::GetChildrenForTree)
|
||||
.TreeItemsSource(&RootCurtain)
|
||||
.ItemHeight(30.0)
|
||||
.SelectionMode(ESelectionMode::Single)
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
TSharedRef<ITableRow> SCurtainTree::GenerateRow(TSharedPtr<FCurtain> Curtain,
|
||||
const TSharedRef<STableViewBase>& TableViewBase) const
|
||||
{
|
||||
return SNew(STableRow<TSharedPtr<FCurtain>>, TableViewBase)
|
||||
.Content()
|
||||
[
|
||||
SNew(SBox)
|
||||
.HeightOverride(50)
|
||||
[
|
||||
SNew(SHorizontalBox)
|
||||
+ SHorizontalBox::Slot()
|
||||
[
|
||||
SNew(SOverlay)
|
||||
+ SOverlay::Slot()
|
||||
[
|
||||
SNew(SClickEditableText)
|
||||
.CanEdit(true)
|
||||
.OnEdited_Lambda([](FString New, FString Old){})
|
||||
.InitTextPtr(&Curtain->CurtainName)
|
||||
.IsNeedUpright(false)
|
||||
]
|
||||
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
void SCurtainTree::GetChildrenForTree(TSharedPtr<FCurtain, ESPMode::ThreadSafe> Curtain,
|
||||
TArray<TSharedPtr<FCurtain, ESPMode::ThreadSafe>>& Shareds)
|
||||
{
|
||||
if (Curtain)
|
||||
{
|
||||
Shareds = Curtain->ChildrenCurtain;
|
||||
}
|
||||
}
|
||||
|
||||
void SCurtainTree::AddNewStep()
|
||||
{
|
||||
RootCurtain.Add(MakeShared<FCurtain>());
|
||||
TreeView->RebuildList();
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
#pragma once
|
||||
#include "CoreMinimal.h"
|
||||
#include "Cut5/Widgets/DefineGlobal.h"
|
||||
#include "Widgets/SCompoundWidget.h"
|
||||
#include "Widgets/Views/STreeView.h"
|
||||
|
||||
class SCurtainTree : public SCompoundWidget
|
||||
{
|
||||
public:
|
||||
SLATE_BEGIN_ARGS(SCurtainTree)
|
||||
{
|
||||
}
|
||||
SLATE_ARGUMENT(TSharedPtr<class SCurtainPanel>, CurtainPanel)
|
||||
SLATE_END_ARGS()
|
||||
|
||||
/** Constructs this widget with InArgs */
|
||||
void Construct(const FArguments& InArgs);
|
||||
TSharedRef<ITableRow> GenerateRow(TSharedPtr<FCurtain> Curtain, const TSharedRef<STableViewBase>& TableViewBase) const;
|
||||
void GetChildrenForTree(TSharedPtr<FCurtain, ESPMode::ThreadSafe> Curtain, TArray<TSharedPtr<FCurtain, ESPMode::ThreadSafe>>& Shareds);
|
||||
void AddNewStep();
|
||||
TSharedPtr<class SCurtainPanel> CurtainPanel;
|
||||
TSharedPtr<STreeView<TSharedPtr<FCurtain>>> TreeView;
|
||||
TArray<TSharedPtr<FCurtain>> RootCurtain;
|
||||
TSharedPtr<SExpandableArea> ExpandableArea;
|
||||
};
|
@ -13,7 +13,7 @@ extern "C"{
|
||||
#include <opencv2/imgproc.hpp>
|
||||
#include <opencv2/core/mat.hpp>
|
||||
struct FTimelinePropertyData;
|
||||
|
||||
DECLARE_DELEGATE_OneParam(FOnEnsure, FString)
|
||||
class CUT5_API FGlobalData
|
||||
{
|
||||
public:
|
||||
@ -206,7 +206,6 @@ struct CUT5_API FTimelinePropertyData
|
||||
Ar << PropertyData.IconPath;
|
||||
Ar << PropertyData.MoviePath;
|
||||
Ar << PropertyData.MovieFrameLength;
|
||||
Ar << PropertyData.AudioData;
|
||||
Ar << PropertyData.VideoStream;
|
||||
Ar << PropertyData.AudioStream;
|
||||
Ar << PropertyData.MoviePath;
|
||||
@ -226,6 +225,7 @@ public:
|
||||
TrackClip,
|
||||
Clip2Clip,
|
||||
TickDrag,
|
||||
CurtainDrag,
|
||||
};
|
||||
FCutDragDropBase() {};
|
||||
FCutDragDropBase(EType InType)
|
||||
@ -260,6 +260,13 @@ public:
|
||||
EDragType DragType;
|
||||
};
|
||||
|
||||
class CUT5_API FCurtainDragDrop final : public FCutDragDropBase
|
||||
{
|
||||
public:
|
||||
int32 GroupIndex = 0;
|
||||
int32 CurtainIndex = 0;
|
||||
};
|
||||
|
||||
struct FTimelineInfo;
|
||||
struct CUT5_API FTimelineInfo
|
||||
{
|
||||
@ -331,10 +338,31 @@ class FCurtain
|
||||
public:
|
||||
FString CurtainName = TEXT("新建幕");
|
||||
FGuid CurtainUUID;
|
||||
TSharedPtr<FCurtain> ParentCurtain;
|
||||
TArray<TSharedPtr<FCurtain>> ChildrenCurtain;
|
||||
};
|
||||
bool bIsActive = false;
|
||||
|
||||
friend FArchive& operator<< (FArchive& Ar, FCurtain& Curtain)
|
||||
{
|
||||
Ar << Curtain.CurtainName;
|
||||
Ar << Curtain.CurtainUUID;
|
||||
return Ar;
|
||||
}
|
||||
};
|
||||
class FCurtainGroup
|
||||
{
|
||||
public:
|
||||
FString GroupName = TEXT("新建组");
|
||||
FGuid GroupUID;
|
||||
TArray<FCurtain> Curtains;
|
||||
bool bIsActive = false;
|
||||
|
||||
friend FArchive& operator<< (FArchive& Ar, FCurtainGroup& Curtain)
|
||||
{
|
||||
Ar << Curtain.GroupName;
|
||||
Ar << Curtain.GroupUID;
|
||||
Ar << Curtain.Curtains;
|
||||
return Ar;
|
||||
}
|
||||
};
|
||||
|
||||
class FCurtainTree
|
||||
{
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include "SEffectCard.h"
|
||||
|
||||
#include "SEffectCardGroup.h"
|
||||
#include "SEffectCardsPanel.h"
|
||||
#include "SlateOptMacros.h"
|
||||
|
||||
#include "Cut5/Utils/Utils.h"
|
||||
@ -151,12 +152,16 @@ void SEffectCard::ShowClosedButton(bool bShow)
|
||||
SNew(SImage)
|
||||
.Image(FUtils::GetBrushFromImage(FUtils::GetResourcesPath("close-circle-fill.png"), {16, 16}))
|
||||
]
|
||||
.OnClicked_Lambda([]()
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
GEngine->GameViewport->AddViewportWidgetContent(
|
||||
SNew(STips)
|
||||
.Title(TEXT("确定删除特效卡吗?"))
|
||||
.SubTitle(TEXT("特效卡删除后不可恢复")), 1
|
||||
.SubTitle(TEXT("特效卡删除后不可恢复"))
|
||||
.OnEnsure_Lambda([this](const FString& String)
|
||||
{
|
||||
CardGroupPtr->EffectCardPanel->RemoveCard(CardProperty->Guid);
|
||||
}), 1
|
||||
);
|
||||
|
||||
|
||||
@ -170,6 +175,8 @@ void SEffectCard::ShowClosedButton(bool bShow)
|
||||
];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ClosedButton)
|
||||
{
|
||||
Overlay->RemoveSlot(ClosedButton.ToSharedRef());
|
||||
ClosedButton.Reset();
|
||||
@ -177,6 +184,8 @@ void SEffectCard::ShowClosedButton(bool bShow)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void SEffectCard::OnMouseEnter(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent)
|
||||
{
|
||||
SCompoundWidget::OnMouseEnter(MyGeometry, MouseEvent);
|
||||
@ -277,7 +286,7 @@ TSharedPtr<SWidget> SEffectCard::GetPropertiesWidget()
|
||||
.HeightOverride(32)
|
||||
[
|
||||
SNew(SEditableTextBox)
|
||||
.Text(FText::FromString(FString::FromInt(GroupProperty->ID)))
|
||||
.Text(FText::FromString(FString::FromInt(CardProperty->ID)))
|
||||
.OnVerifyTextChanged_Lambda([this](const FText& InText, FText& OutErrorMessage)
|
||||
{
|
||||
if (InText.IsEmpty())
|
||||
@ -298,7 +307,7 @@ TSharedPtr<SWidget> SEffectCard::GetPropertiesWidget()
|
||||
})
|
||||
.OnTextCommitted_Lambda([this](const FText& InText, ETextCommit::Type InCommitType)
|
||||
{
|
||||
GroupProperty->ID = FCString::Atoi(*InText.ToString());
|
||||
CardProperty->ID = FCString::Atoi(*InText.ToString());
|
||||
})
|
||||
]
|
||||
]
|
||||
|
@ -45,6 +45,7 @@ void SEffectCardGroup::Construct(const FArguments& InArgs)
|
||||
MainInterface = InArgs._MainInterface;
|
||||
EffectCardPanel = InArgs._EffectCardPanel;
|
||||
|
||||
|
||||
// 只考虑组别储存,不考虑组内卡片储存
|
||||
SetSavePath({TEXT("FX"), EffectCardGroup->GroupName + TEXT(".bin")});
|
||||
|
||||
@ -258,6 +259,7 @@ void SEffectCardGroup::CallRender()
|
||||
NewCard.Name = TEXT("未命名") + NewCard.Guid.ToString();
|
||||
|
||||
FUtils::CreateDefaultTimelineSave(FUtils::SingleCardFullPath(NewCard.Name), FTimelineInfo::ETimelineType::FX);
|
||||
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FUtils::SingleCardFullPath(NewCard.Name));
|
||||
{
|
||||
FSaveModifier SaveModifier(FUtils::SingleCardFullPath(NewCard.Name));
|
||||
SaveModifier.TimelineInfo.CurrentOpenFullPath = FUtils::SingleCardFullPath(NewCard.Name);
|
||||
|
@ -56,7 +56,8 @@ void SEffectCardsPanel::CallRender()
|
||||
TSharedPtr<SEffectCardGroup> CardGroupInst =
|
||||
SNew(SEffectCardGroup)
|
||||
.EffectCardGroup(&Group)
|
||||
.MainInterface(MainInterface);
|
||||
.MainInterface(MainInterface)
|
||||
.EffectCardPanel(this);
|
||||
ScrollBox->AddSlot()
|
||||
[
|
||||
CardGroupInst.ToSharedRef()
|
||||
|
146
Source/Cut5/Widgets/MicroWidgets/SNewProjectTips.cpp
Normal file
146
Source/Cut5/Widgets/MicroWidgets/SNewProjectTips.cpp
Normal file
@ -0,0 +1,146 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "SNewProjectTips.h"
|
||||
|
||||
#include "SlateOptMacros.h"
|
||||
#include "Cut5/Utils/Utils.h"
|
||||
|
||||
BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
||||
|
||||
void SNewProjectTips::Construct(const FArguments& InArgs)
|
||||
{
|
||||
OnEnsure = InArgs._OnEnsure;
|
||||
FTextBlockStyle NormalText = FAppStyle::GetWidgetStyle<FTextBlockStyle>("NormalText");
|
||||
NormalText.SetFontSize(20);
|
||||
ChildSlot
|
||||
[
|
||||
SNew(SOverlay)
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Center)
|
||||
.VAlign(VAlign_Center)
|
||||
[
|
||||
SNew(SBox)
|
||||
.WidthOverride(320)
|
||||
.HeightOverride(180)
|
||||
[
|
||||
SNew(SOverlay)
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SNew(SImage)
|
||||
.Image(FUtils::GetBrushFromImage(FUtils::GetResourcesPath("TipsBackGround.png"), {}))
|
||||
]
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SNew(SVerticalBox)
|
||||
+ SVerticalBox::Slot()
|
||||
.Padding(0, 30, 0, 0)
|
||||
.HAlign(HAlign_Center)
|
||||
.VAlign(VAlign_Top)
|
||||
[
|
||||
SAssignNew(EditableTextBox, SEditableTextBox)
|
||||
.Text(FText::FromString(InArgs._Title))
|
||||
.OnVerifyTextChanged_Lambda([this](const FText& InText, FText& OutText)
|
||||
{
|
||||
if (InText.ToString().Len() > 20)
|
||||
{
|
||||
OutText = FText::FromString(TEXT("项目名称不能超过20个字符"));
|
||||
ConfirmButton->SetEnabled(false);
|
||||
return false;
|
||||
}
|
||||
if (InText.ToString().Len() == 0)
|
||||
{
|
||||
OutText = FText::FromString(TEXT("项目名称不能为空"));
|
||||
ConfirmButton->SetEnabled(false);
|
||||
return false;
|
||||
}
|
||||
ConfirmButton->SetEnabled(true);
|
||||
return true;
|
||||
})
|
||||
|
||||
.OnTextCommitted_Lambda([this](const FText& InText, ETextCommit::Type InCommitType)
|
||||
{
|
||||
if (OnEnsure.ExecuteIfBound(InText.ToString()))
|
||||
{
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
]
|
||||
+ SVerticalBox::Slot()
|
||||
.HAlign(HAlign_Center)
|
||||
.VAlign(VAlign_Bottom)
|
||||
[
|
||||
SNew(SBox)
|
||||
.HeightOverride(55.6)
|
||||
.WidthOverride(1000.0)
|
||||
[
|
||||
SNew(SHorizontalBox)
|
||||
+ SHorizontalBox::Slot()
|
||||
.SizeParam(FStretch(1.0))
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SNew(SButton)
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
GEngine->GameViewport->RemoveViewportWidgetContent(SharedThis(this));
|
||||
return FReply::Handled();
|
||||
})
|
||||
.ButtonColorAndOpacity(FColor(0, 0,0 ,0))
|
||||
[
|
||||
SNew(SOverlay)
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Center)
|
||||
.VAlign(VAlign_Center)
|
||||
[
|
||||
SNew(STextBlock)
|
||||
.Text(FText::FromString(TEXT("取消")))
|
||||
.ColorAndOpacity(FSlateColor(FLinearColor(1.0f, 1.0f, 1.0f, 1.0f)))
|
||||
]
|
||||
|
||||
]
|
||||
]
|
||||
+ SHorizontalBox::Slot()
|
||||
.SizeParam(FStretch(1.0))
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SAssignNew(ConfirmButton, SButton)
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
|
||||
if (OnEnsure.ExecuteIfBound(EditableTextBox->GetText().ToString()))
|
||||
{
|
||||
|
||||
}
|
||||
return FReply::Handled();
|
||||
})
|
||||
.ButtonColorAndOpacity(FColor(0, 0,0 ,0))
|
||||
[
|
||||
SNew(SOverlay)
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Center)
|
||||
.VAlign(VAlign_Center)
|
||||
[
|
||||
SNew(STextBlock)
|
||||
.Text(FText::FromString(TEXT("确定")))
|
||||
.ColorAndOpacity(FSlateColor(FLinearColor(1.0f, 1.0f, 1.0f, 1.0f)))
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
END_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
30
Source/Cut5/Widgets/MicroWidgets/SNewProjectTips.h
Normal file
30
Source/Cut5/Widgets/MicroWidgets/SNewProjectTips.h
Normal file
@ -0,0 +1,30 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Cut5/Widgets/DefineGlobal.h"
|
||||
#include "Widgets/SCompoundWidget.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class CUT5_API SNewProjectTips : public SCompoundWidget
|
||||
{
|
||||
|
||||
public:
|
||||
SLATE_BEGIN_ARGS(SNewProjectTips)
|
||||
{
|
||||
}
|
||||
SLATE_ARGUMENT(FString, Title)
|
||||
SLATE_ARGUMENT(FString, SubTitle)
|
||||
SLATE_EVENT(FOnEnsure, OnEnsure)
|
||||
SLATE_END_ARGS()
|
||||
|
||||
/** Constructs this widget with InArgs */
|
||||
void Construct(const FArguments& InArgs);
|
||||
|
||||
TSharedPtr<SEditableTextBox> EditableTextBox;
|
||||
TSharedPtr<SButton> ConfirmButton;
|
||||
FOnEnsure OnEnsure;
|
||||
};
|
@ -10,6 +10,7 @@ BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
||||
|
||||
void STips::Construct(const FArguments& InArgs)
|
||||
{
|
||||
OnEnsure = InArgs._OnEnsure;
|
||||
FTextBlockStyle NormalText = FAppStyle::GetWidgetStyle<FTextBlockStyle>("NormalText");
|
||||
NormalText.SetFontSize(20);
|
||||
ChildSlot
|
||||
@ -95,7 +96,8 @@ void STips::Construct(const FArguments& InArgs)
|
||||
SNew(SButton)
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
|
||||
OnEnsure.ExecuteIfBound("");
|
||||
GEngine->GameViewport->RemoveViewportWidgetContent(SharedThis(this));
|
||||
return FReply::Handled();
|
||||
})
|
||||
.ButtonColorAndOpacity(FColor(0, 0,0 ,0))
|
||||
|
@ -3,11 +3,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Cut5/Widgets/DefineGlobal.h"
|
||||
#include "Widgets/SCompoundWidget.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
DECLARE_DELEGATE_OneParam(FOnDeleteEffectCard, int32)
|
||||
class CUT5_API STips : public SCompoundWidget
|
||||
{
|
||||
public:
|
||||
@ -16,8 +18,11 @@ public:
|
||||
}
|
||||
SLATE_ARGUMENT(FString, Title)
|
||||
SLATE_ARGUMENT(FString, SubTitle)
|
||||
SLATE_EVENT(FOnEnsure, OnEnsure)
|
||||
SLATE_END_ARGS()
|
||||
|
||||
/** Constructs this widget with InArgs */
|
||||
void Construct(const FArguments& InArgs);
|
||||
|
||||
FOnEnsure OnEnsure;
|
||||
};
|
||||
|
@ -15,11 +15,15 @@
|
||||
#include "STimelinePropertyPanel.h"
|
||||
#include "STrackBody.h"
|
||||
#include "STrackHead.h"
|
||||
#include "Commands/MainMenuCommands.h"
|
||||
#include "CustomPanel/SCustomPanel.h"
|
||||
#include "Cut5/Utils/FFMPEGUtils.h"
|
||||
#include "Cut5/Utils/Utils.h"
|
||||
#include "Cut5/Xml/tinyxml2.h"
|
||||
#include "DragDropOperator/DragDropOperator.h"
|
||||
#include "FX/SEffectCardsPanel.h"
|
||||
#include "HAL/FileManagerGeneric.h"
|
||||
#include "MicroWidgets/SNewProjectTips.h"
|
||||
#include "StatePanel/SStatePanel.h"
|
||||
#include "Widgets/Layout/SConstraintCanvas.h"
|
||||
#include "Widgets/Layout/SScaleBox.h"
|
||||
@ -34,7 +38,97 @@ void SCutMainWindow::Construct(const FArguments& InArgs)
|
||||
SAssignNew(CutTimeline, SCutTimeline).MainWidgetInterface(this);
|
||||
SAssignNew(StatePanel, SStatePanel);
|
||||
SAssignNew(CustomPanel, SCustomPanel);
|
||||
|
||||
FMainMenuCommands::Register();
|
||||
CommandList = MakeShareable(new FUICommandList);
|
||||
CommandList->MapAction(FMainMenuCommands::Get().NewProject, FExecuteAction::CreateLambda([this]()
|
||||
{
|
||||
PreNewProject();
|
||||
}));
|
||||
CommandList->MapAction(FMainMenuCommands::Get().OpenProject, FExecuteAction::CreateLambda([this]()
|
||||
{
|
||||
FString String;
|
||||
IDesktopPlatform* DesktopPlatform = FDesktopPlatformModule::Get();
|
||||
DesktopPlatform->OpenDirectoryDialog(nullptr, TEXT("选择新建路径"), String, String);
|
||||
if (String.IsEmpty())
|
||||
return;
|
||||
OpenProject(String);
|
||||
}));
|
||||
CommandList->MapAction(FMainMenuCommands::Get().SaveProject, FExecuteAction::CreateLambda([this]()
|
||||
{
|
||||
SaveProject();
|
||||
}));
|
||||
|
||||
|
||||
CommandList->MapAction(FMainMenuCommands::Get().Exit, FExecuteAction::CreateLambda([this]()
|
||||
{
|
||||
exit(0);
|
||||
}));
|
||||
|
||||
|
||||
ChildSlot
|
||||
[
|
||||
SNew(SOverlay)
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SNew(SImage)
|
||||
.Image(FUtils::GetBrushFromImage(FUtils::GetResourcesPath("Black.png"), {}))
|
||||
]
|
||||
+ SOverlay::Slot()
|
||||
.VAlign(VAlign_Top)
|
||||
.HAlign(HAlign_Fill)
|
||||
[
|
||||
SNew(SBox)
|
||||
.HeightOverride(47)
|
||||
.WidthOverride(47)
|
||||
[
|
||||
SNew(SHorizontalBox)
|
||||
+ SHorizontalBox::Slot()
|
||||
.SizeParam(FAuto())
|
||||
.Padding(16, 0, 0, 0)
|
||||
[
|
||||
SNew(SImage)
|
||||
.Image(FUtils::GetBrushFromImage(FUtils::GetResourcesPath("EngineLogo.png"), {26, 26}))
|
||||
]
|
||||
+ SHorizontalBox::Slot()
|
||||
.SizeParam(FAuto())
|
||||
.Padding(32, 0, -32, 0)
|
||||
[
|
||||
SNew(SOverlay)
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
[
|
||||
SNew(SButton)
|
||||
.ButtonStyle(FCoreStyle::Get(), "NoBorder")
|
||||
[
|
||||
SNew(STextBlock)
|
||||
.Text(FText::FromString(TEXT("菜单 v")))
|
||||
]
|
||||
.OnClicked_Lambda([this]()
|
||||
{
|
||||
FMenuBuilder MenuBuilder(true, CommandList);
|
||||
MenuBuilder.AddMenuEntry(FMainMenuCommands::Get().NewProject, NAME_None, FText::FromString(TEXT("新建")));
|
||||
MenuBuilder.AddMenuEntry(FMainMenuCommands::Get().OpenProject, NAME_None, FText::FromString(TEXT("打开")));
|
||||
MenuBuilder.AddMenuEntry(FMainMenuCommands::Get().SaveProject, NAME_None, FText::FromString(TEXT("保存")));
|
||||
MenuBuilder.AddMenuEntry(FMainMenuCommands::Get().SaveProjectAs, NAME_None, FText::FromString(TEXT("保存为")));
|
||||
MenuBuilder.AddMenuEntry(FMainMenuCommands::Get().Setting, NAME_None, FText::FromString(TEXT("设置")));
|
||||
MenuBuilder.AddMenuEntry(FMainMenuCommands::Get().Exit, NAME_None, FText::FromString(TEXT("退出")));
|
||||
FSlateApplication::Get().PushMenu(AsShared(), FWidgetPath(), MenuBuilder.MakeWidget(), FSlateApplication::Get().GetCursorPos(), FPopupTransitionEffect(FPopupTransitionEffect::ContextMenu));
|
||||
|
||||
return FReply::Handled();
|
||||
})
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
+ SOverlay::Slot()
|
||||
.HAlign(HAlign_Fill)
|
||||
.VAlign(VAlign_Fill)
|
||||
.Padding(16, 47, 16, 16)
|
||||
[
|
||||
SNew(SScaleBox)
|
||||
.HAlign(HAlign_Fill)
|
||||
@ -161,6 +255,9 @@ void SCutMainWindow::Construct(const FArguments& InArgs)
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
];
|
||||
|
||||
SoundThread = new FSoundThread();
|
||||
@ -335,26 +432,83 @@ void SCutMainWindow::OpenTimeline(const FString& TimelineName, bool NeedSaveBefo
|
||||
|
||||
void SCutMainWindow::OpenProject(const FString& Project)
|
||||
{
|
||||
|
||||
|
||||
TArray<uint8> Data;
|
||||
FFileHelper::LoadFileToArray(Data, *Project);
|
||||
FMemoryReader Reader(Data);
|
||||
FString CustomPanelInputPath = "";
|
||||
Reader << CustomPanelInputPath;
|
||||
CustomInputPanel->LoadPanel(CustomPanelInputPath);
|
||||
|
||||
FString FXPath = "";
|
||||
Reader << FXPath;
|
||||
EffectCardsPanel->LoadPanel(FXPath);
|
||||
|
||||
FGlobalData::CurrentProjectName = FPaths::GetCleanFilename(Project);
|
||||
FTimelineInfo OpenedInfo;
|
||||
|
||||
FGlobalData::BasePath = Project;
|
||||
CutTimeline->TimelineInfo.CurrentOpenFullPath = FUtils::MainSaveFullPath();
|
||||
|
||||
CutTimeline->LoadTimeline(FPaths::Combine(Project, FGlobalData::CurrentProjectName + TEXT(".bin")), OpenedInfo);
|
||||
// 加载项目关联文件 .cutlink
|
||||
TArray<uint8> Data;
|
||||
// 找出文件夹内后缀为.cutlink的文件
|
||||
TArray<FString> CutlinkName;
|
||||
FFileManagerGeneric::Get().FindFiles(CutlinkName, *FPaths::Combine(Project, TEXT("*.cutlink")), true, false);
|
||||
if (CutlinkName.Num() == 0)
|
||||
{
|
||||
UE_LOG(LogTemp, Error, TEXT("项目关联文件不存在"));
|
||||
return;
|
||||
}
|
||||
|
||||
// 去掉.cutlink后缀,得到项目名
|
||||
|
||||
|
||||
FGlobalData::CurrentProjectName = FPaths::GetBaseFilename(FPaths::GetCleanFilename(CutlinkName[0]));
|
||||
FFileHelper::LoadFileToArray(Data, *FPaths::Combine(Project, FPaths::GetCleanFilename(CutlinkName[0])));
|
||||
FMemoryReader Reader(Data);
|
||||
|
||||
// 写入版本号
|
||||
FString LoadVersion;
|
||||
Reader << LoadVersion;
|
||||
if (LoadVersion != FGlobalData::Version)
|
||||
{
|
||||
UE_LOG(LogTemp, Error, TEXT("版本不匹配,无法打开项目,载入版本:%s, 当前版本:%s"), *LoadVersion, *FGlobalData::Version);
|
||||
return;
|
||||
}
|
||||
|
||||
// 记录所有导入资产链接
|
||||
int32 PropertyDataNum = 0;
|
||||
Reader << PropertyDataNum;
|
||||
for (int32 i = 0; i < PropertyDataNum; i++)
|
||||
{
|
||||
FTimelinePropertyData TimelinePropertyData;
|
||||
Reader << TimelinePropertyData;
|
||||
FTimelinePropertyData ReloadPropertyData;
|
||||
FFFMPEGUtils::LoadMedia(TimelinePropertyData.MoviePath, &ReloadPropertyData);
|
||||
ReloadPropertyData.Guid = TimelinePropertyData.Guid;
|
||||
|
||||
CustomInputPanel->GridPanel->AddSlot(CustomInputPanel->GetChildren()->Num() % 2, CustomInputPanel->GetChildren()->Num() / 2)
|
||||
[
|
||||
SNew(SCustomInputResource)
|
||||
.PropertyData(ReloadPropertyData)
|
||||
];
|
||||
CustomInputPanel->PropertyData.Add(ReloadPropertyData);
|
||||
}
|
||||
|
||||
|
||||
// 记录所有幕
|
||||
int32 CutNum = 0;
|
||||
Reader << CutNum;
|
||||
for (int32 i = 0; i < CutNum; i++)
|
||||
{
|
||||
FCurtainGroup NewGroup;
|
||||
Reader << NewGroup;
|
||||
CurtainPanel->Groups.Add(NewGroup);
|
||||
CurtainPanel->CallRender();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 记录所有组轨道链接
|
||||
EffectCardsPanel->EffectCardGroups.Empty();
|
||||
|
||||
int32 GroupLength = 0;
|
||||
Reader << GroupLength;
|
||||
|
||||
for (int32 i = 0; i < GroupLength; i++)
|
||||
{
|
||||
FEffectCardGroup Group;
|
||||
Reader << Group;
|
||||
EffectCardsPanel->EffectCardGroups.Add(Group);
|
||||
EffectCardsPanel->CallRender();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -553,6 +707,13 @@ void SCutMainWindow::SaveProject()
|
||||
}
|
||||
|
||||
// 记录所有幕
|
||||
int32 CurtainLength = CurtainPanel->Groups.Num();
|
||||
MemoryWriter << CurtainLength;
|
||||
for (int32 i = 0; i < CurtainPanel->Groups.Num(); i++)
|
||||
{
|
||||
MemoryWriter << CurtainPanel->Groups[i];
|
||||
}
|
||||
|
||||
|
||||
// 记录所有组轨道链接
|
||||
int32 GroupLength = EffectCardsPanel->EffectCardGroups.Num();
|
||||
@ -562,7 +723,30 @@ void SCutMainWindow::SaveProject()
|
||||
MemoryWriter << Group;
|
||||
}
|
||||
|
||||
FFileHelper::SaveArrayToFile(ProjectLinkData, *FPaths::Combine(FGlobalData::BasePath, FGlobalData::CurrentProjectName + TEXT(".cutlink")));
|
||||
FFileHelper::SaveArrayToFile(ProjectLinkData, *FPaths::Combine(FGlobalData::BasePath, FGlobalData::CurrentProjectName, FGlobalData::CurrentProjectName + TEXT(".cutlink")));
|
||||
|
||||
}
|
||||
|
||||
void SCutMainWindow::PreNewProject()
|
||||
{
|
||||
FString String;
|
||||
IDesktopPlatform* DesktopPlatform = FDesktopPlatformModule::Get();
|
||||
DesktopPlatform->OpenDirectoryDialog(nullptr, TEXT("选择新建路径"), String, String);
|
||||
if (String.IsEmpty())
|
||||
return;
|
||||
FGlobalData::BasePath = String;
|
||||
TSharedPtr<SNewProjectTips> NewProjectTips =
|
||||
SNew(SNewProjectTips)
|
||||
.Title(TEXT("新建项目名字"));
|
||||
|
||||
NewProjectTips->OnEnsure.BindLambda([this, NewProjectTips](FString String)
|
||||
{
|
||||
FGlobalData::CurrentProjectName = String;
|
||||
GEngine->GameViewport->RemoveViewportWidgetContent(NewProjectTips.ToSharedRef());
|
||||
});
|
||||
GEngine->GameViewport->AddViewportWidgetContent(
|
||||
NewProjectTips.ToSharedRef(), 2);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -39,6 +39,9 @@ public:
|
||||
TSharedPtr<class SEffectCardsPanel> EffectCardsPanel;
|
||||
TArray<TSharedPtr<SPlayerLight>> PlayerLightsSlateInstances;
|
||||
|
||||
|
||||
TSharedPtr<FUICommandList> CommandList;
|
||||
|
||||
void Render();
|
||||
|
||||
virtual FReply OnDragOver(const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent) override;
|
||||
@ -59,6 +62,7 @@ public:
|
||||
virtual void ImportProject(const FString& ImportPath) override;
|
||||
virtual void NewProject(const FString& NewPath) override;
|
||||
virtual void SaveProject() override;
|
||||
virtual void PreNewProject() override;
|
||||
virtual void OnSelectCard(const FGuid& SelectedCard) override;
|
||||
virtual void OnRemoveCard(const FGuid& SelectedCard) override;
|
||||
virtual FTimelinePropertyData* GetResourcePropertyDataPtr(FGuid GUID) override;
|
||||
|
@ -367,9 +367,11 @@ void SCutTimeline::RenderGroup()
|
||||
.HeightOverride(FGlobalData::DefaultTrackHeight * TrackGroups[i].TrackDataArray.Num())
|
||||
[
|
||||
SNew(SInlineEditableTextBlock)
|
||||
.Text(FText::FromString(TrackGroups[i].GroupName))
|
||||
// .InitTextPtr(&TrackGroups[i].GroupName)
|
||||
// .OnEdited_Raw(this, &SCutTimeline::OnGroupNameEdited)
|
||||
.Text(FText::FromString(TrackGroups[i].GroupName)).WrapTextAt(1.0)
|
||||
.OnTextCommitted_Lambda([this, i](const FText& NewText, ETextCommit::Type CommitType)
|
||||
{
|
||||
OnGroupNameEdited(NewText.ToString(), TrackGroups[i].GroupName);
|
||||
})
|
||||
]
|
||||
];
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user