private void Produce(WcDataWriter writer, WtgTrigger trigger) { if (trigger.IsComment) { writer.Write(16u); } else if (trigger.IsText) { writer.Write(32u); } else { writer.Write(8u); } writer.Write(trigger.Name); writer.Write(trigger.Description); if (FormatVersion >= 7) { writer.Write(trigger.IsComment); } writer.Write(trigger.Id); writer.Write(trigger.IsEnabled); writer.Write(trigger.IsText); writer.Write(trigger.IsEnabledFromStart); writer.Write(trigger.InitializeOnMapStart); writer.Write(trigger.ParentId); writer.Write(trigger.EACCount); if (trigger.EACCount > 0) { throw new NotImplementedException("Maps with ANY GUI triggers are not supported yet."); } }
private WtgTrigger ParseTrigger(WcDataReader reader) { var trigger = new WtgTrigger(); trigger.Name = reader.ReadString(); trigger.Description = reader.ReadString(); if (FormatVersion >= 7) { trigger.IsComment = reader.ReadBoolean(); } trigger.Id = reader.ReadUInt32(); trigger.IsEnabled = reader.ReadBoolean(); trigger.IsText = reader.ReadBoolean(); trigger.IsEnabledFromStart = reader.ReadBoolean(); trigger.InitializeOnMapStart = reader.ReadBoolean(); trigger.ParentId = reader.ReadUInt32(); trigger.EACCount = reader.ReadUInt32(); if (trigger.EACCount > 0) { throw new NotImplementedException("Maps with ANY GUI triggers not supported yet."); } return(trigger); }
public Script(WCMap map, WtgTrigger inner, int source) { _map = map; Inner = inner; _source = source; }