private void EntityArchetypeTextBox_TextChanged(object sender, EventArgs e) { if (populatingui) { return; } if (CurrentEntity == null) { return; } uint hash = 0; string name = EntityArchetypeTextBox.Text; if (!uint.TryParse(name, out hash))//don't re-hash hashes { hash = JenkHash.GenHash(name); JenkIndex.Ensure(name); } EntityArchetypeHashLabel.Text = "Hash: " + hash.ToString(); var arch = ProjectForm.GameFileCache.GetArchetype(hash); if (arch == null) { EntityArchetypeHashLabel.Text += " (not found)"; } if (CurrentEntity != null) { lock (ProjectForm.ProjectSyncRoot) { CurrentEntity._CEntityDef.archetypeName = new MetaHash(hash); if (CurrentMCEntity != null) { CurrentMCEntity._Data.archetypeName = new MetaHash(hash); } if (CurrentEntity.Archetype != arch) { CurrentEntity.SetArchetype(arch); if (CurrentEntity.IsMlo) { CurrentEntity.MloInstance.InitYmapEntityArchetypes(ProjectForm.GameFileCache); } ProjectItemChanged(); } } } ProjectForm.ProjectExplorer?.UpdateEntityTreeNode(CurrentEntity); }