public void OnFire() { //if (CharonRef == null || CharonRef.Life <= 0) // return; if (_spiritShotCooldown > 0.0f) { return; } if (EventController.IsInEvent) { return; } //if (_spirits.Count == 0) //{ // AddSpirit(); // AddSanity(-10.0f); //} if (_spirits.Count > 0) { Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.ReadValue()); Vector3 hit = ray.origin + (ray.direction * (ray.origin.y / -ray.direction.y)); Spirit spirit = _spirits[0]; _spirits.RemoveAt(0); spirit.FireAt(hit); _spiritShotCooldown = SpiritShotCooldown; } }