Skip to content

Commit e35b18e

Browse files
arrow not sending a clientrpc when despawned, vfx get reset on spawn/despawn (#557)
1 parent 7ec53d1 commit e35b18e

File tree

6 files changed

+46
-11
lines changed

6 files changed

+46
-11
lines changed

Assets/BossRoom/Scripts/Client/Game/Entity/ClientProjectileVisualization.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ public class ClientProjectileVisualization : NetworkBehaviour
77
{
88
[SerializeField]
99
[Tooltip("Explosion prefab used when projectile hits enemy. This should have a fixed duration.")]
10-
private SpecialFXGraphic m_OnHitParticlePrefab;
10+
SpecialFXGraphic m_OnHitParticlePrefab;
11+
12+
[SerializeField]
13+
TrailRenderer m_TrailRenderer;
1114

1215
NetworkProjectileState m_NetState;
1316

@@ -25,6 +28,8 @@ public override void OnNetworkSpawn()
2528
return;
2629
}
2730

31+
m_TrailRenderer.Clear();
32+
2833
m_Parent = transform.parent;
2934
transform.parent = null;
3035
m_NetState = m_Parent.GetComponent<NetworkProjectileState>();
@@ -36,6 +41,8 @@ public override void OnNetworkSpawn()
3641

3742
public override void OnNetworkDespawn()
3843
{
44+
m_TrailRenderer.Clear();
45+
3946
if (m_NetState != null)
4047
{
4148
transform.parent = m_Parent;
@@ -69,7 +76,7 @@ void Update()
6976
}
7077
}
7178

72-
private void OnEnemyHit(ulong enemyId)
79+
void OnEnemyHit(ulong enemyId)
7380
{
7481
//in the future we could do quite fancy things, like deparenting the Graphics Arrow and parenting it to the target.
7582
//For the moment we play some particles (optionally), and cause the target to animate a hit-react.

Assets/BossRoom/Scripts/Server/Game/Entity/ServerProjectileLogic.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,18 +87,22 @@ public override void OnNetworkSpawn()
8787

8888
private void FixedUpdate()
8989
{
90-
if (!m_Started) { return; } //don't do anything before OnNetworkSpawn has run.
91-
92-
Vector3 displacement = transform.forward * (m_ProjectileInfo.Speed_m_s * Time.fixedDeltaTime);
93-
transform.position += displacement;
90+
if (!m_Started)
91+
{
92+
return; //don't do anything before OnNetworkSpawn has run.
93+
}
9494

9595
if (m_DestroyAtSec < Time.fixedTime)
9696
{
9797
// Time to return to the pool from whence it came.
98-
NetworkObject networkObject = gameObject.GetComponent<NetworkObject>();
98+
var networkObject = gameObject.GetComponent<NetworkObject>();
9999
networkObject.Despawn();
100+
return;
100101
}
101102

103+
var displacement = transform.forward * (m_ProjectileInfo.Speed_m_s * Time.fixedDeltaTime);
104+
transform.position += displacement;
105+
102106
if (!m_IsDead)
103107
{
104108
DetectCollisions();

Assets/BossRoom/VFX/Prefabs/Archer/fx_ArrowGraphics.prefab

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ GameObject:
1717
m_TagString: Untagged
1818
m_Icon: {fileID: 0}
1919
m_NavMeshLayer: 0
20-
m_StaticEditorFlags: 4294967295
20+
m_StaticEditorFlags: 0
2121
m_IsActive: 1
2222
--- !u!4 &3325143161705299546
2323
Transform:
@@ -96,6 +96,7 @@ MonoBehaviour:
9696
m_Name:
9797
m_EditorClassIdentifier:
9898
m_OnHitParticlePrefab: {fileID: 0}
99+
m_TrailRenderer: {fileID: 939547987977570762}
99100
--- !u!1001 &8427704294362486480
100101
PrefabInstance:
101102
m_ObjectHideFlags: 0
@@ -162,3 +163,8 @@ Transform:
162163
m_CorrespondingSourceObject: {fileID: 9112595075296351182, guid: 660b64eb444497d41af2c727909eb671, type: 3}
163164
m_PrefabInstance: {fileID: 8427704294362486480}
164165
m_PrefabAsset: {fileID: 0}
166+
--- !u!96 &939547987977570762 stripped
167+
TrailRenderer:
168+
m_CorrespondingSourceObject: {fileID: 8790122182988832538, guid: 660b64eb444497d41af2c727909eb671, type: 3}
169+
m_PrefabInstance: {fileID: 8427704294362486480}
170+
m_PrefabAsset: {fileID: 0}

Assets/BossRoom/VFX/Prefabs/Archer/fx_ChargedArrow1Graphics.prefab

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ GameObject:
1717
m_TagString: Untagged
1818
m_Icon: {fileID: 0}
1919
m_NavMeshLayer: 0
20-
m_StaticEditorFlags: 4294967295
20+
m_StaticEditorFlags: 0
2121
m_IsActive: 1
2222
--- !u!4 &3325143161705299546
2323
Transform:
@@ -96,6 +96,7 @@ MonoBehaviour:
9696
m_Name:
9797
m_EditorClassIdentifier:
9898
m_OnHitParticlePrefab: {fileID: 8618909711417914730, guid: dc9de50a71cc1854586afa8a275a6a6b, type: 3}
99+
m_TrailRenderer: {fileID: 4385405951865464679}
99100
--- !u!1001 &4981226344026716285
100101
PrefabInstance:
101102
m_ObjectHideFlags: 0
@@ -166,3 +167,8 @@ Transform:
166167
m_CorrespondingSourceObject: {fileID: 9112595075296351182, guid: 660b64eb444497d41af2c727909eb671, type: 3}
167168
m_PrefabInstance: {fileID: 4981226344026716285}
168169
m_PrefabAsset: {fileID: 0}
170+
--- !u!96 &4385405951865464679 stripped
171+
TrailRenderer:
172+
m_CorrespondingSourceObject: {fileID: 8790122182988832538, guid: 660b64eb444497d41af2c727909eb671, type: 3}
173+
m_PrefabInstance: {fileID: 4981226344026716285}
174+
m_PrefabAsset: {fileID: 0}

Assets/BossRoom/VFX/Prefabs/Archer/fx_ChargedArrow2Graphics.prefab

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ GameObject:
1717
m_TagString: Untagged
1818
m_Icon: {fileID: 0}
1919
m_NavMeshLayer: 0
20-
m_StaticEditorFlags: 4294967295
20+
m_StaticEditorFlags: 0
2121
m_IsActive: 1
2222
--- !u!4 &3325143161705299546
2323
Transform:
@@ -96,6 +96,7 @@ MonoBehaviour:
9696
m_Name:
9797
m_EditorClassIdentifier:
9898
m_OnHitParticlePrefab: {fileID: -6745866273066112404, guid: ae64395b058ab5e4db24271fb6fadb93, type: 3}
99+
m_TrailRenderer: {fileID: 4385405951379145903}
99100
--- !u!1001 &4981226344026716285
100101
PrefabInstance:
101102
m_ObjectHideFlags: 0
@@ -170,3 +171,8 @@ Transform:
170171
m_CorrespondingSourceObject: {fileID: 9112595075296351182, guid: 660b64eb444497d41af2c727909eb671, type: 3}
171172
m_PrefabInstance: {fileID: 4981226344026716285}
172173
m_PrefabAsset: {fileID: 0}
174+
--- !u!96 &4385405951379145903 stripped
175+
TrailRenderer:
176+
m_CorrespondingSourceObject: {fileID: 8790122182468517074, guid: 660b64eb444497d41af2c727909eb671, type: 3}
177+
m_PrefabInstance: {fileID: 4981226344026716285}
178+
m_PrefabAsset: {fileID: 0}

Assets/BossRoom/VFX/Prefabs/Archer/fx_ChargedArrow3Graphics.prefab

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ GameObject:
1717
m_TagString: Untagged
1818
m_Icon: {fileID: 0}
1919
m_NavMeshLayer: 0
20-
m_StaticEditorFlags: 4294967295
20+
m_StaticEditorFlags: 0
2121
m_IsActive: 1
2222
--- !u!4 &3325143161705299546
2323
Transform:
@@ -96,6 +96,7 @@ MonoBehaviour:
9696
m_Name:
9797
m_EditorClassIdentifier:
9898
m_OnHitParticlePrefab: {fileID: 4562743285343113751, guid: 274d5f31ee594904399cb65bae8ec339, type: 3}
99+
m_TrailRenderer: {fileID: 4385405950053795736}
99100
--- !u!1001 &4981226344026716285
100101
PrefabInstance:
101102
m_ObjectHideFlags: 0
@@ -174,3 +175,8 @@ Transform:
174175
m_CorrespondingSourceObject: {fileID: 9112595075296351182, guid: 660b64eb444497d41af2c727909eb671, type: 3}
175176
m_PrefabInstance: {fileID: 4981226344026716285}
176177
m_PrefabAsset: {fileID: 0}
178+
--- !u!96 &4385405950053795736 stripped
179+
TrailRenderer:
180+
m_CorrespondingSourceObject: {fileID: 8790122183726792677, guid: 660b64eb444497d41af2c727909eb671, type: 3}
181+
m_PrefabInstance: {fileID: 4981226344026716285}
182+
m_PrefabAsset: {fileID: 0}

0 commit comments

Comments
 (0)