示例#1
0
    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;
        }
    }