@@ -30,8 +30,8 @@ internal FakeRoleManager(SynapsePlayer player, MirrorService mirror, PlayerServi
30
30
31
31
public void Reset ( )
32
32
{
33
- _ownVisibleRole = new RoleInfo ( RoleTypeId . None , null , null ) ;
34
- _visibleRole = new RoleInfo ( RoleTypeId . None , null , null ) ;
33
+ _ownVisibleRoleInfo = new RoleInfo ( RoleTypeId . None , null , null ) ;
34
+ _visibleRoleInfo = new RoleInfo ( RoleTypeId . None , null , null ) ;
35
35
ToPlayerVisibleRole . Clear ( ) ;
36
36
VisibleRoleCondition . Clear ( ) ;
37
37
UpdateAll ( ) ;
@@ -48,24 +48,36 @@ public void UpdateAll()
48
48
public void UpdatePlayer ( SynapsePlayer player )
49
49
=> player . SendNetworkMessage ( new RoleSyncInfo ( _player , RoleTypeId . None , player ) ) ;
50
50
51
- private RoleInfo _ownVisibleRole = new ( RoleTypeId . None , null , null ) ;
52
- public RoleInfo OwnVisibleRole
51
+ public RoleTypeId OwnVisibleRole
53
52
{
54
- get => _ownVisibleRole ;
53
+ get => OwnVisibleRoleInfo . RoleTypeId ;
54
+ set => OwnVisibleRoleInfo = new RoleInfo ( value , _player ) ;
55
+ }
56
+
57
+ private RoleInfo _ownVisibleRoleInfo = new ( RoleTypeId . None , null , null ) ;
58
+ public RoleInfo OwnVisibleRoleInfo
59
+ {
60
+ get => _ownVisibleRoleInfo ;
55
61
set
56
62
{
57
- _ownVisibleRole = value ;
63
+ _ownVisibleRoleInfo = value ;
58
64
UpdatePlayer ( _player ) ;
59
65
}
60
66
}
67
+
68
+ public RoleTypeId VisibleRole
69
+ {
70
+ get => VisibleRoleInfo . RoleTypeId ;
71
+ set => VisibleRoleInfo = new RoleInfo ( value , _player ) ;
72
+ }
61
73
62
- private RoleInfo _visibleRole = new ( RoleTypeId . None , null , null ) ;
63
- public RoleInfo VisibleRole
74
+ private RoleInfo _visibleRoleInfo = new ( RoleTypeId . None , null , null ) ;
75
+ public RoleInfo VisibleRoleInfo
64
76
{
65
- get => _visibleRole ;
77
+ get => _visibleRoleInfo ;
66
78
set
67
79
{
68
- _visibleRole = value ;
80
+ _visibleRoleInfo = value ;
69
81
foreach ( var player in _playerService . Players )
70
82
{
71
83
if ( player != _player )
@@ -93,9 +105,9 @@ public void WriteRoleSyncInfoFor(SynapsePlayer receiver, NetworkWriter writer)
93
105
94
106
public RoleInfo GetRoleInfo ( SynapsePlayer receiver )
95
107
{
96
- if ( receiver == _player && OwnVisibleRole . RoleTypeId != RoleTypeId . None )
108
+ if ( receiver == _player && OwnVisibleRoleInfo . RoleTypeId != RoleTypeId . None )
97
109
{
98
- return OwnVisibleRole ;
110
+ return OwnVisibleRoleInfo ;
99
111
}
100
112
101
113
if ( ToPlayerVisibleRole . ContainsKey ( receiver ) )
@@ -109,9 +121,9 @@ public RoleInfo GetRoleInfo(SynapsePlayer receiver)
109
121
return condition . Value ;
110
122
}
111
123
112
- if ( VisibleRole . RoleTypeId != RoleTypeId . None )
124
+ if ( VisibleRoleInfo . RoleTypeId != RoleTypeId . None )
113
125
{
114
- return VisibleRole ;
126
+ return VisibleRoleInfo ;
115
127
}
116
128
117
129
var publicWriter = _player . CurrentRole as IPublicSpawnDataWriter ;
@@ -190,7 +202,7 @@ public RoleInfo(RoleTypeId role, SynapsePlayer player)
190
202
191
203
default :
192
204
if ( typeof ( HumanRole ) . IsAssignableFrom ( FakeRoleManager . EnumToType [ role ] ) )
193
- PrepareHumanRole ( role , 0 , player ) ;
205
+ PrepareHumanRole ( role , player . UnitNameId , player ) ;
194
206
else if ( typeof ( FpcStandardRoleBase ) . IsAssignableFrom ( FakeRoleManager . EnumToType [ role ] ) )
195
207
PrepareFpcRole ( player ) ;
196
208
break ;
0 commit comments