public void InviteToFaction(Client sender, int _Id) { var factionId = API.getEntityData(sender, "FactionId"); if (factionId == 0) { API.sendChatMessageToPlayer(sender, "~r~Herhangi bir oluşumda değilsiniz."); return; } var factionRank = API.getEntityData(sender, "FactionRank"); FactionRank _FacRank = db_FactionRanks.GetFactionRanks(factionId); if (factionRank >= _FacRank.Ranks[_FacRank.Ranks.Count - 2].RankLevel) { foreach (var itemPlayer in API.getAllPlayers()) { if (API.getEntityData(itemPlayer, "ID") == _Id) { if (API.getEntityData(itemPlayer, "FactionId") > 0) { API.shared.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Bu oyuncu zaten başka bir oluşumda."); return; } API.setEntityData(itemPlayer, "FactionInvite", factionId); API.sendChatMessageToPlayer(itemPlayer, "~y~" + API.getEntityData(sender, "CharacterName") + " adlı kişi sizi " + ToFactionName(factionId) + " oluşumuna davet ediyor. (( /olusumkabulet ))"); API.sendChatMessageToPlayer(sender, "~y~" + API.getEntityData(itemPlayer, "CharacterName") + " adlı kişiyi " + ToFactionName(factionId) + " oluşumuna davet ettiniz."); return; } } } API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Bunun için yetkiniz yok."); }
public void KickFromFAction(Client sender, int targetPlayerId) { var factionId = API.getEntityData(sender, "FactionId"); if (factionId == 0) { API.sendChatMessageToPlayer(sender, "~r~Herhangi bir oluşumda değilsiniz."); return; } var factionRank = API.getEntityData(sender, "FactionRank"); FactionRank _FacRank = db_FactionRanks.GetFactionRanks(factionId); if (factionRank >= _FacRank.Ranks.LastOrDefault().RankLevel) { var player = db_Accounts.GetPlayerById(targetPlayerId); if (API.getEntityData(player, "FactionId") == factionId) { API.setEntityData(player, "FactionId", 0); API.setEntityData(player, "FactionRank", 1); API.sendChatMessageToPlayer(player, "~y~" + API.getEntityData(player, "CharacterName") + " adlı kişiyi oluşumdan başarıyla çıkarttınız."); } else { API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Kişi zaten oluşumda değil."); } } }
private static void InitNewFaction(int factionId) { var _FacRank = new FactionRank { FactionId = factionId }; currentFactionRAnkss.Items.Add(_FacRank); SaveChanges(); }
public static void InitRanks() { currentFactionRAnkss.Items.Clear(); GetAll(); if (currentFactionRAnkss.Items.Count == 0) { var factionRank = new FactionRank(); factionRank.FactionId = 1; currentFactionRAnkss.Items.Add(factionRank); SaveChanges(); } }
public static bool AddRankToFaction(int factionId, Rank _model) { try { var _faction = currentFactionRAnkss.Items.FirstOrDefault(x => x.FactionId == factionId); if (_faction != null) { if (_faction.Ranks == null) { _faction.Ranks = new List <Rank>(); } if (_faction.Ranks.Count == 0) { _faction.Ranks = new List <Rank>(); _faction.Ranks.Add(new Rank { RankLevel = 1, RankName = _model.RankName }); } else { _faction.Ranks.Add(new Rank { RankLevel = _faction.Ranks.LastOrDefault().RankLevel + 1, RankName = _model.RankName }); } SaveChanges(); return(true); } else { var _FacRank = new FactionRank(); _FacRank.FactionId = factionId; _FacRank.Ranks.Add(new Rank { RankLevel = 1, RankName = _model.RankName }); currentFactionRAnkss.Items.Add(_FacRank); SaveChanges(); return(true); } } catch (Exception ex) { API.shared.consoleOutput(LogCat.Fatal, ex.ToString()); return(false); } }
public static FactionRank GetFactionRanks(int factionId) { var _FacRank = currentFactionRAnkss.Items.FirstOrDefault(x => x.FactionId == factionId); if (currentFactionRAnkss != null) { //API.shared.consoleOutput("step 1: " + _FacRank.Ranks.Count); return(_FacRank); } else { //API.shared.consoleOutput("step 2: " + _FacRank.Ranks.Count); var _newFacRank = new FactionRank(); _newFacRank.FactionId = factionId; currentFactionRAnkss.Items.Add(_newFacRank); SaveChanges(); //API.shared.consoleOutput("step 3: " + _newFacRank.Ranks.Count); return(_newFacRank); } }
public static bool UpdateFactionRank(FactionRank _model) { var _editedModel = currentFactionRAnkss.Items.FirstOrDefault(x => x.FactionId == _model.FactionId); if (_editedModel != null) { try { _editedModel.Ranks = _model.Ranks; SaveChanges(); return(true); } catch (Exception ex) { API.shared.consoleOutput(LogCat.Warn, ex.ToString()); return(false); } } else { return(false); } }
public void GiveRankToPlayer(Client sender, int targetPlayerId, int rankLevel) { var factionId = API.getEntityData(sender, "FactionId"); if (factionId == 0) { API.sendChatMessageToPlayer(sender, "~r~Herhangi bir oluşumda değilsiniz."); return; } var factionRank = API.getEntityData(sender, "FactionRank"); FactionRank _FacRank = db_FactionRanks.GetFactionRanks(factionId); if (factionRank >= _FacRank.Ranks[_FacRank.Ranks.Count - 2].RankLevel) { var player = db_Accounts.GetPlayerById(targetPlayerId); if (player == null) { API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Oyuncu bulunamadı."); return; } if (API.getEntityData(player, "FactionId") != factionId) { API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Bu oyuncu sizin ile aynı oluşumda değil."); return; } if (API.getEntityData(player, "FactionId") > rankLevel) { API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Bu oyuncunun rütbesi sizden yüksek olduğundan müdahale edemezsiniz."); return; } API.setEntityData(player, "FactionId", rankLevel); } else { API.sendChatMessageToPlayer(sender, "~r~UYARI: ~s~Bunun için yetkiniz yok."); } }
public override void WriteData(ESPWriter writer) { if (EditorID != null) { EditorID.WriteBinary(writer); } if (Base != null) { Base.WriteBinary(writer); } if (EncounterZone != null) { EncounterZone.WriteBinary(writer); } if (RagdollData != null) { RagdollData.WriteBinary(writer); } if (RagdollBipedData != null) { RagdollBipedData.WriteBinary(writer); } if (Patrol != null) { Patrol.WriteBinary(writer); } if (LevelModifier != null) { LevelModifier.WriteBinary(writer); } if (Owner != null) { Owner.WriteBinary(writer); } if (FactionRank != null) { FactionRank.WriteBinary(writer); } if (MerchantContainer != null) { MerchantContainer.WriteBinary(writer); } if (Count != null) { Count.WriteBinary(writer); } if (Radius != null) { Radius.WriteBinary(writer); } if (Health != null) { Health.WriteBinary(writer); } if (Decals != null) { foreach (var item in Decals) { item.WriteBinary(writer); } } if (LinkedReference != null) { LinkedReference.WriteBinary(writer); } if (LinkedReferenceColor != null) { LinkedReferenceColor.WriteBinary(writer); } if (ParentActivateOnly != null) { ParentActivateOnly.WriteBinary(writer); } if (ActivateParents != null) { foreach (var item in ActivateParents) { item.WriteBinary(writer); } } if (ActivationPrompt != null) { ActivationPrompt.WriteBinary(writer); } if (EnableParent != null) { EnableParent.WriteBinary(writer); } if (Emittance != null) { Emittance.WriteBinary(writer); } if (MultiBound != null) { MultiBound.WriteBinary(writer); } if (IgnoredBySandbox != null) { IgnoredBySandbox.WriteBinary(writer); } if (Scale != null) { Scale.WriteBinary(writer); } if (PositionRotation != null) { PositionRotation.WriteBinary(writer); } }
public override void ReadData(ESPReader reader, long dataEnd) { while (reader.BaseStream.Position < dataEnd) { string subTag = reader.PeekTag(); switch (subTag) { case "EDID": if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadBinary(reader); break; case "NAME": if (Base == null) { Base = new RecordReference(); } Base.ReadBinary(reader); break; case "XEZN": if (EncounterZone == null) { EncounterZone = new RecordReference(); } EncounterZone.ReadBinary(reader); break; case "XRGD": if (RagdollData == null) { RagdollData = new SimpleSubrecord <Byte[]>(); } RagdollData.ReadBinary(reader); break; case "XRGB": if (RagdollBipedData == null) { RagdollBipedData = new SimpleSubrecord <Byte[]>(); } RagdollBipedData.ReadBinary(reader); break; case "XPRD": if (Patrol == null) { Patrol = new ReferencePatrolData(); } Patrol.ReadBinary(reader); break; case "XLCM": if (LevelModifier == null) { LevelModifier = new SimpleSubrecord <Int32>(); } LevelModifier.ReadBinary(reader); break; case "XOWN": if (Owner == null) { Owner = new RecordReference(); } Owner.ReadBinary(reader); break; case "XRNK": if (FactionRank == null) { FactionRank = new SimpleSubrecord <Int32>(); } FactionRank.ReadBinary(reader); break; case "XMRC": if (MerchantContainer == null) { MerchantContainer = new RecordReference(); } MerchantContainer.ReadBinary(reader); break; case "XCNT": if (Count == null) { Count = new SimpleSubrecord <Int32>(); } Count.ReadBinary(reader); break; case "XRDS": if (Radius == null) { Radius = new SimpleSubrecord <Single>(); } Radius.ReadBinary(reader); break; case "XHLP": if (Health == null) { Health = new SimpleSubrecord <Single>(); } Health.ReadBinary(reader); break; case "XDCR": if (Decals == null) { Decals = new List <SimpleSubrecord <Byte[]> >(); } SimpleSubrecord <Byte[]> tempXDCR = new SimpleSubrecord <Byte[]>(); tempXDCR.ReadBinary(reader); Decals.Add(tempXDCR); break; case "XLKR": if (LinkedReference == null) { LinkedReference = new RecordReference(); } LinkedReference.ReadBinary(reader); break; case "XCLP": if (LinkedReferenceColor == null) { LinkedReferenceColor = new LinkedReferenceColor(); } LinkedReferenceColor.ReadBinary(reader); break; case "XAPD": if (ParentActivateOnly == null) { ParentActivateOnly = new SimpleSubrecord <NoYesByte>(); } ParentActivateOnly.ReadBinary(reader); break; case "XAPR": if (ActivateParents == null) { ActivateParents = new List <ActivateParent>(); } ActivateParent tempXAPR = new ActivateParent(); tempXAPR.ReadBinary(reader); ActivateParents.Add(tempXAPR); break; case "XATO": if (ActivationPrompt == null) { ActivationPrompt = new SimpleSubrecord <String>(); } ActivationPrompt.ReadBinary(reader); break; case "XESP": if (EnableParent == null) { EnableParent = new EnableParent(); } EnableParent.ReadBinary(reader); break; case "XEMI": if (Emittance == null) { Emittance = new RecordReference(); } Emittance.ReadBinary(reader); break; case "XMBR": if (MultiBound == null) { MultiBound = new RecordReference(); } MultiBound.ReadBinary(reader); break; case "XIBS": if (IgnoredBySandbox == null) { IgnoredBySandbox = new SubMarker(); } IgnoredBySandbox.ReadBinary(reader); break; case "XSCL": if (Scale == null) { Scale = new SimpleSubrecord <Single>(); } Scale.ReadBinary(reader); break; case "DATA": if (PositionRotation == null) { PositionRotation = new PositionRotation(); } PositionRotation.ReadBinary(reader); break; default: throw new Exception(); } } }
public FactionPermission(String player, FactionRank rank) { Player = player; this.rank = rank; }
public override void ReadDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("EditorID", false, out subEle)) { if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadXML(subEle, master); } if (ele.TryPathTo("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("CellFlags", false, out subEle)) { if (CellFlags == null) { CellFlags = new SimpleSubrecord <CellFlags>(); } CellFlags.ReadXML(subEle, master); } if (ele.TryPathTo("Grid", false, out subEle)) { if (Grid == null) { Grid = new CellGrid(); } Grid.ReadXML(subEle, master); } if (ele.TryPathTo("Lighting", false, out subEle)) { if (Lighting == null) { Lighting = new CellLighting(); } Lighting.ReadXML(subEle, master); } if (ele.TryPathTo("FootstepMaterial", false, out subEle)) { if (FootstepMaterial == null) { FootstepMaterial = new FootstepMaterial(); } FootstepMaterial.ReadXML(subEle, master); } if (ele.TryPathTo("LightTemplate", false, out subEle)) { if (LightTemplate == null) { LightTemplate = new RecordReference(); } LightTemplate.ReadXML(subEle, master); } if (ele.TryPathTo("LightTemplateInherit", false, out subEle)) { if (LightTemplateInherit == null) { LightTemplateInherit = new SimpleSubrecord <LightTemplateInheritFlags>(); } LightTemplateInherit.ReadXML(subEle, master); } if (ele.TryPathTo("WaterHeight", false, out subEle)) { if (WaterHeight == null) { WaterHeight = new SimpleSubrecord <Single>(); } WaterHeight.ReadXML(subEle, master); } if (ele.TryPathTo("WaterNoiseTexture", false, out subEle)) { if (WaterNoiseTexture == null) { WaterNoiseTexture = new SimpleSubrecord <String>(); } WaterNoiseTexture.ReadXML(subEle, master); } if (ele.TryPathTo("Regions", false, out subEle)) { if (Regions == null) { Regions = new SortedFormArray(); } Regions.ReadXML(subEle, master); } if (ele.TryPathTo("ImageSpace", false, out subEle)) { if (ImageSpace == null) { ImageSpace = new RecordReference(); } ImageSpace.ReadXML(subEle, master); } if (ele.TryPathTo("Unknown", false, out subEle)) { if (Unknown == null) { Unknown = new SimpleSubrecord <Byte>(); } Unknown.ReadXML(subEle, master); } if (ele.TryPathTo("EncounterZone", false, out subEle)) { if (EncounterZone == null) { EncounterZone = new RecordReference(); } EncounterZone.ReadXML(subEle, master); } if (ele.TryPathTo("Climate", false, out subEle)) { if (Climate == null) { Climate = new RecordReference(); } Climate.ReadXML(subEle, master); } if (ele.TryPathTo("Water", false, out subEle)) { if (Water == null) { Water = new RecordReference(); } Water.ReadXML(subEle, master); } if (ele.TryPathTo("Owner", false, out subEle)) { if (Owner == null) { Owner = new RecordReference(); } Owner.ReadXML(subEle, master); } if (ele.TryPathTo("FactionRank", false, out subEle)) { if (FactionRank == null) { FactionRank = new SimpleSubrecord <Int32>(); } FactionRank.ReadXML(subEle, master); } if (ele.TryPathTo("AcousticSpace", false, out subEle)) { if (AcousticSpace == null) { AcousticSpace = new RecordReference(); } AcousticSpace.ReadXML(subEle, master); } if (ele.TryPathTo("Unused", false, out subEle)) { if (Unused == null) { Unused = new SimpleSubrecord <Byte>(); } Unused.ReadXML(subEle, master); } if (ele.TryPathTo("MusicType", false, out subEle)) { if (MusicType == null) { MusicType = new RecordReference(); } MusicType.ReadXML(subEle, master); } }
public override void WriteDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (EditorID != null) { ele.TryPathTo("EditorID", true, out subEle); EditorID.WriteXML(subEle, master); } if (Name != null) { ele.TryPathTo("Name", true, out subEle); Name.WriteXML(subEle, master); } if (CellFlags != null) { ele.TryPathTo("CellFlags", true, out subEle); CellFlags.WriteXML(subEle, master); } if (Grid != null) { ele.TryPathTo("Grid", true, out subEle); Grid.WriteXML(subEle, master); } if (Lighting != null) { ele.TryPathTo("Lighting", true, out subEle); Lighting.WriteXML(subEle, master); } if (FootstepMaterial != null) { ele.TryPathTo("FootstepMaterial", true, out subEle); FootstepMaterial.WriteXML(subEle, master); } if (LightTemplate != null) { ele.TryPathTo("LightTemplate", true, out subEle); LightTemplate.WriteXML(subEle, master); } if (LightTemplateInherit != null) { ele.TryPathTo("LightTemplateInherit", true, out subEle); LightTemplateInherit.WriteXML(subEle, master); } if (WaterHeight != null) { ele.TryPathTo("WaterHeight", true, out subEle); WaterHeight.WriteXML(subEle, master); } if (WaterNoiseTexture != null) { ele.TryPathTo("WaterNoiseTexture", true, out subEle); WaterNoiseTexture.WriteXML(subEle, master); } if (Regions != null) { ele.TryPathTo("Regions", true, out subEle); Regions.WriteXML(subEle, master); } if (ImageSpace != null) { ele.TryPathTo("ImageSpace", true, out subEle); ImageSpace.WriteXML(subEle, master); } if (Unknown != null) { ele.TryPathTo("Unknown", true, out subEle); Unknown.WriteXML(subEle, master); } if (EncounterZone != null) { ele.TryPathTo("EncounterZone", true, out subEle); EncounterZone.WriteXML(subEle, master); } if (Climate != null) { ele.TryPathTo("Climate", true, out subEle); Climate.WriteXML(subEle, master); } if (Water != null) { ele.TryPathTo("Water", true, out subEle); Water.WriteXML(subEle, master); } if (Owner != null) { ele.TryPathTo("Owner", true, out subEle); Owner.WriteXML(subEle, master); } if (FactionRank != null) { ele.TryPathTo("FactionRank", true, out subEle); FactionRank.WriteXML(subEle, master); } if (AcousticSpace != null) { ele.TryPathTo("AcousticSpace", true, out subEle); AcousticSpace.WriteXML(subEle, master); } if (Unused != null) { ele.TryPathTo("Unused", true, out subEle); Unused.WriteXML(subEle, master); } if (MusicType != null) { ele.TryPathTo("MusicType", true, out subEle); MusicType.WriteXML(subEle, master); } }
public override void ReadDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("EditorID", false, out subEle)) { if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadXML(subEle, master); } if (ele.TryPathTo("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("Relationships", false, out subEle)) { if (Relationships == null) { Relationships = new List <Relationship>(); } foreach (XElement e in subEle.Elements()) { Relationship tempXNAM = new Relationship(); tempXNAM.ReadXML(e, master); Relationships.Add(tempXNAM); } } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new FactionData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("Unused", false, out subEle)) { if (Unused == null) { Unused = new SimpleSubrecord <Single>(); } Unused.ReadXML(subEle, master); } if (ele.TryPathTo("Ranks", false, out subEle)) { if (Ranks == null) { Ranks = new List <FactionRank>(); } foreach (XElement e in subEle.Elements()) { FactionRank tempRNAM = new FactionRank(); tempRNAM.ReadXML(e, master); Ranks.Add(tempRNAM); } } if (ele.TryPathTo("Reputation", false, out subEle)) { if (Reputation == null) { Reputation = new RecordReference(); } Reputation.ReadXML(subEle, master); } }
public override void WriteDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (EditorID != null) { ele.TryPathTo("EditorID", true, out subEle); EditorID.WriteXML(subEle, master); } if (Base != null) { ele.TryPathTo("Base", true, out subEle); Base.WriteXML(subEle, master); } if (EncounterZone != null) { ele.TryPathTo("EncounterZone", true, out subEle); EncounterZone.WriteXML(subEle, master); } if (RagdollData != null) { ele.TryPathTo("RagdollData", true, out subEle); RagdollData.WriteXML(subEle, master); } if (RagdollBipedData != null) { ele.TryPathTo("RagdollBipedData", true, out subEle); RagdollBipedData.WriteXML(subEle, master); } if (Patrol != null) { ele.TryPathTo("Patrol", true, out subEle); Patrol.WriteXML(subEle, master); } if (LevelModifier != null) { ele.TryPathTo("LevelModifier", true, out subEle); LevelModifier.WriteXML(subEle, master); } if (Owner != null) { ele.TryPathTo("Owner", true, out subEle); Owner.WriteXML(subEle, master); } if (FactionRank != null) { ele.TryPathTo("FactionRank", true, out subEle); FactionRank.WriteXML(subEle, master); } if (MerchantContainer != null) { ele.TryPathTo("MerchantContainer", true, out subEle); MerchantContainer.WriteXML(subEle, master); } if (Count != null) { ele.TryPathTo("Count", true, out subEle); Count.WriteXML(subEle, master); } if (Radius != null) { ele.TryPathTo("Radius", true, out subEle); Radius.WriteXML(subEle, master); } if (Health != null) { ele.TryPathTo("Health", true, out subEle); Health.WriteXML(subEle, master); } if (Decals != null) { ele.TryPathTo("Decals", true, out subEle); List <string> xmlNames = new List <string> { "Decal" }; int i = 0; foreach (var entry in Decals) { i = i % xmlNames.Count(); XElement newEle = new XElement(xmlNames[i]); entry.WriteXML(newEle, master); subEle.Add(newEle); i++; } } if (LinkedReference != null) { ele.TryPathTo("LinkedReference", true, out subEle); LinkedReference.WriteXML(subEle, master); } if (LinkedReferenceColor != null) { ele.TryPathTo("LinkedReferenceColor", true, out subEle); LinkedReferenceColor.WriteXML(subEle, master); } if (ParentActivateOnly != null) { ele.TryPathTo("ParentActivateOnly", true, out subEle); ParentActivateOnly.WriteXML(subEle, master); } if (ActivateParents != null) { ele.TryPathTo("ActivateParents", true, out subEle); List <string> xmlNames = new List <string> { "ActivateParent" }; int i = 0; foreach (var entry in ActivateParents) { i = i % xmlNames.Count(); XElement newEle = new XElement(xmlNames[i]); entry.WriteXML(newEle, master); subEle.Add(newEle); i++; } } if (ActivationPrompt != null) { ele.TryPathTo("ActivationPrompt", true, out subEle); ActivationPrompt.WriteXML(subEle, master); } if (EnableParent != null) { ele.TryPathTo("EnableParent", true, out subEle); EnableParent.WriteXML(subEle, master); } if (Emittance != null) { ele.TryPathTo("Emittance", true, out subEle); Emittance.WriteXML(subEle, master); } if (MultiBound != null) { ele.TryPathTo("MultiBound", true, out subEle); MultiBound.WriteXML(subEle, master); } if (IgnoredBySandbox != null) { ele.TryPathTo("IgnoredBySandbox", true, out subEle); IgnoredBySandbox.WriteXML(subEle, master); } if (Scale != null) { ele.TryPathTo("Scale", true, out subEle); Scale.WriteXML(subEle, master); } if (PositionRotation != null) { ele.TryPathTo("PositionRotation", true, out subEle); PositionRotation.WriteXML(subEle, master); } }
public override void ReadDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (ele.TryPathTo("EditorID", false, out subEle)) { if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadXML(subEle, master); } if (ele.TryPathTo("Base", false, out subEle)) { if (Base == null) { Base = new RecordReference(); } Base.ReadXML(subEle, master); } if (ele.TryPathTo("EncounterZone", false, out subEle)) { if (EncounterZone == null) { EncounterZone = new RecordReference(); } EncounterZone.ReadXML(subEle, master); } if (ele.TryPathTo("RagdollData", false, out subEle)) { if (RagdollData == null) { RagdollData = new SimpleSubrecord <Byte[]>(); } RagdollData.ReadXML(subEle, master); } if (ele.TryPathTo("RagdollBipedData", false, out subEle)) { if (RagdollBipedData == null) { RagdollBipedData = new SimpleSubrecord <Byte[]>(); } RagdollBipedData.ReadXML(subEle, master); } if (ele.TryPathTo("Patrol", false, out subEle)) { if (Patrol == null) { Patrol = new ReferencePatrolData(); } Patrol.ReadXML(subEle, master); } if (ele.TryPathTo("LevelModifier", false, out subEle)) { if (LevelModifier == null) { LevelModifier = new SimpleSubrecord <Int32>(); } LevelModifier.ReadXML(subEle, master); } if (ele.TryPathTo("Owner", false, out subEle)) { if (Owner == null) { Owner = new RecordReference(); } Owner.ReadXML(subEle, master); } if (ele.TryPathTo("FactionRank", false, out subEle)) { if (FactionRank == null) { FactionRank = new SimpleSubrecord <Int32>(); } FactionRank.ReadXML(subEle, master); } if (ele.TryPathTo("MerchantContainer", false, out subEle)) { if (MerchantContainer == null) { MerchantContainer = new RecordReference(); } MerchantContainer.ReadXML(subEle, master); } if (ele.TryPathTo("Count", false, out subEle)) { if (Count == null) { Count = new SimpleSubrecord <Int32>(); } Count.ReadXML(subEle, master); } if (ele.TryPathTo("Radius", false, out subEle)) { if (Radius == null) { Radius = new SimpleSubrecord <Single>(); } Radius.ReadXML(subEle, master); } if (ele.TryPathTo("Health", false, out subEle)) { if (Health == null) { Health = new SimpleSubrecord <Single>(); } Health.ReadXML(subEle, master); } if (ele.TryPathTo("Decals", false, out subEle)) { if (Decals == null) { Decals = new List <SimpleSubrecord <Byte[]> >(); } foreach (XElement e in subEle.Elements()) { SimpleSubrecord <Byte[]> tempXDCR = new SimpleSubrecord <Byte[]>(); tempXDCR.ReadXML(e, master); Decals.Add(tempXDCR); } } if (ele.TryPathTo("LinkedReference", false, out subEle)) { if (LinkedReference == null) { LinkedReference = new RecordReference(); } LinkedReference.ReadXML(subEle, master); } if (ele.TryPathTo("LinkedReferenceColor", false, out subEle)) { if (LinkedReferenceColor == null) { LinkedReferenceColor = new LinkedReferenceColor(); } LinkedReferenceColor.ReadXML(subEle, master); } if (ele.TryPathTo("ParentActivateOnly", false, out subEle)) { if (ParentActivateOnly == null) { ParentActivateOnly = new SimpleSubrecord <NoYesByte>(); } ParentActivateOnly.ReadXML(subEle, master); } if (ele.TryPathTo("ActivateParents", false, out subEle)) { if (ActivateParents == null) { ActivateParents = new List <ActivateParent>(); } foreach (XElement e in subEle.Elements()) { ActivateParent tempXAPR = new ActivateParent(); tempXAPR.ReadXML(e, master); ActivateParents.Add(tempXAPR); } } if (ele.TryPathTo("ActivationPrompt", false, out subEle)) { if (ActivationPrompt == null) { ActivationPrompt = new SimpleSubrecord <String>(); } ActivationPrompt.ReadXML(subEle, master); } if (ele.TryPathTo("EnableParent", false, out subEle)) { if (EnableParent == null) { EnableParent = new EnableParent(); } EnableParent.ReadXML(subEle, master); } if (ele.TryPathTo("Emittance", false, out subEle)) { if (Emittance == null) { Emittance = new RecordReference(); } Emittance.ReadXML(subEle, master); } if (ele.TryPathTo("MultiBound", false, out subEle)) { if (MultiBound == null) { MultiBound = new RecordReference(); } MultiBound.ReadXML(subEle, master); } if (ele.TryPathTo("IgnoredBySandbox", false, out subEle)) { if (IgnoredBySandbox == null) { IgnoredBySandbox = new SubMarker(); } IgnoredBySandbox.ReadXML(subEle, master); } if (ele.TryPathTo("Scale", false, out subEle)) { if (Scale == null) { Scale = new SimpleSubrecord <Single>(); } Scale.ReadXML(subEle, master); } if (ele.TryPathTo("PositionRotation", false, out subEle)) { if (PositionRotation == null) { PositionRotation = new PositionRotation(); } PositionRotation.ReadXML(subEle, master); } }
public override void ReadData(ESPReader reader, long dataEnd) { while (reader.BaseStream.Position < dataEnd) { string subTag = reader.PeekTag(); switch (subTag) { case "EDID": if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadBinary(reader); break; case "FULL": if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadBinary(reader); break; case "DATA": if (CellFlags == null) { CellFlags = new SimpleSubrecord <CellFlags>(); } CellFlags.ReadBinary(reader); break; case "XCLC": if (Grid == null) { Grid = new CellGrid(); } Grid.ReadBinary(reader); break; case "XCLL": if (Lighting == null) { Lighting = new CellLighting(); } Lighting.ReadBinary(reader); break; case "IMPF": if (FootstepMaterial == null) { FootstepMaterial = new FootstepMaterial(); } FootstepMaterial.ReadBinary(reader); break; case "LTMP": if (LightTemplate == null) { LightTemplate = new RecordReference(); } LightTemplate.ReadBinary(reader); break; case "LNAM": if (LightTemplateInherit == null) { LightTemplateInherit = new SimpleSubrecord <LightTemplateInheritFlags>(); } LightTemplateInherit.ReadBinary(reader); break; case "XCLW": if (WaterHeight == null) { WaterHeight = new SimpleSubrecord <Single>(); } WaterHeight.ReadBinary(reader); break; case "XNAM": if (WaterNoiseTexture == null) { WaterNoiseTexture = new SimpleSubrecord <String>(); } WaterNoiseTexture.ReadBinary(reader); break; case "XCLR": if (Regions == null) { Regions = new SortedFormArray(); } Regions.ReadBinary(reader); break; case "XCIM": if (ImageSpace == null) { ImageSpace = new RecordReference(); } ImageSpace.ReadBinary(reader); break; case "XCET": if (Unknown == null) { Unknown = new SimpleSubrecord <Byte>(); } Unknown.ReadBinary(reader); break; case "XEZN": if (EncounterZone == null) { EncounterZone = new RecordReference(); } EncounterZone.ReadBinary(reader); break; case "XCCM": if (Climate == null) { Climate = new RecordReference(); } Climate.ReadBinary(reader); break; case "XCWT": if (Water == null) { Water = new RecordReference(); } Water.ReadBinary(reader); break; case "XOWN": if (Owner == null) { Owner = new RecordReference(); } Owner.ReadBinary(reader); break; case "XRNK": if (FactionRank == null) { FactionRank = new SimpleSubrecord <Int32>(); } FactionRank.ReadBinary(reader); break; case "XCAS": if (AcousticSpace == null) { AcousticSpace = new RecordReference(); } AcousticSpace.ReadBinary(reader); break; case "XCMT": if (Unused == null) { Unused = new SimpleSubrecord <Byte>(); } Unused.ReadBinary(reader); break; case "XCMO": if (MusicType == null) { MusicType = new RecordReference(); } MusicType.ReadBinary(reader); break; default: throw new Exception(); } } }
public override void ReadData(ESPReader reader, long dataEnd) { while (reader.BaseStream.Position < dataEnd) { string subTag = reader.PeekTag(); switch (subTag) { case "EDID": if (EditorID == null) { EditorID = new SimpleSubrecord <String>(); } EditorID.ReadBinary(reader); break; case "FULL": if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadBinary(reader); break; case "XNAM": if (Relationships == null) { Relationships = new List <Relationship>(); } Relationship tempXNAM = new Relationship(); tempXNAM.ReadBinary(reader); Relationships.Add(tempXNAM); break; case "DATA": if (Data == null) { Data = new FactionData(); } Data.ReadBinary(reader); break; case "CNAM": if (Unused == null) { Unused = new SimpleSubrecord <Single>(); } Unused.ReadBinary(reader); break; case "RNAM": if (Ranks == null) { Ranks = new List <FactionRank>(); } FactionRank tempRNAM = new FactionRank(); tempRNAM.ReadBinary(reader); Ranks.Add(tempRNAM); break; case "WMI1": if (Reputation == null) { Reputation = new RecordReference(); } Reputation.ReadBinary(reader); break; default: throw new Exception(); } } }
public override void WriteData(ESPWriter writer) { if (EditorID != null) { EditorID.WriteBinary(writer); } if (Name != null) { Name.WriteBinary(writer); } if (CellFlags != null) { CellFlags.WriteBinary(writer); } if (Grid != null) { Grid.WriteBinary(writer); } if (Lighting != null) { Lighting.WriteBinary(writer); } if (FootstepMaterial != null) { FootstepMaterial.WriteBinary(writer); } if (LightTemplate != null) { LightTemplate.WriteBinary(writer); } if (LightTemplateInherit != null) { LightTemplateInherit.WriteBinary(writer); } if (WaterHeight != null) { WaterHeight.WriteBinary(writer); } if (WaterNoiseTexture != null) { WaterNoiseTexture.WriteBinary(writer); } if (Regions != null) { Regions.WriteBinary(writer); } if (ImageSpace != null) { ImageSpace.WriteBinary(writer); } if (Unknown != null) { Unknown.WriteBinary(writer); } if (EncounterZone != null) { EncounterZone.WriteBinary(writer); } if (Climate != null) { Climate.WriteBinary(writer); } if (Water != null) { Water.WriteBinary(writer); } if (Owner != null) { Owner.WriteBinary(writer); } if (FactionRank != null) { FactionRank.WriteBinary(writer); } if (AcousticSpace != null) { AcousticSpace.WriteBinary(writer); } if (Unused != null) { Unused.WriteBinary(writer); } if (MusicType != null) { MusicType.WriteBinary(writer); } }