Beispiel #1
0
 protected virtual void OnDead(DeadEventArgs e)
 {
     if (Dead != null)
     {
         Dead(this, e);
     }
 }
Beispiel #2
0
        private DeadEventArgs OnDeadForOut()
        {
            DeadEventArgs args = new DeadEventArgs();

            OnDead(args);

            return(args);
        }
Beispiel #3
0
        private DeadEventArgs OnDead(Unit unit)
        {
            DeadEventArgs args = new DeadEventArgs(unit);

            OnDead(args);

            return(args);
        }
Beispiel #4
0
    private void OnDeadEvent(object sender, GameEventArgs e)
    {
        DeadEventArgs deadEventArgs = e as DeadEventArgs;

        if (deadEventArgs.CampType == CampType.Enemy)
        {
            MonsterData data = (MonsterData)deadEventArgs.EntityData;
            GlobalGame.totalPrize += data.Prize;

            // 保存获得的金币
            int gold = PlayerData.Gold;
            PlayerData.Gold = gold + data.Prize;

            RefreshGold();

            // 累积击杀数量
            GlobalGame.killCount++;
            RefreshKillCount();
        }
    }
Beispiel #5
0
    private void OnDeadEvent(object sender, GameEventArgs e)
    {
        if (IsDead)
        {
            return;
        }

        DeadEventArgs deadEventArgs = e as DeadEventArgs;

        if (deadEventArgs.CampType == CampType.Enemy)
        {
            MonsterData data = (MonsterData)deadEventArgs.EntityData;

            /* 加强英雄属性 */
            PowerUpByMonster(data);

            /* 刷新血量条 */
            RefreshHPBar();

            /* 发送刷新属性消息 */
            SendRefreshPropEvent();
        }
    }
Beispiel #6
0
        private static void Mobile_Dead(Mobile m, DeadEventArgs args)
        {
            var c = args.Corpse;

            var map = m.Map;

            if (map != null)
            {
                Packet animPacket = null;
                Packet remPacket  = null;

                foreach (var state in map.GetClientsInRange(m.Location))
                {
                    if (state != m.NetState)
                    {
                        if (animPacket == null)
                        {
                            animPacket = Packet.Acquire(new DeathAnimation(m, c));
                        }

                        state.Send(animPacket);

                        if (!state.Mobile.CanSee(m))
                        {
                            if (remPacket == null)
                            {
                                remPacket = m.RemovePacket;
                            }

                            state.Send(remPacket);
                        }
                    }
                }

                Packet.Release(animPacket);
            }
        }