protected override void OnStopped() { Server.OnUserDisconnected -= Server_OnUserDisconnected; if (redIntel != null && redIntel.CreatableInfo != null) { objectComponent.NetworkDestroy(redIntel.CreatableInfo.Id); objectComponent.NetworkDestroy(blueIntel.CreatableInfo.Id); objectComponent.NetworkDestroy(redPost.CreatableInfo.Id); objectComponent.NetworkDestroy(bluePost.CreatableInfo.Id); redIntel.OnPickedUp -= Intel_OnPickedUp; redIntel.OnDropped -= Intel_OnDropped; redIntel.OnReturned -= Intel_OnReturned; blueIntel.OnPickedUp -= Intel_OnPickedUp; blueIntel.OnDropped -= Intel_OnDropped; blueIntel.OnReturned -= Intel_OnReturned; redPost.PhysicsBody.OnCollision -= Post_OnCollision; bluePost.PhysicsBody.OnCollision -= Post_OnCollision; } redIntel.Dispose(); blueIntel.Dispose(); redPost.Dispose(); blueIntel.Dispose(); teamA.Clear(); teamB.Clear(); teamAScore = 0; teamBScore = 0; base.OnStopped(); }