internal Physics2DSpaceQueryResult(Dictionary dict)
 {
     CollidingObject = (CollisionObject2D)dict["collider"];
     ColliderId      = (int)dict["collider_id"];
     Metadata        = dict["metadata"];
     IntersectingRid = (RID)dict["rid"];
     ShapeIndex      = (int)dict["shape"];
 }
Beispiel #2
0
 public void OnDamage(CollisionObject2D collider)
 {
     this.Health -= 1;
     if (this.Health <= 0)
     {
         this.QueueFree();
         SetPhysicsProcess(false);
     }
 }
Beispiel #3
0
    public void OnDamage(CollisionObject2D collider)
    {
        if (this.invulnerabilityFrames == 0)
        {
            if ((collider as CollisionObject2D).IsInGroup(HitGroups.Bullet))
            {
                // Take a damage and do hurt stuff
                Health -= 1;
                invulnerabilityFrames = 120;

                CheckDeath();
            }
        }
    }
Beispiel #4
0
    public void OnDamage(CollisionObject2D collider)
    {
        if (this.invulnerabilityFrames > 0)
        {
            // Count down inv frames
            invulnerabilityFrames -= 1;
        }
        else
        {
            if ((collider as CollisionObject2D).IsInGroup("damaging"))
            {
                // Take a damage and do hurt stuff
                Health -= 1;
                invulnerabilityFrames = 120;

                CheckDeath();
            }
        }
    }
 public void onPlayerExit(CollisionObject2D body)
 {
     EmitSignal(nameof(PlayerExit));
 }
 public void onPlayerEnter(CollisionObject2D body)
 {
     EmitSignal(nameof(PlayerEnter), id);
 }