예제 #1
0
    public override bool Add(Entity ent, bool makeActive = false)
    {
        var player = Owner as DeathmatchPlayer;

        player.GiveAmmo(AmmoType.Pistol, 2);

        var weapon  = ent as BaseDmWeapon;
        var notices = !player.SupressPickupNotices;

        //
        // We don't want to pick up the same weapon twice
        // But we'll take the ammo from it Winky Face
        //
        if (weapon != null && IsCarryingType(ent.GetType()))
        {
            var ammo     = weapon.AmmoClip;
            var ammoType = weapon.AmmoType;

            if (ammo > 0)
            {
                player.GiveAmmo(ammoType, ammo);

                if (notices)
                {
                    Sound.FromWorld("dm.pickup_ammo", ent.WorldPos);
                    PickupFeed.OnPickup(player, $"+{ammo} {ammoType}");
                }
            }

            ItemRespawn.Taken(ent);

            // Despawn it
            ent.Delete();
            return(false);
        }

        if (weapon != null && notices)
        {
            Sound.FromWorld("dm.pickup_weapon", ent.WorldPos);
            PickupFeed.OnPickup(player, $"{ent.ClassInfo.Title}");
        }


        ItemRespawn.Taken(ent);
        return(base.Add(ent, makeActive));
    }
예제 #2
0
파일: PickupFeed.cs 프로젝트: zct8002/dm98
 public PickupFeed()
 {
     Current = this;
     StyleSheet.Load("/ui/PickupFeed.scss");
 }
예제 #3
0
 public PickupFeed()
 {
     Current    = this;
     StyleSheet = StyleSheet.FromFile("/ui/PickupFeed.scss");
 }