classDiagram
class AActor {
<<Abstract>>
}
class UObject {
<<Abstract>>
}
class UBlueprintFunctionLibrary {
<<Abstract>>
}
class AMyActorBase {
+int32 ActorId
+FOnPositionRotationUpdated OnPositionRotationUpdated
+SetActorPosition(FVector NewPosition)
+SetActorRotation(FRotator NewRotation)
+BeginPlay()
+TakePicture()
+DestroySelf()
-HandlePositionRotationUpdate(FVector NewPosition, FRotator NewRotation)
}
class AAircraftTest {
+Tick(float DeltaTime)
+SetActorRotation(FRotator NewRotation)
}
class AMissileTest {
+Tick(float DeltaTime)
+LaunchMissile()
+ExplodeMissile()
}
class ATargetActor {
+DestroySelf()
}
class UMyActorManager {
+TArray<AMyActorBase*> ManagedActors
+RegisterActor(AMyActorBase* Actor)
+AMyActorBase* GetActorById(int32 ActorId)
+FOnActorUpdated OnActorUpdated
+CreateObject(UClass* ObjectClass, FVector Position, FRotator Rotation)
+UpdateActor(int32 ActorId, FVector NewPosition, FRotator NewRotation)
}
class UTargetManager {
+TArray<ATargetActor*> ManagedTargets
+RegisterTarget(ATargetActor* Target)
+ATargetActor* GetTargetById(int32 TargetId)
+UpdateTarget(int32 TargetId, FVector NewPosition, FRotator NewRotation)
}
class URegionBase {
+int32 RegionId
+FVector Position
+FRotator Rotation
+SetPosition(FVector NewPosition)
+SetRotation(FRotator NewRotation)
}
class URegionManager {
+TArray<URegionBase*> ManagedRegions
+RegisterRegion(URegionBase* Region)
+URegionBase* GetRegionById(int32 RegionId)
+FOnRegionUpdated OnRegionUpdated
+CreateRegion(FVector Position, FRotator Rotation)
+UpdateRegion(int32 RegionId, FVector NewPosition, FRotator NewRotation)
}
class UUdpSocketServer {
+StartListening()
+OnDataReceived(const TArray<uint8>& Data)
+SendPicture(const TArray<uint8>& ImageData)
-ParseAircraftData(const TArray<uint8>& Data, int32& OutActorId, FVector& OutPosition, FRotator& OutRotation)
-ParseMissileData(const TArray<uint8>& Data, int32& OutActorId, FVector& OutPosition)
-ParseCreateRegionData(const TArray<uint8>& Data, FVector& OutPosition, FRotator& OutRotation)
-ParseUpdateRegionData(const TArray<uint8>& Data, int32& OutRegionId, FVector& OutPosition, FRotator& OutRotation)
}
subgraph MainClasses
AMyActorBase
AAircraftTest
AMissileTest
ATargetActor
UMyActorManager
UTargetManager
end
subgraph RegionClasses
URegionBase
URegionManager
end
subgraph UtilityClasses
UUdpSocketServer
end
AActor <|-- AMyActorBase
AActor <|-- URegionBase
AMyActorBase <|-- AAircraftTest
AMyActorBase <|-- AMissileTest
AMyActorBase <|-- ATargetActor
UObject <|-- UMyActorManager
UObject <|-- URegionManager
UObject <|-- UTargetManager
UBlueprintFunctionLibrary <|-- UUdpSocketServer
AMyActorBase o-- UMyActorManager : "Managed Actors"
ATargetActor o-- UTargetManager : "Managed Targets"
URegionBase o-- URegionManager : "Managed Regions"
UUdpSocketServer *-- UMyActorManager : "Notify Actor Update"
UUdpSocketServer *-- UTargetManager : "Notify Target Update"
UUdpSocketServer *-- URegionManager : "Notify Region Update"
專案類圖
相關文章
- 專案UML圖
- 專案UML圖(2)
- 【Saas-export專案】--專案整合(實體類、整合mybatis、service)ExportMyBatis
- 【兼職】承接各類 PHP 專案PHP
- vue專案使用Echarts製作專案工期甘特圖VueEcharts
- flask專案之圖書案例Flask
- java獲取專案路徑工具類Java
- WebAPI專案框架新建讀取配置檔案幫助類WebAPI框架
- vue專案新增圖片裁剪元件Vue元件
- 使用甘特圖做專案管理專案管理
- 專案資源管理-日曆圖
- JN專案-地圖定位優化地圖優化
- 前端工具類專案規範化-使用TS前端
- python 打飛機專案 ( 基類封裝 )Python封裝
- Swift 專案總結 02 常用分類方法Swift
- 甘特圖管理專案工具:mcPlanner for MacMac
- Android專案匯入高德地圖Android地圖
- Swift 開源專案精選導圖Swift
- 一圖勝萬言!敏捷專案管理敏捷專案管理
- 圖書管理系統-專案介紹
- java專案中的classpath和類載入器Java
- Vue 後臺管理類專案相容IE9+VueIE9
- 根據專案用例圖用例點估算專案工時的方法
- 專案管理必備——使用燃盡圖監控專案整體進度專案管理
- 類庫專案無法引用Microsoft.AspNetCore程式集下的類庫ROSNetCore
- 黑馬PM-內容專案-流程圖&結構圖流程圖
- 影像匹配(大圖中找小圖)之新專案findimage
- 專案管理系列---腦圖(思維導圖)工具深度分析專案管理
- 從燃盡圖看專案管理:你的專案哪裡出錯了?(燃盡圖型別全解析)專案管理型別
- 類圖和物件圖物件
- 17、flask-圖書簡單館專案Flask
- 實驗專案四:圖書管理系統
- vue專案中使用百度地圖Vue地圖
- activiti7---自定義流程圖(springboot專案)流程圖Spring Boot
- 圖資料庫專案DGraph的前世今生資料庫
- Vue專案pdf(base64)轉圖片Vue
- 截圖的誘惑:Docker部署Puppeteer專案Docker
- vue 專案中引用百度地圖Vue地圖