void iterate() { foreach(GameObject building in buildings){ bounds = building.collider.bounds.size; center = building.transform.position; //print("building is " + bounds + " " + center); radius = Mathf.Max(bounds.x,bounds.y)/2.0; ObjectBounds current = new ObjectBounds(building, center,bounds,radius); worldColliders.addObject(current); } }
public override void WriteData(ESPWriter writer) { if (EditorID != null) { EditorID.WriteBinary(writer); } if (ObjectBounds != null) { ObjectBounds.WriteBinary(writer); } if (Name != null) { Name.WriteBinary(writer); } if (Model != null) { Model.WriteBinary(writer); } if (Script != null) { Script.WriteBinary(writer); } if (Destructable != null) { Destructable.WriteBinary(writer); } if (OpenSound != null) { OpenSound.WriteBinary(writer); } if (CloseSound != null) { CloseSound.WriteBinary(writer); } if (LoopingSound != null) { LoopingSound.WriteBinary(writer); } if (DoorFlags != null) { DoorFlags.WriteBinary(writer); } }
public override void WriteData(ESPWriter writer) { if (EditorID != null) { EditorID.WriteBinary(writer); } if (ObjectBounds != null) { ObjectBounds.WriteBinary(writer); } if (BaseImage_Transparency != null) { BaseImage_Transparency.WriteBinary(writer); } if (NormalMap_Specular != null) { NormalMap_Specular.WriteBinary(writer); } if (EnvironmentMapMask != null) { EnvironmentMapMask.WriteBinary(writer); } if (GlowMap != null) { GlowMap.WriteBinary(writer); } if (ParallaxMap != null) { ParallaxMap.WriteBinary(writer); } if (EnvironmentMap != null) { EnvironmentMap.WriteBinary(writer); } if (DecalData != null) { DecalData.WriteBinary(writer); } if (TextureSetFlags != null) { TextureSetFlags.WriteBinary(writer); } }
public override void ProcessObjects(TerrainWrapper terrainWrapper, LayerBase baseLayer, int stencilKey) { var layer = baseLayer as MMTerrainLayer; if (layer == null) { Debug.LogWarning(string.Format("Attempted to write {0} to incorrect layer type! Expected Layer {1} to be {2}, but it was {3}", name, baseLayer.name, GetLayerType(), baseLayer.GetType()), this); return; } var regex = new Regex(IgnoredObjectsRegex ?? string.Empty); var objectBounds = GetObjectBounds(); stencilKey = GetPriority(); var objects = terrainWrapper.GetCompoundObjects(layer); objectBounds = new ObjectBounds(objectBounds.center, new Vector3(objectBounds.extents.x, 5000, objectBounds.extents.z), objectBounds.Rotation); foreach (var prefabObjectData in objects) { if (!string.IsNullOrEmpty(IgnoredObjectsRegex) && regex.IsMatch(prefabObjectData.Prefab.name)) { continue; } var worldPos = terrainWrapper.Terrain.TreeToWorldPos(prefabObjectData.Position); worldPos = new Vector3(worldPos.x, objectBounds.center.y, worldPos.z); if (!objectBounds.Contains(new Vector3(worldPos.x, objectBounds.center.y, worldPos.z))) { continue; } var localPos = Quaternion.Inverse(objectBounds.Rotation) * (worldPos - objectBounds.min); var xDist = localPos.x / objectBounds.size.x; var zDist = localPos.z / objectBounds.size.z; float falloff = GetFalloff(new Vector2(xDist, zDist)); if (falloff > .5f) { layer.ObjectRemovals.Add(prefabObjectData.Guid); } } }
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("ObjectBounds", false, out subEle)) { if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadXML(subEle, master); } if (ele.TryPathTo("Model", false, out subEle)) { if (Model == null) { Model = new Model(); } Model.ReadXML(subEle, master); } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new GrassData(); } Data.ReadXML(subEle, master); } }
public NonPlayerCharacter() { EditorID = new SimpleSubrecord <String>("EDID"); ObjectBounds = new ObjectBounds("OBND"); Model = new Model(); BaseStats = new NPCBaseStats("ACBS"); VoiceType = new RecordReference("VTCK"); Race = new RecordReference("RNAM"); UnarmedAttackAnimation = new SimpleSubrecord <UInt16>("EAMT"); AIData = new AIData("AIDT"); Class = new RecordReference("CNAM"); Data = new NPCData("DATA"); HairColor = new SimpleSubrecord <Color>("HCLR"); ImpactMaterialType = new SimpleSubrecord <MaterialTypeUInt>("NAM4"); FaceGenGeometrySymmetric = new SimpleSubrecord <byte[]>("FGGS", new byte[4]); FaceGenGeometryAsymmetric = new SimpleSubrecord <byte[]>("FGGA", new byte[4]); FaceGenTexture = new SimpleSubrecord <byte[]>("FGTS", new byte[4]); Unknown = new SimpleSubrecord <UInt16>("NAM5"); Height = new SimpleSubrecord <Single>("NAM6"); Weight = new SimpleSubrecord <Single>("NAM7"); }
public NonPlayerCharacter(SimpleSubrecord <String> EditorID, ObjectBounds ObjectBounds, SimpleSubrecord <String> Name, Model Model, NPCBaseStats BaseStats, List <FactionMembership> Factions, RecordReference DeathItem, RecordReference VoiceType, RecordReference Template, RecordReference Race, List <RecordReference> ActorEffects, RecordReference UnarmedAttackEffect, SimpleSubrecord <UInt16> UnarmedAttackAnimation, Destructable Destructable, RecordReference Script, List <InventoryItem> Contents, AIData AIData, List <RecordReference> Packages, RecordReference Class, NPCData Data, NPCSkills Skills, List <RecordReference> HeadParts, RecordReference HairType, SimpleSubrecord <Single> HairLength, RecordReference Eyes, SimpleSubrecord <Color> HairColor, RecordReference CombatStyle, SimpleSubrecord <MaterialTypeUInt> ImpactMaterialType, SimpleSubrecord <Byte[]> FaceGenGeometrySymmetric, SimpleSubrecord <Byte[]> FaceGenGeometryAsymmetric, SimpleSubrecord <Byte[]> FaceGenTexture, SimpleSubrecord <UInt16> Unknown, SimpleSubrecord <Single> Height, SimpleSubrecord <Single> Weight) { this.EditorID = EditorID; this.ObjectBounds = ObjectBounds; this.Model = Model; this.BaseStats = BaseStats; this.VoiceType = VoiceType; this.Race = Race; this.UnarmedAttackAnimation = UnarmedAttackAnimation; this.AIData = AIData; this.Class = Class; this.Data = Data; this.HairColor = HairColor; this.ImpactMaterialType = ImpactMaterialType; this.FaceGenGeometrySymmetric = FaceGenGeometrySymmetric; this.FaceGenGeometryAsymmetric = FaceGenGeometryAsymmetric; this.FaceGenTexture = FaceGenTexture; this.Unknown = Unknown; this.Height = Height; this.Weight = Weight; }
public override void WriteDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (EditorID != null) { ele.TryPathTo("EditorID", true, out subEle); EditorID.WriteXML(subEle, master); } if (ObjectBounds != null) { ele.TryPathTo("ObjectBounds", true, out subEle); ObjectBounds.WriteXML(subEle, master); } if (Name != null) { ele.TryPathTo("Name", true, out subEle); Name.WriteXML(subEle, master); } if (Model != null) { ele.TryPathTo("Model", true, out subEle); Model.WriteXML(subEle, master); } if (Destructable != null) { ele.TryPathTo("Destructable", true, out subEle); Destructable.WriteXML(subEle, master); } if (Unknown != null) { ele.TryPathTo("Unknown", true, out subEle); Unknown.WriteXML(subEle, master); } if (Sound != null) { ele.TryPathTo("Sound", true, out subEle); Sound.WriteXML(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 (ObjectBounds != null) { ele.TryPathTo("ObjectBounds", true, out subEle); ObjectBounds.WriteXML(subEle, master); } if (Name != null) { ele.TryPathTo("Name", true, out subEle); Name.WriteXML(subEle, master); } if (Model != null) { ele.TryPathTo("Model", true, out subEle); Model.WriteXML(subEle, master); } if (Script != null) { ele.TryPathTo("Script", true, out subEle); Script.WriteXML(subEle, master); } if (Destructable != null) { ele.TryPathTo("Destructable", true, out subEle); Destructable.WriteXML(subEle, master); } if (MarkerFlags != null) { ele.TryPathTo("MarkerFlags", true, out subEle); MarkerFlags.WriteXML(subEle, master); } }
public void OnSceneGUI() { ObjectBounds guiTarget = (ObjectBounds)target; // If there is no shape, don't draw anything. if (guiTarget == null || guiTarget.shapes == null) { return; } // For each shape in the object bounds foreach (Shape s in guiTarget.shapes) { // For each point in the shape for (int i = 0; i < s.points.Length; i++) { // Draw a GUI handle on the point Vector3 handleDirection = Vector3.up; Vector3 worldSpacePos = guiTarget.transform.position + new Vector3(s.points[i].x, 0.0f, s.points[i].y); Handles.color = Color.blue; EditorGUI.BeginChangeCheck(); // New point position Vector3 vertexPos = Handles.FreeMoveHandle(worldSpacePos, Quaternion.identity, 1.0f, Vector3.zero, Handles.DotHandleCap); if (EditorGUI.EndChangeCheck()) { // Allows undo commands to undo vertex placement Undo.RecordObject(guiTarget, "Modify shape vertex"); // Set the point to the handle position if the handle is moved vertexPos -= guiTarget.transform.position; s.points[i] = new Vector2(vertexPos.x, vertexPos.z); } } } }
public override void WriteData(ESPWriter writer) { if (EditorID != null) { EditorID.WriteBinary(writer); } if (ObjectBounds != null) { ObjectBounds.WriteBinary(writer); } if (Name != null) { Name.WriteBinary(writer); } if (Model != null) { Model.WriteBinary(writer); } if (LargeIcon != null) { LargeIcon.WriteBinary(writer); } if (SmallIcon != null) { SmallIcon.WriteBinary(writer); } if (PickUpSound != null) { PickUpSound.WriteBinary(writer); } if (DropSound != null) { DropSound.WriteBinary(writer); } if (AbsoluteValue != null) { AbsoluteValue.WriteBinary(writer); } }
public override void WriteData(ESPWriter writer) { if (EditorID != null) { EditorID.WriteBinary(writer); } if (ObjectBounds != null) { ObjectBounds.WriteBinary(writer); } if (Name != null) { Name.WriteBinary(writer); } if (Model != null) { Model.WriteBinary(writer); } if (Destructable != null) { Destructable.WriteBinary(writer); } if (ProjectileData != null) { ProjectileData.WriteBinary(writer); } if (MuzzleFlashModelFilename != null) { MuzzleFlashModelFilename.WriteBinary(writer); } if (MuzzleFlashModelTextureHash != null) { MuzzleFlashModelTextureHash.WriteBinary(writer); } if (SoundLevel != null) { SoundLevel.WriteBinary(writer); } }
public override void WriteData(ESPWriter writer) { if (EditorID != null) { EditorID.WriteBinary(writer); } if (ObjectBounds != null) { ObjectBounds.WriteBinary(writer); } if (Filename != null) { Filename.WriteBinary(writer); } if (RandomChance != null) { RandomChance.WriteBinary(writer); } if (SoundData != null) { SoundData.WriteBinary(writer); } if (SoundDataShort != null) { SoundDataShort.WriteBinary(writer); } if (AttenuationCurve != null) { AttenuationCurve.WriteBinary(writer); } if (ReverbAttenuationControl != null) { ReverbAttenuationControl.WriteBinary(writer); } if (SoundPriority != null) { SoundPriority.WriteBinary(writer); } }
public override void WriteData(ESPWriter writer) { if (EditorID != null) { EditorID.WriteBinary(writer); } if (ObjectBounds != null) { ObjectBounds.WriteBinary(writer); } if (Name != null) { Name.WriteBinary(writer); } if (Model != null) { Model.WriteBinary(writer); } if (Script != null) { Script.WriteBinary(writer); } if (Destructable != null) { Destructable.WriteBinary(writer); } if (LoopingSound != null) { LoopingSound.WriteBinary(writer); } if (VoiceType != null) { VoiceType.WriteBinary(writer); } if (RadioTemplate != null) { RadioTemplate.WriteBinary(writer); } }
public void CalculateBounds() { float maxWidth = 0; float maxHeight = 0; for (int i = 0; i < transform.childCount; i++) { Transform child = transform.GetChild(i); float height = ObjectBounds.WorldHeight(child.gameObject); float width = ObjectBounds.WorldWidth(child.gameObject); if (width > maxWidth) { maxWidth = width; } if (height > maxHeight) { maxHeight = height; } } bounds.size = new Vector3(maxWidth, maxHeight, 0); }
public override void WriteData(ESPWriter writer) { if (EditorID != null) { EditorID.WriteBinary(writer); } if (ObjectBounds != null) { ObjectBounds.WriteBinary(writer); } if (Model != null) { Model.WriteBinary(writer); } if (PassthroughSound != null) { PassthroughSound.WriteBinary(writer); } if (Looping_RandomSound != null) { Looping_RandomSound.WriteBinary(writer); } }
public override void WriteData(ESPWriter writer) { if (EditorID != null) { EditorID.WriteBinary(writer); } if (ObjectBounds != null) { ObjectBounds.WriteBinary(writer); } if (Model != null) { Model.WriteBinary(writer); } if (Parts != null) { Parts.Sort(); foreach (var item in Parts) { item.WriteBinary(writer); } } }
public override void WriteDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (EditorID != null) { ele.TryPathTo("EditorID", true, out subEle); EditorID.WriteXML(subEle, master); } if (ObjectBounds != null) { ele.TryPathTo("ObjectBounds", true, out subEle); ObjectBounds.WriteXML(subEle, master); } if (Model != null) { ele.TryPathTo("Model", true, out subEle); Model.WriteXML(subEle, master); } if (Parts != null) { ele.TryPathTo("Parts", true, out subEle); List <string> xmlNames = new List <string> { "Part" }; int i = 0; Parts.Sort(); foreach (var entry in Parts) { i = i % xmlNames.Count(); XElement newEle = new XElement(xmlNames[i]); entry.WriteXML(newEle, master); subEle.Add(newEle); i++; } } }
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 "OBND": if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadBinary(reader); break; case "MODL": if (Model == null) { Model = new Model(); } Model.ReadBinary(reader); break; case "DATA": if (NodeIndex == null) { NodeIndex = new SimpleSubrecord <Int32>(); } NodeIndex.ReadBinary(reader); break; case "SNAM": if (Sound == null) { Sound = new RecordReference(); } Sound.ReadBinary(reader); break; case "DNAM": if (Data == null) { Data = new AddonNodeData(); } Data.ReadBinary(reader); break; default: throw new Exception(); } } }
public static List <LayerComponentMapping> SortComponents(TerrainWrapper wrapper, string layerFilter) { Profiler.BeginSample("CollectAndOrganise"); // Collect all layerComponents that lie within the bounds of the TerrainWrapper and satisfy the layerFilter (if one is specified) var allLayerComponents = new List <LayerComponentBase>(Object.FindObjectsOfType <LayerComponentBase>()); var tBounds = new Bounds(wrapper.Terrain.GetPosition() + wrapper.Terrain.terrainData.size / 2, wrapper.Terrain.terrainData.size); for (var i = allLayerComponents.Count - 1; i >= 0; i--) { var layerComponent = allLayerComponents[i]; if (!String.IsNullOrEmpty(layerFilter) && layerComponent.GetLayerName() != layerFilter) { allLayerComponents.RemoveAt(i); continue; } if (!layerComponent.GetEnabled()) { allLayerComponents.RemoveAt(i); continue; } var stampBounds = new ObjectBounds(layerComponent.transform.position, layerComponent.Size / 2, layerComponent.transform.rotation); var axisStampBounds = stampBounds.ToAxisBounds(); if (!tBounds.Intersects(axisStampBounds)) { allLayerComponents.RemoveAt(i); } } // Sort the Components into what layer they each point to List <LayerComponentMapping> mappings = new List <LayerComponentMapping>(); for (int i = 0; i < allLayerComponents.Count; i++) { var component = allLayerComponents[i]; LayerComponentMapping mapping = null; foreach (var layerStampMapping in mappings) { if (layerStampMapping.LayerName == component.GetLayerName()) { mapping = layerStampMapping; break; } } if (mapping == null) { mapping = new LayerComponentMapping() { LayerIndex = wrapper.GetLayerIndex(component.GetLayerName()), LayerName = component.GetLayerName() }; mappings.Add(mapping); } mapping.Components.Add(component); } // Sort this mapping by layer index, then the contents of the mappings by priority mappings = mappings.OrderByDescending(mapping => mapping.LayerIndex).ToList(); for (int i = 0; i < mappings.Count; i++) { mappings[i].Components = mappings[i].Components.OrderBy(component => component.GetPriority()) .ThenBy(component => component.transform.GetSiblingIndex()) .ToList(); } // Go through and create new layers as needed HashSet <LayerBase> cache = new HashSet <LayerBase>(); for (int i = mappings.Count - 1; i >= 0; i--) { var layerStampMapping = mappings[i]; for (var j = 0; j < layerStampMapping.Components.Count; ++j) { var component = layerStampMapping.Components[j]; var type = component.GetLayerType(); var layer = wrapper.GetLayer(type, layerStampMapping.LayerName, false, true); if (cache.Contains(layer)) { continue; } cache.Add(layer); if (layer.Locked) { Debug.LogWarningFormat(layer, "Attempted to write to layer {0} but it was locked!", layer.name); mappings.RemoveAt(i); continue; } layer.Clear(wrapper); layer.PrepareApply(wrapper, wrapper.GetLayerIndex(layer)); } } Profiler.EndSample(); return(mappings); }
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 "OBND": if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadBinary(reader); break; case "FULL": if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadBinary(reader); break; case "MODL": if (Model == null) { Model = new Model(); } Model.ReadBinary(reader); break; case "ICON": if (LargeIcon == null) { LargeIcon = new SimpleSubrecord <String>(); } LargeIcon.ReadBinary(reader); break; case "MICO": if (SmallIcon == null) { SmallIcon = new SimpleSubrecord <String>(); } SmallIcon.ReadBinary(reader); break; case "SCRI": if (Script == null) { Script = new RecordReference(); } Script.ReadBinary(reader); break; case "DESC": if (Description == null) { Description = new SimpleSubrecord <String>(); } Description.ReadBinary(reader); break; case "DEST": if (Destructable == null) { Destructable = new Destructable(); } Destructable.ReadBinary(reader); break; case "YNAM": if (PickUpSound == null) { PickUpSound = new RecordReference(); } PickUpSound.ReadBinary(reader); break; case "ZNAM": if (DropSound == null) { DropSound = new RecordReference(); } DropSound.ReadBinary(reader); break; case "DATA": if (Data == null) { Data = new BookData(); } Data.ReadBinary(reader); break; default: throw new Exception(); } } }
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("ObjectBounds", false, out subEle)) { if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadXML(subEle, master); } if (ele.TryPathTo("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("Model", false, out subEle)) { if (Model == null) { Model = new Model(); } Model.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Large", false, out subEle)) { if (LargeIcon == null) { LargeIcon = new SimpleSubrecord <String>(); } LargeIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Small", false, out subEle)) { if (SmallIcon == null) { SmallIcon = new SimpleSubrecord <String>(); } SmallIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Script", false, out subEle)) { if (Script == null) { Script = new RecordReference(); } Script.ReadXML(subEle, master); } if (ele.TryPathTo("Description", false, out subEle)) { if (Description == null) { Description = new SimpleSubrecord <String>(); } Description.ReadXML(subEle, master); } if (ele.TryPathTo("Destructable", false, out subEle)) { if (Destructable == null) { Destructable = new Destructable(); } Destructable.ReadXML(subEle, master); } if (ele.TryPathTo("PickUpSound", false, out subEle)) { if (PickUpSound == null) { PickUpSound = new RecordReference(); } PickUpSound.ReadXML(subEle, master); } if (ele.TryPathTo("DropSound", false, out subEle)) { if (DropSound == null) { DropSound = new RecordReference(); } DropSound.ReadXML(subEle, master); } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new BookData(); } Data.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 "OBND": if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadBinary(reader); break; case "FULL": if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadBinary(reader); break; case "MODL": if (Model == null) { Model = new Model(); } Model.ReadBinary(reader); break; case "ICON": if (LargeIcon == null) { LargeIcon = new SimpleSubrecord <String>(); } LargeIcon.ReadBinary(reader); break; case "MICO": if (SmallIcon == null) { SmallIcon = new SimpleSubrecord <String>(); } SmallIcon.ReadBinary(reader); break; case "SCRI": if (Script == null) { Script = new RecordReference(); } Script.ReadBinary(reader); break; case "YNAM": if (PickUpSound == null) { PickUpSound = new RecordReference(); } PickUpSound.ReadBinary(reader); break; case "ZNAM": if (DropSound == null) { DropSound = new RecordReference(); } DropSound.ReadBinary(reader); break; case "TX00": if (TextureFace == null) { TextureFace = new SimpleSubrecord <String>(); } TextureFace.ReadBinary(reader); break; case "TX01": if (TextureBack == null) { TextureBack = new SimpleSubrecord <String>(); } TextureBack.ReadBinary(reader); break; case "INTV": if (CardData == null) { CardData = new Card(); } CardData.ReadBinary(reader); break; case "DATA": if (Value == null) { Value = new SimpleSubrecord <UInt32>(); } Value.ReadBinary(reader); break; default: throw new Exception(); } } }
public TalkingActivator(SimpleSubrecord <String> EditorID, ObjectBounds ObjectBounds, SimpleSubrecord <String> Name, Model Model, RecordReference Script, Destructable Destructable, RecordReference LoopingSound, RecordReference VoiceType, RecordReference RadioTemplate) { this.EditorID = EditorID; this.ObjectBounds = ObjectBounds; this.Model = Model; }
public TalkingActivator() { EditorID = new SimpleSubrecord <String>("EDID"); ObjectBounds = new ObjectBounds("OBND"); Model = new Model(); }
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("ObjectBounds", false, out subEle)) { if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadXML(subEle, master); } if (ele.TryPathTo("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("Model", false, out subEle)) { if (Model == null) { Model = new Model(); } Model.ReadXML(subEle, master); } if (ele.TryPathTo("Script", false, out subEle)) { if (Script == null) { Script = new RecordReference(); } Script.ReadXML(subEle, master); } if (ele.TryPathTo("Destructable", false, out subEle)) { if (Destructable == null) { Destructable = new Destructable(); } Destructable.ReadXML(subEle, master); } if (ele.TryPathTo("LoopingSound", false, out subEle)) { if (LoopingSound == null) { LoopingSound = new RecordReference(); } LoopingSound.ReadXML(subEle, master); } if (ele.TryPathTo("VoiceType", false, out subEle)) { if (VoiceType == null) { VoiceType = new RecordReference(); } VoiceType.ReadXML(subEle, master); } if (ele.TryPathTo("RadioTemplate", false, out subEle)) { if (RadioTemplate == null) { RadioTemplate = new RecordReference(); } RadioTemplate.ReadXML(subEle, master); } }
public static void addObject(ObjectBounds bound) { if(worldObjects == null){ worldObjects = new List<ObjectBounds>(); } worldObjects.Add(bound); }
public override void WriteDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; if (EditorID != null) { ele.TryPathTo("EditorID", true, out subEle); EditorID.WriteXML(subEle, master); } if (ObjectBounds != null) { ele.TryPathTo("ObjectBounds", true, out subEle); ObjectBounds.WriteXML(subEle, master); } if (Name != null) { ele.TryPathTo("Name", true, out subEle); Name.WriteXML(subEle, master); } if (Model != null) { ele.TryPathTo("Model", true, out subEle); Model.WriteXML(subEle, master); } if (LargeIcon != null) { ele.TryPathTo("Icon/Large", true, out subEle); LargeIcon.WriteXML(subEle, master); } if (SmallIcon != null) { ele.TryPathTo("Icon/Small", true, out subEle); SmallIcon.WriteXML(subEle, master); } if (Script != null) { ele.TryPathTo("Script", true, out subEle); Script.WriteXML(subEle, master); } if (PickUpSound != null) { ele.TryPathTo("PickUpSound", true, out subEle); PickUpSound.WriteXML(subEle, master); } if (DropSound != null) { ele.TryPathTo("DropSound", true, out subEle); DropSound.WriteXML(subEle, master); } if (TextureFace != null) { ele.TryPathTo("Texture/Face", true, out subEle); TextureFace.WriteXML(subEle, master); } if (TextureBack != null) { ele.TryPathTo("Texture/Back", true, out subEle); TextureBack.WriteXML(subEle, master); } if (CardData != null) { ele.TryPathTo("CardData", true, out subEle); CardData.WriteXML(subEle, master); } if (Value != null) { ele.TryPathTo("Value", true, out subEle); Value.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("ObjectBounds", false, out subEle)) { if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadXML(subEle, master); } if (ele.TryPathTo("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("Model", false, out subEle)) { if (Model == null) { Model = new Model(); } Model.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Large", false, out subEle)) { if (LargeIcon == null) { LargeIcon = new SimpleSubrecord <String>(); } LargeIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Small", false, out subEle)) { if (SmallIcon == null) { SmallIcon = new SimpleSubrecord <String>(); } SmallIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Script", false, out subEle)) { if (Script == null) { Script = new RecordReference(); } Script.ReadXML(subEle, master); } if (ele.TryPathTo("PickUpSound", false, out subEle)) { if (PickUpSound == null) { PickUpSound = new RecordReference(); } PickUpSound.ReadXML(subEle, master); } if (ele.TryPathTo("DropSound", false, out subEle)) { if (DropSound == null) { DropSound = new RecordReference(); } DropSound.ReadXML(subEle, master); } if (ele.TryPathTo("Texture/Face", false, out subEle)) { if (TextureFace == null) { TextureFace = new SimpleSubrecord <String>(); } TextureFace.ReadXML(subEle, master); } if (ele.TryPathTo("Texture/Back", false, out subEle)) { if (TextureBack == null) { TextureBack = new SimpleSubrecord <String>(); } TextureBack.ReadXML(subEle, master); } if (ele.TryPathTo("CardData", false, out subEle)) { if (CardData == null) { CardData = new Card(); } CardData.ReadXML(subEle, master); } if (ele.TryPathTo("Value", false, out subEle)) { if (Value == null) { Value = new SimpleSubrecord <UInt32>(); } Value.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 "OBND": if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadBinary(reader); break; case "FULL": if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadBinary(reader); break; case "MODL": if (Model == null) { Model = new Model(); } Model.ReadBinary(reader); break; case "SCRI": if (Script == null) { Script = new RecordReference(); } Script.ReadBinary(reader); break; case "DEST": if (Destructable == null) { Destructable = new Destructable(); } Destructable.ReadBinary(reader); break; case "SNAM": if (LoopingSound == null) { LoopingSound = new RecordReference(); } LoopingSound.ReadBinary(reader); break; case "VNAM": if (VoiceType == null) { VoiceType = new RecordReference(); } VoiceType.ReadBinary(reader); break; case "INAM": if (RadioTemplate == null) { RadioTemplate = new RecordReference(); } RadioTemplate.ReadBinary(reader); break; default: throw new Exception(); } } }
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("ObjectBounds", false, out subEle)) { if (ObjectBounds == null) { ObjectBounds = new ObjectBounds(); } ObjectBounds.ReadXML(subEle, master); } if (ele.TryPathTo("Model", false, out subEle)) { if (Model == null) { Model = new Model(); } Model.ReadXML(subEle, master); } if (ele.TryPathTo("Script", false, out subEle)) { if (Script == null) { Script = new RecordReference(); } Script.ReadXML(subEle, master); } if (ele.TryPathTo("Name", false, out subEle)) { if (Name == null) { Name = new SimpleSubrecord <String>(); } Name.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Large", false, out subEle)) { if (LargeIcon == null) { LargeIcon = new SimpleSubrecord <String>(); } LargeIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Icon/Small", false, out subEle)) { if (SmallIcon == null) { SmallIcon = new SimpleSubrecord <String>(); } SmallIcon.ReadXML(subEle, master); } if (ele.TryPathTo("Data", false, out subEle)) { if (Data == null) { Data = new LightData(); } Data.ReadXML(subEle, master); } if (ele.TryPathTo("FadeValue", false, out subEle)) { if (FadeValue == null) { FadeValue = new SimpleSubrecord <Single>(); } FadeValue.ReadXML(subEle, master); } if (ele.TryPathTo("Sound", false, out subEle)) { if (Sound == null) { Sound = new RecordReference(); } Sound.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 (ObjectBounds != null) { ele.TryPathTo("ObjectBounds", true, out subEle); ObjectBounds.WriteXML(subEle, master); } if (Name != null) { ele.TryPathTo("Name", true, out subEle); Name.WriteXML(subEle, master); } if (Model != null) { ele.TryPathTo("Model", true, out subEle); Model.WriteXML(subEle, master); } if (LargeIcon != null) { ele.TryPathTo("Icon/Large", true, out subEle); LargeIcon.WriteXML(subEle, master); } if (SmallIcon != null) { ele.TryPathTo("Icon/Small", true, out subEle); SmallIcon.WriteXML(subEle, master); } if (Script != null) { ele.TryPathTo("Script", true, out subEle); Script.WriteXML(subEle, master); } if (Description != null) { ele.TryPathTo("Description", true, out subEle); Description.WriteXML(subEle, master); } if (Destructable != null) { ele.TryPathTo("Destructable", true, out subEle); Destructable.WriteXML(subEle, master); } if (PickUpSound != null) { ele.TryPathTo("PickUpSound", true, out subEle); PickUpSound.WriteXML(subEle, master); } if (DropSound != null) { ele.TryPathTo("DropSound", true, out subEle); DropSound.WriteXML(subEle, master); } if (Data != null) { ele.TryPathTo("Data", true, out subEle); Data.WriteXML(subEle, master); } }