Initial commit

This commit is contained in:
HussienX72u
2026-07-21 08:56:10 +03:00
commit 4017028111
9410 changed files with 2150500 additions and 0 deletions
@@ -0,0 +1,9 @@
@startuml
class AxisMoveStrategy {
+ AxisMoveStrategy(lockedRotation:Quaternion, clampMin:float, clampMax:float)
+ BeginDrag(axisDirection:Vector3, ghostPosition:Vector3) : void
+ EndDrag() : void
+ UpdateMovement(ctx:GhostMovementContext) : void
}
IGhostMovementStrategy <|-- AxisMoveStrategy
@enduml
@@ -0,0 +1,17 @@
@startuml
class AxisRotateStrategy {
+ OverridesSurfaceTracking : bool <<get>>
+ Sensitivity : float = 0.4f
+ AxisRotateStrategy(localAxis:LocalAxis, lockedPosition:Vector3)
+ BeginRotate() : void
+ EndRotate() : void
+ UpdateMovement(ctx:GhostMovementContext) : void
}
enum LocalAxis {
Up,
Forward,
Right,
}
IGhostMovementStrategy <|-- AxisRotateStrategy
AxisRotateStrategy +-- LocalAxis
@enduml
@@ -0,0 +1,6 @@
@startuml
class FreeMoveStrategy {
+ UpdateMovement(ctx:GhostMovementContext) : void
}
IGhostMovementStrategy <|-- FreeMoveStrategy
@enduml
@@ -0,0 +1,16 @@
@startuml
struct GhostMovementContext {
+ <<readonly>> FollowSpeed : float
+ <<readonly>> HeightOffset : float
+ <<readonly>> AlignToSurfaceNormal : bool
+ <<readonly>> SnapRotation : bool
+ GhostMovementContext(ghostTransform:Transform, surfacePoint:Vector3, surfaceNormal:Vector3, mySocket:SocketPoint, targetSocket:SocketPoint, attachPoint:Transform, followSpeed:float, heightOffset:float, alignToSurfaceNormal:bool, snapRotation:bool)
}
GhostMovementContext --> "GhostTransform" Transform
GhostMovementContext --> "SurfacePoint" Vector3
GhostMovementContext --> "SurfaceNormal" Vector3
GhostMovementContext --> "MySocket" SocketPoint
GhostMovementContext --> "TargetSocket" SocketPoint
GhostMovementContext --> "AttachPoint" Transform
GhostMovementContext --> "RotationAxis" Vector3
@enduml
@@ -0,0 +1,14 @@
@startuml
class GhostStrategyHandler {
+ {static} getInstance() : GhostStrategyHandler
+ StartDraggingRight() : void
+ StartDraggingUp() : void
+ StartDraggingForward() : void
+ EndDragging() : void
+ StartRotatingRight() : AxisRotateStrategy
+ StartRotatingUp() : AxisRotateStrategy
+ StartRotatingForward() : AxisRotateStrategy
+ StartRotation() : void
}
MonoBehaviour <|-- GhostStrategyHandler
@enduml
@@ -0,0 +1,15 @@
@startuml
class GhostStrategyTester {
+ ClampMin : float
+ ClampMax : float = 5f
+ RotateSensitivity : float = 0.4f
}
enum Mode {
None,
AxisMove,
AxisRotate,
}
MonoBehaviour <|-- GhostStrategyTester
GhostStrategyTester --> "TestTarget" GameObject
GhostStrategyTester +-- Mode
@enduml
@@ -0,0 +1,4 @@
@startuml
interface IGhostMovementStrategy {
}
@enduml
@@ -0,0 +1,20 @@
@startuml
class GhostManager {
+ {static} getInstance() : GhostManager
+ SetMovementStrategy(strategy:IGhostMovementStrategy) : void
+ setDrag(drag:bool) : void
+ ForcePlace() : void
+ SetupBlock(blockData:BlockData) : void
+ SetupExistingBlock(sourceObject:GameObject, strategy:IGhostMovementStrategy) : void
+ HasActiveGhost() : bool
+ isGhost(obj:GameObject) : bool
+ ClearGhost() : void
+ ClearGhostData() : void
+ onClearAddListener(action:UnityAction) : void
+ setupBlock(blockData:BlockData) : void
+ clearGhost() : void
+ clearGhostData() : void
}
MonoBehaviour <|-- GhostManager
GhostManager --> "GhostTransform" Transform
@enduml
@@ -0,0 +1,6 @@
@startuml
class InteractionManager {
+ {static} getInstance() : InteractionManager
}
MonoBehaviour <|-- InteractionManager
@enduml
@@ -0,0 +1,12 @@
@startuml
class SelectionManager {
+ {static} getInstance() : SelectionManager
+ GetCurrentSelections() : List<IInteractable>
+ ClearSelection() : void
+ HasOneSelection() : bool
}
class "UnityEvent`1"<T> {
}
MonoBehaviour <|-- SelectionManager
SelectionManager --> "SelectionEvent<IInteractable>" "UnityEvent`1"
@enduml
@@ -0,0 +1,5 @@
@startuml
class SocketManagerChecker {
}
MonoBehaviour <|-- SocketManagerChecker
@enduml
@@ -0,0 +1,11 @@
@startuml
class UIManager {
+ {static} getInstance() : UIManager
+ selectUIInteractable(uiInteractable:UIInteractable) : void
+ deselectUIInteractable() : void
}
class "UnityEvent`1"<T> {
}
MonoBehaviour <|-- UIManager
UIManager --> "onSelectEvent<BlockData>" "UnityEvent`1"
@enduml