Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
VIZ.Package
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘龙飞
VIZ.Package
Commits
37a8fe70
Commit
37a8fe70
authored
Mar 09, 2023
by
liulongfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
导入模板时更新GEOM
parent
cefa15e4
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
225 additions
and
8 deletions
+225
-8
VIZ.Package.Domain/ApplicationDomainEx.Action.cs
+8
-3
VIZ.Package.Domain/Model/Scene/TransitionLogicSceneInfoModel.cs
+14
-0
VIZ.Package.Module/Control/Controller/ControlController.cs
+3
-3
VIZ.Package.Module/Page/Group/ViewModel/PageGroupViewModel.cs
+1
-0
VIZ.Package.Service/Viz/VizCommandControlObjectService.cs
+10
-0
VIZ.Package.Service/Viz/VizCommandService.cs
+110
-2
VIZ.Package.Service/Viz/VizControlObjectDownloadService.cs
+54
-0
VIZ.Package.Storage/Enum/VizGroupMoveDirection.cs
+24
-0
VIZ.Package.Storage/VIZ.Package.Storage.csproj
+1
-0
No files found.
VIZ.Package.Domain/ApplicationDomainEx.Action.cs
View file @
37a8fe70
...
...
@@ -76,7 +76,7 @@ namespace VIZ.Package.Domain
/// </summary>
/// <param name="pageBase">页或模板</param>
/// <returns>背景场景信息</returns>
public
static
TransitionLogicSceneInfoModel
GetSceneInfoWithTransitionLogic
(
PageModelBase
pageBase
)
public
static
TransitionLogicSceneInfoModel
GetSceneInfoWithTransitionLogic
(
ConnModel
conn
,
PageModelBase
pageBase
)
{
if
(
string
.
IsNullOrWhiteSpace
(
pageBase
.
BackgroundScene
))
return
null
;
...
...
@@ -94,13 +94,17 @@ namespace VIZ.Package.Domain
collectionGroupID
=
page
.
ConnGroupID
;
}
TransitionLogicSceneInfoModel
sceneInfo
=
ApplicationDomainEx
.
SceneInfoListWithTransitionLogic
.
FirstOrDefault
(
p
=>
p
.
ScenePath
==
bgScenePath
&&
p
.
ConnGroupID
==
collectionGroupID
);
TransitionLogicSceneInfoModel
sceneInfo
=
ApplicationDomainEx
.
SceneInfoListWithTransitionLogic
.
FirstOrDefault
(
p
=>
p
.
ScenePath
==
bgScenePath
&&
p
.
ConnGroupID
==
collectionGroupID
&&
p
.
Connection
==
conn
);
if
(
sceneInfo
!=
null
)
return
sceneInfo
;
lock
(
ApplicationDomainEx
.
SceneInfoList
)
{
TransitionLogicSceneInfoModel
sceneInfoInner
=
ApplicationDomainEx
.
SceneInfoListWithTransitionLogic
.
FirstOrDefault
(
p
=>
p
.
ScenePath
==
bgScenePath
&&
p
.
ConnGroupID
==
collectionGroupID
);
TransitionLogicSceneInfoModel
sceneInfoInner
=
ApplicationDomainEx
.
SceneInfoListWithTransitionLogic
.
FirstOrDefault
(
p
=>
p
.
ScenePath
==
bgScenePath
&&
p
.
ConnGroupID
==
collectionGroupID
&&
p
.
Connection
==
conn
);
if
(
sceneInfoInner
!=
null
)
return
sceneInfoInner
;
...
...
@@ -108,6 +112,7 @@ namespace VIZ.Package.Domain
sceneInfo
.
Scene
=
pageBase
.
BackgroundScene
;
sceneInfo
.
ScenePath
=
bgScenePath
;
sceneInfo
.
ConnGroupID
=
collectionGroupID
;
sceneInfo
.
Connection
=
conn
;
ApplicationDomainEx
.
SceneInfoListWithTransitionLogic
.
Add
(
sceneInfo
);
}
...
...
VIZ.Package.Domain/Model/Scene/TransitionLogicSceneInfoModel.cs
View file @
37a8fe70
...
...
@@ -12,6 +12,20 @@ namespace VIZ.Package.Domain
/// </summary>
public
class
TransitionLogicSceneInfoModel
:
SceneInfoModel
{
#
region
Connection
--
连接
private
ConnModel
connection
;
/// <summary>
/// 连接
/// </summary>
public
ConnModel
Connection
{
get
{
return
connection
;
}
set
{
connection
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Connection
));
}
}
#
endregion
#
region
TransitionLogic
--
切换逻辑
private
TransitionLogicModel
transitionLogic
=
new
TransitionLogicModel
();
...
...
VIZ.Package.Module/Control/Controller/ControlController.cs
View file @
37a8fe70
...
...
@@ -83,7 +83,7 @@ namespace VIZ.Package.Module
// 场景信息
SceneInfoModel
oldSceneInfo
=
oldPageBase
.
GetSceneInfo
();
SceneInfoModel
newSceneInfo
=
newPageBase
.
GetSceneInfo
();
TransitionLogicSceneInfoModel
bgSceneInfo
=
ApplicationDomainEx
.
GetSceneInfoWithTransitionLogic
(
newPageBase
);
TransitionLogicSceneInfoModel
bgSceneInfo
=
ApplicationDomainEx
.
GetSceneInfoWithTransitionLogic
(
conn
,
newPageBase
);
// 切换逻辑层
TransitionLogicLayerInfo
transitionLogicLayer
=
bgSceneInfo
.
TransitionLogic
.
LayerInfos
.
FirstOrDefault
(
p
=>
p
.
LayerIdentifier
==
newPageBase
.
LayerIdentifier
);
...
...
@@ -218,7 +218,7 @@ namespace VIZ.Package.Module
}
// 切换逻辑层
TransitionLogicSceneInfoModel
bgSceneInfo
=
ApplicationDomainEx
.
GetSceneInfoWithTransitionLogic
(
newPageBase
);
TransitionLogicSceneInfoModel
bgSceneInfo
=
ApplicationDomainEx
.
GetSceneInfoWithTransitionLogic
(
conn
,
newPageBase
);
TransitionLogicLayerInfo
logicLayer
=
bgSceneInfo
.
TransitionLogic
.
LayerInfos
.
FirstOrDefault
(
p
=>
p
.
LayerIdentifier
==
newPageBase
.
LayerIdentifier
);
if
(
logicLayer
!=
null
)
...
...
@@ -255,7 +255,7 @@ namespace VIZ.Package.Module
public
void
TakeOutTransitionLogic
(
PageModelBase
oldPageBase
,
PageModelBase
newPageBase
,
ControlObjectModel
obj
,
IPluginView
view
,
ConnModel
conn
)
{
// 场景信息
TransitionLogicSceneInfoModel
bgSceneInfo
=
ApplicationDomainEx
.
GetSceneInfoWithTransitionLogic
(
newPageBase
);
TransitionLogicSceneInfoModel
bgSceneInfo
=
ApplicationDomainEx
.
GetSceneInfoWithTransitionLogic
(
conn
,
newPageBase
);
// 切换逻辑层
TransitionLogicLayerInfo
transitionLogicLayer
=
bgSceneInfo
.
TransitionLogic
.
LayerInfos
.
FirstOrDefault
(
p
=>
p
.
LayerIdentifier
==
newPageBase
.
LayerIdentifier
);
...
...
VIZ.Package.Module/Page/Group/ViewModel/PageGroupViewModel.cs
View file @
37a8fe70
...
...
@@ -532,6 +532,7 @@ namespace VIZ.Package.Module
{
sceneInfo
.
TakeInitedProgress
=
0d
;
sceneInfo
.
TakeInitedMessage
=
null
;
sceneInfo
.
Connection
=
null
;
sceneInfo
.
TransitionLogic
.
LayerInfos
.
Clear
();
}
}
...
...
VIZ.Package.Service/Viz/VizCommandControlObjectService.cs
View file @
37a8fe70
...
...
@@ -408,6 +408,16 @@ namespace VIZ.Package.Service
}
}
/// <summary>
/// 控制对象停止仓储
/// </summary>
/// <param name="conn">连接</param>
/// <param name="vizID">VizID</param>
public
void
ControlObjectStoreStops
(
ConnModel
conn
,
string
vizID
)
{
conn
.
EndpointManager
.
Send
(
$"#
{
vizID
}
*FUNCTION*ControlObject*store_stops INVOKE"
);
}
// --------------------------------------------------------------------------------------------------
// 切换场景
...
...
VIZ.Package.Service/Viz/VizCommandService.cs
View file @
37a8fe70
...
...
@@ -309,7 +309,6 @@ namespace VIZ.Package.Service
return
sceneName
;
}
/// <summary>
/// 清理页
/// </summary>
...
...
@@ -339,6 +338,115 @@ namespace VIZ.Package.Service
}
// --------------------------------------------------------------------------------------------------
// GROUP
/// <summary>
/// 设置分组名称
/// </summary>
/// <param name="conn">连接</param>
/// <param name="vizID">VizID</param>
/// <param name="name">名称</param>
public
void
GroupSetName
(
ConnModel
conn
,
string
vizID
,
string
name
)
{
conn
.
EndpointManager
.
Send
(
$"#
{
vizID
}
*NAME SET
{
name
}
"
);
}
/// <summary>
/// 删除分组
/// </summary>
/// <param name="conn">连接</param>
/// <param name="vizID">VizID</param>
/// <param name="name">名称</param>
public
void
GroupDelete
(
ConnModel
conn
,
string
scenePath
,
string
vizID
)
{
conn
.
EndpointManager
.
Send
(
$"SCENE*
{
scenePath
}
*TREE*#
{
vizID
}
DELETE ALL"
);
}
/// <summary>
/// 添加分组
/// </summary>
/// <param name="conn">连接</param>
/// <param name="scenePath">场景路径</param>
/// <param name="controlObjectVizID">控制对象ID</param>
/// <param name="direction">移动位置</param>
/// <returns>添加的分组树节点路径</returns>
public
string
GroupAdd
(
ConnModel
conn
,
string
scenePath
,
string
controlObjectVizID
,
VizGroupMoveDirection
direction
)
{
return
conn
.
EndpointManager
.
Request
(
$"SCENE*
{
scenePath
}
*TREE*#
{
controlObjectVizID
}
ADD
{
direction
}
"
);
}
/// <summary>
/// 移动分组
/// </summary>
/// <param name="conn">连接</param>
/// <param name="scenePath">场景路径</param>
/// <param name="srcVizID">源VizID</param>
/// <param name="destVizID">目标VizID</param>
/// <param name="direction">移动位置</param>
public
void
GroupMove
(
ConnModel
conn
,
string
scenePath
,
string
srcVizID
,
string
destVizID
,
VizGroupMoveDirection
direction
)
{
conn
.
EndpointManager
.
Send
(
$"SCENE*
{
scenePath
}
*TREE*#
{
srcVizID
}
MOVE SCENE*
{
scenePath
}
*TREE*#
{
destVizID
}
{
direction
}
"
);
}
// --------------------------------------------------------------------------------------------------
// GEOM
/// <summary>
/// GEOM 打包
/// </summary>
/// <param name="conn">连接</param>
/// <param name="scenePath">场景</param>
/// <param name="vizID">VizID</param>
public
void
GeomGroup
(
ConnModel
conn
,
string
scenePath
,
string
vizID
)
{
conn
.
EndpointManager
.
Send
(
$"SCENE*
{
scenePath
}
*TREE*#
{
vizID
}
*GEOM GROUP"
);
}
/// <summary>
/// GEOM 解包
/// </summary>
/// <param name="conn">连接</param>
/// <param name="scenePath">场景</param>
/// <param name="vizID">VizID</param>
public
void
GeomUnGroup
(
ConnModel
conn
,
string
scenePath
,
string
vizID
)
{
conn
.
EndpointManager
.
Send
(
$"SCENE*
{
scenePath
}
*TREE*#
{
vizID
}
*GEOM UNGROUP"
);
}
/// <summary>
/// 获取GEOM
/// </summary>
/// <param name="conn">连接</param>
/// <param name="scenePath">场景</param>
/// <param name="vizID">VizID</param>
/// <returns>GEOM VizID</returns>
public
string
GeomGet
(
ConnModel
conn
,
string
scenePath
,
string
vizID
)
{
string
result
=
conn
.
EndpointManager
.
Request
(
$"SCENE*
{
scenePath
}
*TREE*#
{
vizID
}
*GEOM GET"
);
if
(
string
.
IsNullOrWhiteSpace
(
result
)
||
result
.
StartsWith
(
ApplicationConstants
.
VIZ_COMMAND_RESULT_ERROR_PREFIX
))
return
null
;
string
[]
pars
=
result
.
Split
(
'#'
);
if
(
pars
.
Length
<
2
)
return
null
;
return
pars
[
1
];
}
/// <summary>
/// 拷贝GEOM
/// </summary>
/// <param name="conn">连接</param>
/// <param name="srcVizID">源VizID</param>
/// <param name="destPath">目标路径</param>
/// <returns>是否成功拷贝</returns>
public
bool
GeomCopy
(
ConnModel
conn
,
string
srcVizID
,
string
destPath
)
{
string
result
=
conn
.
EndpointManager
.
Request
(
$"GEOM*#
{
srcVizID
}
COPY GEOM*
{
destPath
}
"
);
return
string
.
Equals
(
result
,
"1"
);
}
// --------------------------------------------------------------------------------------------------
// 切换场景
/// <summary>
...
...
@@ -361,7 +469,7 @@ namespace VIZ.Package.Service
if
(
string
.
IsNullOrWhiteSpace
(
state
))
throw
new
ArgumentNullException
(
nameof
(
state
));
conn
.
EndpointManager
.
Send
(
$"SCENE*
{
bgScenePath
}
*STAGE*DIRECTOR*
P
{
layer
}
SHOW $
{
state
}
"
);
conn
.
EndpointManager
.
Send
(
$"SCENE*
{
bgScenePath
}
*STAGE*DIRECTOR*
{
layer
}
SHOW $
{
state
}
"
);
}
/// <summary>
...
...
VIZ.Package.Service/Viz/VizControlObjectDownloadService.cs
View file @
37a8fe70
...
...
@@ -52,8 +52,12 @@ namespace VIZ.Package.Service
{
Debug
.
WriteLine
(
$"加载场景 开始 [
{
page
.
Scene
}
]"
);
// 执行加载
this
.
ExecuteLoadOnePage
(
page
);
// 执行创建切换逻辑Geom
this
.
ExecuteCreateGeomWithTransitionLogic
(
page
);
Debug
.
WriteLine
(
$"加载场景 结束 [
{
page
.
Scene
}
]"
);
}
catch
(
Exception
ex
)
...
...
@@ -92,6 +96,56 @@ namespace VIZ.Package.Service
}
/// <summary>
/// 执行创建切换逻辑Geom
/// </summary>
/// <param name="pageBase">模板或页</param>
private
void
ExecuteCreateGeomWithTransitionLogic
(
PageModelBase
pageBase
)
{
if
(
pageBase
==
null
||
!
pageBase
.
TransitionLogic
)
return
;
ConnModel
conn
=
ApplicationDomainEx
.
PreviewConn
;
// 获取控制对象ID
List
<
string
>
ids
=
this
.
vizCommandControlObjectService
.
GetControlObjectIds
(
conn
);
string
objectId
=
ids
.
FirstOrDefault
();
if
(
string
.
IsNullOrWhiteSpace
(
objectId
))
return
;
objectId
=
objectId
.
Substring
(
1
,
objectId
.
Length
-
1
);
// SCENE*TITLES/2022/YC/YC_CUP2*TREE*#32915 ADD BOTTOM
string
groupPath
=
this
.
vizCommandService
.
GroupAdd
(
conn
,
pageBase
.
ScenePath
,
objectId
,
VizGroupMoveDirection
.
BOTTOM
);
// SCENE*TITLES/2022/YC/YC_CUP2*TREE GET
List
<
VizTreeNodeInfo
>
treeNodeList
=
this
.
vizCommandControlObjectService
.
GetTreeNodeList
(
conn
);
VizTreeNodeInfo
groupNode
=
treeNodeList
.
FirstOrDefault
(
p
=>
p
.
Path
==
groupPath
);
if
(
groupNode
==
null
)
return
;
// #33608*NAME SET root
this
.
vizCommandService
.
GroupSetName
(
conn
,
groupNode
.
Num
,
"root"
);
// SCENE*TITLES/2022/YC/YC_CUP2*TREE*#32915 MOVE SCENE*TITLES/2022/YC/YC_CUP2*TREE*#33608 RIGHT
this
.
vizCommandService
.
GroupMove
(
conn
,
pageBase
.
ScenePath
,
objectId
,
groupNode
.
Num
,
VizGroupMoveDirection
.
RIGHT
);
// #32915*FUNCTION*ControlObject*store_stops INVOKE
this
.
vizCommandControlObjectService
.
ControlObjectStoreStops
(
conn
,
objectId
);
// SCENE*TITLES/2022/YC/YC_CUP2*TREE*#33608*GEOM GROUP
this
.
vizCommandService
.
GeomGroup
(
conn
,
pageBase
.
ScenePath
,
groupNode
.
Num
);
// SCENE*TITLES/2022/YC/YC_CUP2*TREE*#33608*GEOM GET
string
geomID
=
this
.
vizCommandService
.
GeomGet
(
conn
,
pageBase
.
ScenePath
,
groupNode
.
Num
);
// GEOM*#33616 COPY GEOM*TITLES/2022/YC/YC_CUP2
if
(!
this
.
vizCommandService
.
GeomCopy
(
conn
,
geomID
,
pageBase
.
ScenePath
))
return
;
// SCENE*TITLES/2022/YC/YC_CUP2*TREE*#33608*GEOM UNGROUP
this
.
vizCommandService
.
GeomUnGroup
(
conn
,
pageBase
.
ScenePath
,
groupNode
.
Num
);
// SCENE*TITLES/2022/YC/YC_CUP2*TREE*#32915 MOVE SCENE*TITLES/2022/YC/YC_CUP2*TREE*#33608 BOTTOM
this
.
vizCommandService
.
GroupMove
(
conn
,
pageBase
.
ScenePath
,
objectId
,
groupNode
.
Num
,
VizGroupMoveDirection
.
BOTTOM
);
// SCENE*TITLES/2022/YC/YC_CUP2*TREE*#33608 DELETE ALL
this
.
vizCommandService
.
GroupDelete
(
conn
,
pageBase
.
ScenePath
,
groupNode
.
Num
);
}
/// <summary>
/// 更新控制对象属性至页对象
/// </summary>
/// <param name="pageBase">页对象</param>
...
...
VIZ.Package.Storage/Enum/VizGroupMoveDirection.cs
0 → 100644
View file @
37a8fe70
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
VIZ.Package.Storage
{
/// <summary>
/// VIZ分组移动方向
/// </summary>
public
enum
VizGroupMoveDirection
{
/// <summary>
/// 底部
/// </summary>
BOTTOM
,
/// <summary>
/// 右侧
/// </summary>
RIGHT
}
}
VIZ.Package.Storage/VIZ.Package.Storage.csproj
View file @
37a8fe70
...
...
@@ -114,6 +114,7 @@
<Compile Include="CSV\RecordLog\RecordLogTrigger.cs" />
<Compile Include="Enum\VizControlFieldType.cs" />
<Compile Include="Enum\VizControlObjectParameters.cs" />
<Compile Include="Enum\VizGroupMoveDirection.cs" />
<Compile Include="Enum\VizLayer.cs" />
<Compile Include="Enum\EnginePreviewMode.cs" />
<Compile Include="Enum\VizScene.cs" />
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment