private void DisplayBuilder( ) { bool bCreateSprite = false; bool bCreatePhysicSprite = false; bool bCreateAnimationClip = false; EditorGUILayout.BeginHorizontal( ); { EditorGUI.BeginDisabledGroup(m_rSelectedObjects == null || m_rSelectedObjects.Length == 0); { bCreateSprite = GUILayout.Button(mc_oGUILabelCreateSprite); bCreatePhysicSprite = GUILayout.Button(mc_oGUILabelCreatePhysicSprite); bCreateAnimationClip = GUILayout.Button(mc_oGUILabelCreateAnimationClip); } EditorGUI.EndDisabledGroup( ); } EditorGUILayout.EndHorizontal( ); if (bCreateSprite == true || bCreatePhysicSprite == true) { if (m_rSelectedObjects != null) { List <GameObject> oCreatedGameObjects = new List <GameObject>(); foreach (Object rObject in m_rSelectedObjects) { Texture2D rTexture = (Texture2D)rObject; // Create sprite GameObject oSpriteMeshGameObject = CreateSprite(rTexture, ComputeCreateFromButtonPositionWorld(SceneView.lastActiveSceneView), bCreatePhysicSprite); oCreatedGameObjects.Add(oSpriteMeshGameObject); } // Update editor selection Selection.objects = oCreatedGameObjects.ToArray(); EditorUtility.UnloadUnusedAssets( ); } } else if (bCreateAnimationClip) { List <Texture2D> oTexturesList = null; if (m_rSelectedObjects != null) { // Object -> Texture2D cast oTexturesList = m_rSelectedObjects.Cast <Texture2D>( ).ToList( ); } Uni2DAnimationClip rAnimationClip = Uni2DEditorSpriteBuilderWindow.CreateAnimationClip(oTexturesList); Selection.objects = new Object[1] { rAnimationClip.gameObject }; } }
static void DoCreateAnimationClip( ) { Uni2DEditorSpriteBuilderWindow.CreateAnimationClip(null); }
public static void CreateEditorWindow( ) { Uni2DEditorSpriteBuilderWindow oEditorWindow = EditorWindow.GetWindow <Uni2DEditorSpriteBuilderWindow>(mc_bWindowUtility, mc_oWindowTitle, mc_bWindowTakeFocus); oEditorWindow.minSize = new Vector2(mc_fWindowMinWidth, mc_fWindowMinHeight); }