public static Models.MapNote Load(string fqn) { Models.MapNote result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); Models.MapNote mpn = new Models.MapNote(); return(Load(mpn, obj)); }
public static Models.MapNote Load(ulong nodeId) { Models.MapNote result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); Models.MapNote mpn = new Models.MapNote(); return(Load(mpn, obj)); }
public static Models.MapNote Load(Models.MapNote mpn, GomObject obj) { if (obj == null) { return(null); } if (mpn == null) { return(null); } mpn.Fqn = obj.Name; mpn.NodeId = obj.Id; long mpnAssetID = obj.Data.Get <long>("mpnAssetID"); mpn.Id = (ulong)(mpnAssetID >> 32); var textLookup = obj.Data.Get <Dictionary <object, object> >("locTextRetrieverMap"); var nameLookupData = (GomObjectData)textLookup[NameLookupKey]; mpn.Name = StringTable.TryGetString(mpn.Fqn, nameLookupData); mpn.Icon = MapNoteIconExtensions.ToMapNoteIcon(obj.Data.Get <string>("mpnIconAsset")); if (obj.Data.ContainsKey("mpnConditionEType")) { mpn.Condition = MapNoteConditionExtensions.ToMapNoteCondition(obj.Data.Get <object>("mpnConditionEType").ToString()); } if (obj.Data.ContainsKey("mpnHuntingRadius")) { mpn.HuntingRadius = HuntingRadiusExtensions.ToHuntingRadius(obj.Data.Get <long>("mpnHuntingRadius")); } if (obj.Data.ContainsKey("mpnHuntingRadiusBonus")) { mpn.BonusHuntingRadius = HuntingRadiusExtensions.ToHuntingRadius(obj.Data.Get <long>("mpnHuntingRadiusBonus")); } if (obj.Data.ContainsKey("mpnMapLink")) { var mapLink = obj.Data.Get <GomObjectData>("mpnMapLink"); ulong areaId = mapLink.Get <ulong>("mapLinkAreaId"); long sId = mapLink.Get <long>("mapLinkMapNameSId"); GetLinkedMapId(mpn, areaId, sId); } // if (obj.Data.ContainsKey("mpnMetadataFullFQN") && mpn.Icon != MapNoteIcon.Taxi && mpn.Icon != MapNoteIcon.Wonkavator) { Console.WriteLine(mpn.Fqn); } if (obj.Data.ContainsKey("mpnMetadataInt")) { mpn.WonkaPackageId = obj.Data.Get <long>("mpnMetadataInt"); } if (obj.Data.ContainsKey("mpnMetadataID")) { mpn.WonkaDestinationId = (long)obj.Data.Get <ulong>("mpnMetadataID"); } if (mpn.Icon == MapNoteIcon.Taxi) { if (obj.Data.ContainsKey("mpnMetadataFullFQN")) { ulong taxiNodeId = obj.Data.Get <ulong>("mpnMetadataFullFQN"); var taxiNode = DataObjectModel.GetObject(taxiNodeId); if (taxiNode != null) { long taxNameId = taxiNode.Data.ValueOrDefault <long>("taxNameId", -1); long taxFaction = taxiNode.Data.ValueOrDefault <long>("taxFaction", 0); mpn.Name = taxiTerminals.GetText(0x7D60500000000 + taxNameId, mpn.Fqn); } } } return(mpn); }