예제 #1
0
        virtual public void ProcessHit(Bullet bullet, Fish fish)
        {
            if (!fish.Attackable)
            {
                return;
            }
            var totalOdd = fish.GetFishOddBonus(bullet);
            var list     = fish.BeHit(bullet, totalOdd);

            if (Evt_Hit != null)
            {
                Evt_Hit(totalOdd == 0, bullet.Owner, bullet, fish);
            }
            if (list != null && list.Count > 0)
            {
//                YxDebug.LogError("ProcessHit【{0}】", null, bullet.Score * fish.OddBonus * bullet.FishOddsMulti);
//                YxDebug.LogWrite("ProcessHit【{0}】", null, bullet.Score * fish.OddBonus * bullet.FishOddsMulti);
                var bulletScore = bullet.Score;
                var rate        = fish.OddBonus * bullet.FishOddsMulti;
                fish.DieSkillEffect(Player, bulletScore, rate, bullet.FishOddsMulti, bullet.IsLockingFish, 0);
                GameMain.Singleton.GameServer.SendUserWinAwardMsg(Player.Username, fish.FishName, rate * bulletScore, fish.OddBonus);
            }
        }