public void AddMessageLog(FlagEvent e, FlagNode flag, [JoinByTank] TankNode tank2Team, [JoinByTeam] TeamNode tankTeam, FlagNode flag2User, [JoinByTank] TankNode tank2User, [JoinByUser] UserNode user, FlagNode flag2Team, [JoinByTeam] TeamNode flagTeam, [JoinAll] SingleNode <SelfBattleUserComponent> selfUser, [JoinByTeam] Optional <TeamNode> selfTeam, [JoinAll] CombatLogNode combatLog) { CombatLogCTFMessagesComponent combatLogCTFMessages = combatLog.combatLogCTFMessages; string newValue = GetOwnFlag(selfTeam, flagTeam, combatLogCTFMessages); Color teamColor = CombatEventLogUtil.GetTeamColor(tankTeam.colorInBattle.TeamColor, combatLog.combatEventLog); string messageText = CombatEventLogUtil.ApplyPlaceholder(GetMessage(e, flag.Entity, combatLogCTFMessages).Replace(CombatLogCTFMessagesComponent.OWN, newValue), "{user}", user.userRank.Rank, user.userUid.Uid, teamColor); combatLog.uiLog.UILog.AddMessage(messageText); }
private static string GetMessage(FlagEvent e, Entity flag, CombatLogCTFMessagesComponent logCtfMessages) { Type objA = e.GetType(); if (ReferenceEquals(objA, typeof(FlagPickupEvent))) { return(!flag.HasComponent <Tanks.Battle.ClientCore.Impl.FlagHomeStateComponent>() ? logCtfMessages.PickedUp : logCtfMessages.Took); } if (ReferenceEquals(objA, typeof(FlagDropEvent))) { return(!((FlagDropEvent)e).IsUserAction ? logCtfMessages.Lost : logCtfMessages.Dropped); } if (ReferenceEquals(objA, typeof(FlagDeliveryEvent))) { return(logCtfMessages.Delivered); } if (!ReferenceEquals(objA, typeof(FlagReturnEvent))) { throw new ArgumentException(); } return(logCtfMessages.Returned); }