| 1234567891011121314151617181920212223242526272829303132333435 | using UnityEngine;namespace Mirror.Examples.Tanks{    public class Projectile : NetworkBehaviour    {        public float destroyAfter = 2;        public Rigidbody rigidBody;        public float force = 1000;        public override void OnStartServer()        {            Invoke(nameof(DestroySelf), destroyAfter);        }        // set velocity for server and client. this way we don't have to sync the        // position, because both the server and the client simulate it.        void Start()        {            rigidBody.AddForce(transform.forward * force);        }        // destroy for everyone on the server        [Server]        void DestroySelf()        {            NetworkServer.Destroy(gameObject);        }        // ServerCallback because we don't want a warning        // if OnTriggerEnter is called on the client        [ServerCallback]        void OnTriggerEnter(Collider co) => DestroySelf();    }}
 |