public void ToStream(StreamWriter s, Managers.TagManager tag, TI.Definition owner) { TI.StringId name = DescriptionText; if (name.Handle.IsNull) { name = HeaderText; } if (name.Handle.IsNull) { name = HelpText; } if (name.Handle.IsNull) { name = Icon; } string name_str = "<unknown>"; if (!name.Handle.IsNull) { name_str = name.ToString(); } s.Write("{0}\t", name_str); int type_index = TypeIndex.Value; if (type_index < 0) { s.Write("NONE"); } else { var types = (owner as multiplayer_object_type_list_group).TypeList; if (type_index >= types.Count) { s.Write("--INVALID--"); } else { types[type_index].DefinitionToStream(s); } } s.WriteLine(); }