You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-6Lines changed: 11 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,23 @@
1
1
Widget supports being on multiple screens as well across multiple players. Usage is simple Drag and Drop into the widget blueprint.
2
2
3
-
DOES NOT CURRENTLY SUPPORT BRUSHES. The Brush in the pen settings is for future use. At the moment it is only lines of different colors.
3
+
For documentation please see the [Wiki](https://github.com/Cutter-H/ReplicatedDrawingWidgetPlugin/wiki)
4
4
5
+
If you wish for further information on the plugin's C++ related content, please see the header files, as they are thoroughly commented.
5
6
6
-
### How does it replicate?
7
+
You can find a settings data asset in the plugin's content folder. This has 2 separate variables you can use for optimization purposes. Moving or renaming the DataAsset will cause issues and it will no longer work.
7
8
8
-
The plugin comes with a subsystem that spawns a replicated manager actor. It also listense for actor spawns and adds a lightweight component to player states when they are spawned. The player state component allows the widget to send information to the server. The manager actor holds all data and only 1 is created. Widgets are bound to a delegate on the replicated manager that sends out broadcasts on lines added. The widgets can also erase the data as well as refresh to match the manager to ensure no errors are present. The widgets are identified by the BoardName in the widget as well as the player drawing.
9
+
DOES NOT CURRENTLY SUPPORT BRUSHES. At the moment it is only lines of different colors.
9
10
10
-
There are overridable functions in the widget that allow for conditional line draws (such as if you wish to disable a player or players) and an override to get the drawer/player's name (the default is a GetPlayerName on the player state).
11
+
Any changes to pen data will immediately affect new lines. There are overridable functions in the widget that allow for conditional line draws (such as if you wish to disable a player or players) and an override to get the drawer/player's name (the default is a GetPlayerName on the player state).
12
+
13
+
14
+
## How does it replicate?
15
+
16
+
Since widgets do not replicate, the plugin comes with a subsystem that spawns a replicated manager actor. It also listense for actor spawns and adds a lightweight component to player states when they are spawned. The player state component allows the widget to send information to the server. The manager actor holds all data and only 1 is created. Widgets are bound to a delegate on the replicated manager that sends out broadcasts on lines added. The widgets can also erase the data as well as refresh to match the manager to ensure no errors are present. The widgets are identified by the BoardName in the widget as well as the player drawing.
11
17
12
18
Please see the video below for an example of the usage.
13
19
14
-
This is a plugin that was done in an afternoon and is not finished, but it is in a usable state.
15
-
Documentation and fixes/polish is planned for tomorrow.
/* Override to change how the drawer is identified. By default, GetPlayerName from the player state is used, but this is included if other means should be used. */
56
56
UFUNCTION(BlueprintNativeEvent)
57
57
FName GetDrawerName();
58
+
virtual FName GetDrawerName_Implementation();
59
+
60
+
/* Override for custom logic to let the user draw. If this is false then no drawing occurs. */
58
61
UFUNCTION(BlueprintNativeEvent)
59
62
boolShouldDraw() const;
60
-
63
+
virtualboolShouldDraw_Implementation() const;
64
+
65
+
/* Override for custom logic to check if a line should be drawn. */
0 commit comments