public override bool Link(GameDataLists lists) { LinkedCard = lists.cards.Find(x => (x.LinkedName.Name.GetCodeName() == CardName)); if (LinkedCard == null) { Logger.WriteLine("FAILED link: GameDataReward, Id:{0}, Card:{1}, no matching card name", Id, CardName); return(false); } return(true); }
public override bool Link(GameDataLists lists) { LinkedPlace = lists.placeNames.Find(x => (x.Name.GetCodeName() == Name)); if (LinkedPlace == null) { Logger.WriteLine("FAILED link: GameDataMap, MapCode:{0}, Name:{1}, no matching place name", MapCode, Name); return(false); } return(true); }
public override bool Link(GameDataLists lists) { if (LinkedOwner != null && LinkedOwner.LinkedNpc != null) { LinkedMap = lists.maps.Find(x => (x.MapCode == MapCode)); if (LinkedMap == null) { Logger.WriteLine("FAILED link: GameDataNpcLocation, NpcBaseId:{0}, MapCode:{1}, no matching Map", Id, MapCode); return(false); } } return(true); }
public override bool Link(GameDataLists lists) { LinkedType = lists.cardTypes.Find(x => (x.Type.GetCodeName() == cardType)); // null is allowed LinkType value LinkedName = lists.cardNames.Find(x => (x.Id == Id)); if (LinkedName == null) { Logger.WriteLine("FAILED link: GameDataCard, Id:{1}, no matching Name", Id); return(false); } return(true); }
public override bool Link(GameDataLists lists) { LinkedRules = new List <GameDataRule>(); foreach (var ruleId in RuleIds) { var LinkedRule = lists.rules.Find(x => (x.Id == ruleId)); if (LinkedRule == null) { Logger.WriteLine("FAILED link: GameDataTournament, Id:{0}, ruleId:{1}, no matching rule Id", Id, ruleId); return(false); } LinkedRules.Add(LinkedRule); } return(true); }
public override bool Link(GameDataLists lists) { LinkedNpc = lists.npcs.Find(x => (x.Id == TriadId)); if (LinkedNpc == null) { Logger.WriteLine("FAILED link: GameDataNpcTriadId, NpcBaseId:{0}, TriadId:{1}, no matching NPC", Id, TriadId); return(false); } LinkedLocation = lists.npcLocations.Find(x => (x.Id == Id)); if (LinkedLocation == null) { Logger.WriteLine("Warning: GameDataNpcTriadId, NpcBaseId:{0}, no matching Location", Id); //Logger.WriteLine("FAILED link: GameDataNpcTriadId, NpcBaseId:{0}, no matching Location", Id); //return false; } else { LinkedLocation.LinkedOwner = this; } LinkedName = lists.npcNames.Find(x => (x.Id == Id)); if (LinkedName == null) { Logger.WriteLine("FAILED link: GameDataNpcTriadId, NpcBaseId:{0}, no matching Name", Id); return(false); } if (LinkedName.Name.GetCodeName().StartsWith("Wyra")) { int a = 1; a++; } return(true); }
public override bool Link(GameDataLists lists) { // no child nodes return(true); }
public override bool Link(GameDataLists lists) { LinkedNpcId = lists.npcTriadIds.Find(x => (x.TriadId == Id)); if (LinkedNpcId == null) { // removed NPC? ignore and fail this entire entry Logger.WriteLine("Warning: GameDataNpc, TriadId:{0}, no matching NPC", Id); return(true); } LinkedCardsFixed = new List <GameDataCard>(); foreach (var cardName in CardsFixed) { var LinkedCard = lists.cards.Find(x => (x.LinkedName.Name.GetCodeName() == cardName)); if (LinkedCard == null) { Logger.WriteLine("FAILED link: GameDataNpc, TriadId:{0}, Card:{1}, no matching card name", Id, cardName); return(false); } LinkedCardsFixed.Add(LinkedCard); } LinkedCardsVariable = new List <GameDataCard>(); foreach (var cardName in CardsVariable) { var LinkedCard = lists.cards.Find(x => (x.LinkedName.Name.GetCodeName() == cardName)); if (LinkedCard == null) { Logger.WriteLine("FAILED link: GameDataNpc, TriadId:{0}, Card:{1}, no matching card name", Id, cardName); return(false); } LinkedCardsVariable.Add(LinkedCard); } LinkedRules = new List <GameDataRule>(); foreach (var ruleName in Rules) { var LinkedRule = lists.rules.Find(x => (x.Name.GetCodeName() == ruleName)); if (LinkedRule == null) { Logger.WriteLine("FAILED link: GameDataNpc, TriadId:{0}, Rule:{1}, no matching rule name", Id, ruleName); return(false); } LinkedRules.Add(LinkedRule); } LinkedRewards = new List <GameDataReward>(); foreach (var itemName in Rewards) { var LinkedReward = lists.rewards.Find(x => (x.CardName == itemName)); if (LinkedReward == null && itemName.EndsWith(" Card")) { var itemName2 = itemName.Substring(0, itemName.Length - 5); LinkedReward = lists.rewards.Find(x => (x.CardName == itemName2)); if (LinkedReward == null) { var itemName3 = "The " + itemName2; LinkedReward = lists.rewards.Find(x => (x.CardName == itemName3)); } } if (LinkedReward == null) { Logger.WriteLine("FAILED link: GameDataNpc, TriadId:{0}, Reward:{1}, no matching item name", Id, itemName); return(false); } LinkedRewards.Add(LinkedReward); } return(true); }
public virtual bool Link(GameDataLists lists) { return(false); }