void Start() { pv = player.GetComponent<PlayerVolume> (); standard = GameObject.Find ("StandardObject"); sob = standard.GetComponent<StandardObject> (); //currentVolume = VolumeCalculator.volumeFromDiameter (destructible.transform.lossyScale.x); }
protected virtual void WriteStandardObjectToXML(XmlWriter writer, StandardObject obj) { writer.WriteStartElement("StandardObject"); writer.WriteAttributeString("area", obj.m_Area.ToString()); writer.WriteAttributeString("star", obj.m_Layer.ToString()); writer.WriteComment(ObjectDatabase.m_ObjectInfo[obj.ID].m_InternalName); writer.WriteElementString("ObjectID", obj.ID.ToString()); WriteObjectPositionToXML(writer, obj); writer.WriteElementString("YRotation", Helper.ToString(obj.YRotation)); writer.WriteStartElement("Parameters"); writer.WriteAttributeString("count", "3"); for (int j = 0; j < 3; j++) { writer.WriteStartElement("Parameter"); writer.WriteAttributeString("id", j.ToString()); writer.WriteString(obj.Parameters[j].ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndElement(); }
void Start() { standard = GameObject.Find ("StandardObject"); sob = standard.GetComponent<StandardObject> (); //spawnRange = new float[6]{1500, 1600, 0, 75, -1100, 1100}; startTime = Time.time; }
private static void WriteStandardObjectToXML(XmlWriter writer, StandardObject obj) { writer.WriteStartElement("StandardObject"); writer.WriteAttributeString("area", obj.m_Area.ToString()); writer.WriteAttributeString("star", obj.m_Layer.ToString()); writer.WriteComment(ObjectDatabase.m_ObjectInfo[obj.ID].m_InternalName); writer.WriteElementString("ObjectID", obj.ID.ToString()); writer.WriteStartElement("Position"); writer.WriteElementString("X", obj.Position.X.ToString(usa)); writer.WriteElementString("Y", obj.Position.Y.ToString(usa)); writer.WriteElementString("Z", obj.Position.Z.ToString(usa)); writer.WriteEndElement(); writer.WriteElementString("YRotation", obj.YRotation.ToString(usa)); writer.WriteStartElement("Parameters"); writer.WriteAttributeString("count", "3"); for (int j = 0; j < 3; j++) { writer.WriteStartElement("Parameter"); writer.WriteAttributeString("id", j.ToString()); writer.WriteString(obj.Parameters[j].ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndElement(); }
public StandardObject AddStandardObject(ushort id, int layer, int area) { StandardObject obj = new StandardObject( InitialiseDataForObject(LevelObject.Type.STANDARD, id), (int)GetNextUniqueID(), layer, area); m_LevelObjects.Add(obj.m_UniqueID, obj); return(obj); }
void OnTriggerEnter(Collider other) { // In case positioned objects collide with this script StandardObject so = other.GetComponent <StandardObject>(); if (so != null && other.transform.parent != transform) { if (so.IsGrabbed() == true) { // I am in use, do not go past GO! return; } // Set the neccessary settings //so.UseGravity(false); other.transform.parent = transform; } }
protected virtual void ReadStandardObject(XmlReader reader, Level level) { int area = int.Parse(reader.GetAttribute("area")); int layer = int.Parse(reader.GetAttribute("star")); ushort id = 0; Vector3 position = Vector3.Zero; float yRotation = 0.0f; ushort[] parameters = new ushort[3]; while (reader.Read()) { reader.MoveToContent(); if (reader.NodeType.Equals(XmlNodeType.Element) && reader.LocalName.Equals("ObjectID")) { id = ushort.Parse(reader.ReadElementContentAsString()); } else if (reader.NodeType.Equals(XmlNodeType.Element) && reader.LocalName.Equals("Position")) { position = ReadPositionVector3(reader); } else if (reader.NodeType.Equals(XmlNodeType.Element) && reader.LocalName.Equals("YRotation")) { yRotation = Helper.ParseFloat(reader.ReadElementContentAsString()); } else if (reader.NodeType.Equals(XmlNodeType.Element) && reader.LocalName.Equals("Parameters")) { parameters = ReadParameters(reader, 3); } else if (reader.NodeType.Equals(XmlNodeType.EndElement) && reader.LocalName.Equals("StandardObject")) { break; } } StandardObject obj = level.AddStandardObject(id, layer, area); obj.Position = position; obj.YRotation = yRotation; obj.Parameters = parameters; }
private static void WriteStandardObjectToXML(XmlWriter writer, StandardObject obj) { writer.WriteStartElement("StandardObject"); writer.WriteAttributeString("area", obj.m_Area.ToString()); writer.WriteAttributeString("star", obj.m_Layer.ToString()); writer.WriteComment(ObjectDatabase.m_ObjectInfo[obj.ID].m_InternalName); writer.WriteElementString("ObjectID", obj.ID.ToString()); writer.WriteStartElement("Position"); writer.WriteElementString("X", obj.Position.X.ToString(usa)); writer.WriteElementString("Y", obj.Position.Y.ToString(usa)); writer.WriteElementString("Z", obj.Position.Z.ToString(usa)); writer.WriteEndElement(); writer.WriteElementString("YRotation", obj.YRotation.ToString(usa)); writer.WriteStartElement("Parameters"); writer.WriteAttributeString("count", "3"); for (int j = 0; j < 3; j++) { writer.WriteStartElement("Parameter"); writer.WriteAttributeString("id", j.ToString()); writer.WriteString(obj.Parameters[j].ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndElement(); }
private void ReadObjectTable(NitroOverlay ovl, uint offset, int area) { uint subtbl_num = ovl.Read32(offset); uint subtbl_offset = ovl.ReadPointer(offset + 0x4); for (uint st = 0; st < subtbl_num; st++) { uint curoffset = subtbl_offset + (st * 8); byte flags = ovl.Read8(curoffset); byte entries_num = ovl.Read8(curoffset + 0x1); uint entries_offset = ovl.ReadPointer(curoffset + 0x4); byte type = (byte)(flags & 0x1F); byte layer = (byte)(flags >> 5); if (type == 11) { m_MinimapFileIDs = new ushort[entries_num]; } for (byte e = 0; e < entries_num; ++e) { LevelObject obj; INitroROMBlock objData = new INitroROMBlock(); objData.m_Data = ovl.ReadBlock((uint)(entries_offset + e * k_LevelObjTypeSizes[type]), (uint)k_LevelObjTypeSizes[type]); switch (type) { case 0: obj = new StandardObject(objData, m_LevelObjects.Count, layer, area); break; case 1: obj = new EntranceObject(objData, m_LevelObjects.Count, layer, m_EntranceID++); break; case 2: // Path Node obj = new PathPointObject(objData, m_LevelObjects.Count, m_PathNodeID++); break; case 3: // Path obj = new PathObject(objData, m_LevelObjects.Count, (ushort)m_PathID++); break; case 4: obj = new ViewObject(objData, m_LevelObjects.Count, m_ViewID++); break; case 5: obj = new SimpleObject(objData, m_LevelObjects.Count, layer, area); break; case 6: obj = new TpSrcObject(objData, m_LevelObjects.Count, layer); break; case 7: obj = new TpDstObject(objData, m_LevelObjects.Count, layer); break; case 8: // Fog obj = new FogObject(objData, m_LevelObjects.Count, layer, area); break; case 9: obj = new DoorObject(objData, m_LevelObjects.Count, layer); break; case 10: obj = new ExitObject(objData, m_LevelObjects.Count, layer); break; case 11: obj = new MinimapTileIDObject(objData, m_LevelObjects.Count, layer, m_MinimapTileIDNum++); // This is still used by Minimap Editor m_MinimapFileIDs[e] = ovl.Read16((uint)(entries_offset + (e * 2))); break; case 12: // per-area minimap scale factors obj = new MinimapScaleObject(objData, m_LevelObjects.Count, layer, area); break; case 14: // ??? Unknown obj = new Type14Object(objData, m_LevelObjects.Count, layer, area); break; default: throw new InvalidDataException("Bad object type: " + type); } m_LevelObjects.Add(obj.m_UniqueID, obj); } } }
void Start() { standard = GameObject.Find ("StandardObject"); sob = standard.GetComponent<StandardObject> (); relativeScaling = sob.getStandardScaling(); currentVolume = VolumeCalculator.getScaledVolume (gameObject, type, relativeScaling); rend = this.GetComponent<Renderer> (); baseMat = rend.material; dh = transform.parent.GetComponent<DestructiblesHandler> (); startTime = Time.time; changeMatbool = false; rb = GetComponent<Rigidbody> (); setMass (); shrinkSpeed *= transform.lossyScale.magnitude; dimensions = new float[4]{0,0,0,0}; setDimensions (); }
void Start() { standard = GameObject.Find ("StandardObject"); sob = standard.GetComponent<StandardObject> (); relativeScaling = sob.getStandardScaling(); psfx = gameObject.GetComponent<PlayerSoundFX> (); pg = particleGenObj.GetComponent<ParticleGenerator> (); peh = primEventObj.GetComponent<PrimaryEventHandler> (); GameObject pgdg = GameObject.Find (preservedDataName); if (pgdg == null) { pgd = null; } else { pgd = pgdg.GetComponent<PreservedGameData> (); } if (pgd != null && pgd.getSavedVolume () >= 0) { currentVolume = pgd.getSavedVolume (); } else { currentVolume = VolumeCalculator.newGetVolume(this.gameObject, this.type); } updateScale(false); }