// -------------------------------------------------------------------- private void CreateEntity() { NewEntityWindow window = new NewEntityWindow(); if (window.ShowDialog() == DialogResult.OK) { SceneObject root = ParseNode(mCurrentModel.RootNode, false); EditorEntityUtils.Create(root, window.EntityName); } }
// -------------------------------------------------------------------- private void CreateEntity() { NewEntityWindow window = new NewEntityWindow(); if (window.ShowDialog() == DialogResult.OK) { SceneObject root = ParseNode(mCurrentModel.RootNode, false, null); OnyxProjectAsset entity = ProjectManager.Instance.Content.GetEntityByName(window.EntityName); if (entity == null) EditorEntityUtils.Create(root, window.EntityName); else AssetLoader<Entity>.Save(new Entity(root), entity.Path); } }
// -------------------------------------------------------------------- public static void CreateFromSelection() { if (Selection.ActiveObject == null) { return; } if (Selection.ActiveObject.GetType() == typeof(EntityProxy)) { if (Selection.Selected.Count > 0) { if (MessageBox.Show("Add selected objects to active entity?", "Add to entity", MessageBoxButtons.OKCancel) == DialogResult.OK) { Entity entity = (Selection.ActiveObject as EntityProxy).EntityRef; foreach (SceneObject obj in Selection.Selected) { if (obj != Selection.ActiveObject) { obj.Parent = Selection.ActiveObject; // Do this so the localposition is transformed into the instance space obj.Parent = entity.Root; } } AssetLoader <Entity> .Save(entity, entity.LinkedProjectAsset.Path); Selection.ActiveObject = Selection.ActiveObject; } } return; } NewEntityWindow window = new NewEntityWindow(); if (window.ShowDialog() == DialogResult.OK) { SceneObject parent = Selection.ActiveObject.Parent; OpenTK.Vector3 position = Selection.MiddlePoint(); Entity entity = Create(Selection.Selected, window.EntityName, position); EntityProxy proxy = new EntityProxy(Selection.ActiveObject.Id, SceneManagement.ActiveScene); proxy.EntityRef = entity; proxy.Parent = parent; proxy.Transform.LocalPosition = position; Selection.ActiveObject = proxy; } window.Dispose(); }