private void DoTagsField(GameObject go)
{
string tag = null;
try
{
tag = go.tag;
}
catch (Exception)
{
tag = "Undefined";
}
EditorGUIUtility.labelWidth = s_Styles.tagFieldWidth;
Rect totalPosition = GUILayoutUtility.GetRect(GUIContent.none, EditorStyles.popup);
EditorGUI.BeginProperty(totalPosition, GUIContent.none, this.m_Tag);
EditorGUI.BeginChangeCheck();
string str2 = EditorGUI.TagField(totalPosition, EditorGUIUtility.TempContent("Tag"), tag);
if (EditorGUI.EndChangeCheck())
{
this.m_Tag.stringValue = str2;
Undo.RecordObjects(base.targets, "Change Tag of " + this.targetTitle);
foreach (Object obj2 in base.targets)
{
(obj2 as GameObject).tag = str2;
}
}
EditorGUI.EndProperty();
}