Exemplo n.º 1
0
    void CheckFiring()
    {
        if (!IsFiring || IsReloading || CurAmmo <= 0 || NextThink > 0.0)
        {
            return;
        }

        Vector3 from = CameraNode.GlobalTransform.origin;
        Vector3 to   = from + ((-CameraNode.GlobalTransform.basis[2]).normalized() * 100.0f);

        ViewModel.SetWpnAnimation("shoot", true);
        CurAmmo   = Mathf.min(Mathf.max(CurAmmo - 1, 0), MaxAmmo);
        NextThink = 1.0f / 10.0f;

        if (FiringRaycast.IsColliding())
        {
            Godot.Object collider = FiringRaycast.GetCollider();
            GD.print("Collider: ", collider.GetClass());
        }
    }