1
- using System . Collections . Generic ;
1
+ using System ;
2
+ using System . Collections . Generic ;
2
3
using InventorySystem ;
3
4
using Mirror ;
4
5
using RemoteAdmin ;
@@ -99,7 +100,11 @@ public string BadgeColor
99
100
public PlayerMovementState Movement
100
101
{
101
102
get => Player . AnimationController . MoveState ;
102
- set => Player . AnimationController . UserCode_CmdChangeSpeedState ( ( byte ) value ) ;
103
+ set
104
+ {
105
+ Player . AnimationController . MoveState = Movement ;
106
+ Player . AnimationController . RpcReceiveState ( ( byte ) Movement ) ;
107
+ }
103
108
}
104
109
105
110
public MovementDirection Direction { get ; set ; }
@@ -116,68 +121,75 @@ private IEnumerator<float> Update()
116
121
for ( ; ; )
117
122
{
118
123
yield return MEC . Timing . WaitForSeconds ( 0.1f ) ;
119
- if ( GameObject == null ) yield break ;
120
- if ( Direction == MovementDirection . Stop )
121
- {
122
- continue ;
123
- }
124
-
125
- var wall = false ;
126
- var speed = 0f ;
127
-
128
- switch ( Movement )
129
- {
130
- case PlayerMovementState . Sneaking :
131
- speed = SneakSpeed ;
132
- break ;
133
-
134
- case PlayerMovementState . Sprinting :
135
- speed = RunSpeed * Map . Get . SprintSpeed ;
136
- break ;
137
-
138
- case PlayerMovementState . Walking :
139
- speed = WalkSpeed * Map . Get . WalkSpeed ;
140
- break ;
141
- }
142
-
143
- switch ( Direction )
124
+ try
144
125
{
145
- case MovementDirection . Forward :
146
- var pos = Position + Player . CameraReference . forward / 10 * speed ;
147
-
148
- if ( ! Physics . Linecast ( Position , pos , Player . PlayerMovementSync . CollidableSurfaces ) )
149
- Player . PlayerMovementSync . OverridePosition ( pos , 0f , true ) ;
150
- else wall = true ;
151
- break ;
152
-
153
- case MovementDirection . BackWards :
154
- pos = Position - Player . CameraReference . forward / 10 * speed ;
155
-
156
- if ( ! Physics . Linecast ( Position , pos , Player . PlayerMovementSync . CollidableSurfaces ) )
157
- Player . PlayerMovementSync . OverridePosition ( pos , 0f , true ) ;
158
- else wall = true ;
159
- break ;
160
-
161
- case MovementDirection . Right :
162
- pos = Position + Quaternion . AngleAxis ( 90 , Vector3 . up ) * Player . CameraReference . forward / 10 * speed ;
163
-
164
- if ( ! Physics . Linecast ( Position , pos , Player . PlayerMovementSync . CollidableSurfaces ) )
165
- Player . PlayerMovementSync . OverridePosition ( pos , 0f , true ) ;
166
- else wall = true ;
167
- break ;
168
-
169
- case MovementDirection . Left :
170
- pos = Position - Quaternion . AngleAxis ( 90 , Vector3 . up ) * Player . CameraReference . forward / 10 * speed ;
171
-
172
- if ( ! Physics . Linecast ( Position , pos , Player . PlayerMovementSync . CollidableSurfaces ) )
173
- Player . PlayerMovementSync . OverridePosition ( pos , 0f , true ) ;
174
- else wall = true ;
175
- break ;
126
+ if ( GameObject == null ) yield break ;
127
+ if ( Direction == MovementDirection . Stop )
128
+ {
129
+ continue ;
130
+ }
131
+
132
+ var wall = false ;
133
+ var speed = 0f ;
134
+
135
+ switch ( Movement )
136
+ {
137
+ case PlayerMovementState . Sneaking :
138
+ speed = SneakSpeed ;
139
+ break ;
140
+
141
+ case PlayerMovementState . Sprinting :
142
+ speed = RunSpeed * Map . Get . SprintSpeed ;
143
+ break ;
144
+
145
+ case PlayerMovementState . Walking :
146
+ speed = WalkSpeed * Map . Get . WalkSpeed ;
147
+ break ;
148
+ }
149
+
150
+ switch ( Direction )
151
+ {
152
+ case MovementDirection . Forward :
153
+ var pos = Position + Player . CameraReference . forward / 10 * speed ;
154
+
155
+ if ( ! Physics . Linecast ( Position , pos , Player . PlayerMovementSync . CollidableSurfaces ) )
156
+ Player . PlayerMovementSync . OverridePosition ( pos , 0f , true ) ;
157
+ else wall = true ;
158
+ break ;
159
+
160
+ case MovementDirection . BackWards :
161
+ pos = Position - Player . CameraReference . forward / 10 * speed ;
162
+
163
+ if ( ! Physics . Linecast ( Position , pos , Player . PlayerMovementSync . CollidableSurfaces ) )
164
+ Player . PlayerMovementSync . OverridePosition ( pos , 0f , true ) ;
165
+ else wall = true ;
166
+ break ;
167
+
168
+ case MovementDirection . Right :
169
+ pos = Position + Quaternion . AngleAxis ( 90 , Vector3 . up ) * Player . CameraReference . forward / 10 * speed ;
170
+
171
+ if ( ! Physics . Linecast ( Position , pos , Player . PlayerMovementSync . CollidableSurfaces ) )
172
+ Player . PlayerMovementSync . OverridePosition ( pos , 0f , true ) ;
173
+ else wall = true ;
174
+ break ;
175
+
176
+ case MovementDirection . Left :
177
+ pos = Position - Quaternion . AngleAxis ( 90 , Vector3 . up ) * Player . CameraReference . forward / 10 * speed ;
178
+
179
+ if ( ! Physics . Linecast ( Position , pos , Player . PlayerMovementSync . CollidableSurfaces ) )
180
+ Player . PlayerMovementSync . OverridePosition ( pos , 0f , true ) ;
181
+ else wall = true ;
182
+ break ;
183
+ }
184
+
185
+ if ( wall )
186
+ {
187
+ Direction = MovementDirection . Stop ;
188
+ }
176
189
}
177
-
178
- if ( wall )
190
+ catch ( Exception e )
179
191
{
180
- Direction = MovementDirection . Stop ;
192
+ Logger . Get . Error ( $ "Synapse-Dummy: Dummy Update Failed: \n { e } " ) ;
181
193
}
182
194
}
183
195
}
@@ -196,7 +208,7 @@ private IEnumerator<float> Update()
196
208
public Dummy ( Vector3 pos , Vector2 rot , RoleType role = RoleType . ClassD , string name = "(null)" , string badgetext = "" , string badgecolor = "" )
197
209
{
198
210
GameObject obj =
199
- Object . Instantiate (
211
+ UnityEngine . Object . Instantiate (
200
212
NetworkManager . singleton . playerPrefab ) ;
201
213
202
214
GameObject = obj ;
@@ -217,6 +229,7 @@ public Dummy(Vector3 pos, Vector2 rot, RoleType role = RoleType.ClassD, string n
217
229
Player . RankName = badgetext ;
218
230
Player . RankColor = badgecolor ;
219
231
Player . GodMode = true ;
232
+ Player . PlayerMovementSync . NetworkGrounded = true ;
220
233
RunSpeed = CharacterClassManager . _staticClasses [ ( int ) role ] . runSpeed ;
221
234
WalkSpeed = CharacterClassManager . _staticClasses [ ( int ) role ] . walkSpeed ;
222
235
MEC . Timing . RunCoroutine ( Update ( ) ) ;
@@ -254,7 +267,7 @@ public void Spawn()
254
267
/// </summary>
255
268
public void Destroy ( )
256
269
{
257
- Object . Destroy ( GameObject ) ;
270
+ UnityEngine . Object . Destroy ( GameObject ) ;
258
271
Map . Get . Dummies . Remove ( this ) ;
259
272
}
260
273
0 commit comments