void fire_plasma(SceneCharacter3D character) { if (!character.can_fire_plasma()) { return; } Projectiles.Add(Plasma.Fire(character, plasma_prefab)); }
public void RequestProjectile(NetworkMessageInfo info) { if (!IsActive) { return; } var attacker_player = Players[info.sender.guid]; Character attacker = attacker_player.BaseCharacter; SceneCharacter3D scene_attacker = SceneCharacters[attacker.Id]; if (scene_attacker.can_fire_plasma()) { InstantiatePlasma(scene_attacker); GetComponent <NetworkView>().RPC("ReceiveProjectile", RPCMode.Others, attacker.Id); } }