public void CheckForKillMarker(KillMessage message) { if (message.attacker == player && message.victim != player) { killEffect.Invoke(); } }
private void ShowNewMessage(KillMessage message) { string killerName = playerNameHelper.GetName(message.KillerId, message.KillerType); string victimName = playerNameHelper.GetName(message.VictimId, message.VictimType); foreach (var killInfoObject in messageObjects) { Transform transform = killInfoObject.transform; transform.localPosition = transform.localPosition + new Vector3(0, -50f); killInfoObject.DecreaseTransparency(NewMessageFading); } if (message.KillerId == currentPlayerId) { playerKillsCount++; } aliveCount--; KillModel newMessage = Object.Instantiate(messagePrefabPrototype, messagesContainer); newMessage.SetKillerName(killerName); Texture2D texture2D = Texture2D.whiteTexture; // Sprite sprite = Sprite.Create(texture2D, new Rect(0,0,100,100), Vector2.zero); newMessage.SetVictimName(victimName); // newMessage.SetKillerSprite(sprite); // newMessage.SetVictimSprite(sprite); //todo установить нормальные спрайты // newMessage.SetKillerSprite(PreviewsManager.GetSprite(message.KillerType)); // newMessage.SetVictimSprite(PreviewsManager.GetSprite(message.VictimType)); messageObjects.Enqueue(newMessage); }
public void SendKill(int matchId, KillData killData) { var playerId = killData.TargetPlayerTmpId; var message = new KillMessage(killData.KillerId, killData.KillerType, killData.VictimId, killData.VictimType); SendUdp(matchId, playerId, message, true); }
//Processes a player death, this method is called from the Health script public void PlayerKill(Player killed, NetworkInstanceId by) { Player victim = killed; Player killer = playerList.Find(p => p.objectId == by); victim.deaths++; if (killer != null && killer.team != victim.team) { killer.kills++; int scoreGain = victim.GetBounty() + 1; teamScores[killer.team] += scoreGain; killer.score += (short)scoreGain; KillMessage msg = new KillMessage(); msg.bountyGained = victim.GetBounty(); NetworkServer.SendToClient(killer.connectionId, ExtMsgType.Kill, msg); victim.killstreak = 0; killer.AddKill(); Debug.Log("Player " + killer.name + " killed player " + victim.name + "!"); } else { Debug.Log("Player " + victim.name + " suicided!"); } Player.ActivateEventPlayerKilled(victim, killer); SendGameState(); CheckEndGame(); }
public static void Transmit(KillMessage message) { if (OnKill != null) { OnKill.Invoke(message); } }
public AbstractMessage Parse(string input) { Regex regex = new Regex(pattern); if (regex.IsMatch(input)) { KillMessage abstractMessage = new KillMessage(); var match = regex.Match(input); abstractMessage.UserName = match.Groups["userName"].Value; abstractMessage.UserID = match.Groups["userId"].Value; abstractMessage.UserSteamID = match.Groups["userSteamId"].Value; abstractMessage.UserTeam = match.Groups["userTeam"].Value; Int32.TryParse(match.Groups["userPosX"].Value, out int userPosX); abstractMessage.UserPosX = userPosX; Int32.TryParse(match.Groups["userPosY"].Value, out int userPosY); abstractMessage.UserPosY = userPosY; Int32.TryParse(match.Groups["userPosZ"].Value, out int userPosZ); abstractMessage.UserPosZ = userPosZ; abstractMessage.KilledUserName = match.Groups["killedUserName"].Value; abstractMessage.KilledUserID = match.Groups["killedUserId"].Value; abstractMessage.KilledUserSteamID = match.Groups["killedSteamId"].Value; abstractMessage.KilledUserTeam = match.Groups["killedUserTeam"].Value; Int32.TryParse(match.Groups["killedPosX"].Value, out int killedPosX); abstractMessage.KilledUserPosX = killedPosX; Int32.TryParse(match.Groups["killedPosY"].Value, out int killedPosY); abstractMessage.KilledUserPosY = killedPosY; Int32.TryParse(match.Groups["killedPosZ"].Value, out int killedPosZ); abstractMessage.KilledUserPosZ = killedPosZ; abstractMessage.Weapon = match.Groups["weapon"].Value; Regex headshotRegex = new Regex(headshotPattern); if (headshotRegex.IsMatch(match.Groups["headshotOrPenetrated"].Value)) { abstractMessage.IsHeadshot = true; } else { abstractMessage.IsHeadshot = false; } Regex penetratedRegex = new Regex(penetratedPattern); if (penetratedRegex.IsMatch(match.Groups["headshotOrPenetrated"].Value)) { abstractMessage.IsPenetrated = true; } else { abstractMessage.IsPenetrated = false; } return(abstractMessage); } return(null); }
public void UpdateObjective(KillMessage km) { print("Checking quantity objective"); if (state == ObjectiveState.Active && (km.victim == enemyType || km.victim.GetComponent <Entity>().properName == enemyType.properName)) { print("Enemy eliminated"); amountEliminated += 1; } if (amountEliminated >= quantity) { Complete(); } }
/* * public void CheckInteractObjectives(InteractMessage im) * { * foreach (InteractObjective o in objectives) * { * if (im.interactable == o.objectiveInteractable) * { * * } * } * } */ public string KillFeedMessage(KillMessage km) { string deathMessage = km.victim.name + " was "; switch (km.causeOfDeath) { case DamageType.Shot: deathMessage += "riddled with bullets"; break; case DamageType.CriticalShot: deathMessage += "fatally shot"; break; case DamageType.BlownUp: deathMessage += "blown up"; break; case DamageType.Gibbed: deathMessage += "splattered to giblets"; break; case DamageType.Burned: deathMessage += "burned to a crisp"; break; case DamageType.Bludgeoned: deathMessage += "bludgeoned to a pulp"; break; case DamageType.FallDamage: deathMessage += "reduced to a flat red stain"; break; default: deathMessage += "killed"; break; } if (km.attacker != null) { deathMessage += " by " + km.attacker.name; } deathMessage += "!"; return(deathMessage); }
public void CheckKillObjectives(KillMessage km) { if (km.attacker.GetComponent <PlayerHandler>() != null) { print("Checking kill objectives"); foreach (PlayerObjective o in objectives) { KillQuantityObjective kqo = o as KillQuantityObjective; if (kqo) { kqo.UpdateObjective(km); } KillGroupObjective kgo = o as KillGroupObjective; if (kgo) { kgo.UpdateObjective(km); } } } }
public void UpdateObjective(KillMessage km) { if (state != ObjectiveState.Active) { return; } for (int i = 0; i < enemies.Count; i++) { if (enemies[i] == km.victim) { enemies.Remove(enemies[i]); break; } } if (enemies.Count <= 0) { Complete(); } }
public void AddKillModel(KillMessage message) { messages.Enqueue(message); log.Debug($"Сообщение об убийстве {message.KillerId} {message.KillerType} {message.VictimId}" + $" {message.VictimType}"); }
public static void AddNewKillInfo(KillMessage message) { Messages.Add(message); wasChanged = true; }
public Task SendKillMessage(KillMessage message) { return(this.SendMessage(message)); }