DeleteComponentsInChildrenWizard

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
(Removing all content from page)
m (Reverted edits by Joseph05408 (Talk); changed back to last version by T)
Line 1: Line 1:
 +
Author: Timo ([[:User:T|T]])
  
 +
== Description ==
 +
 +
This Wizard helps to delete a special type of components which are attached to the children of the selected Gameobject.
 +
 +
== Usage ==
 +
 +
You must place the script in a folder named '''Editor''' in your projects Assets folder for it to work properly.
 +
 +
Launch the Wizard and fill in the string of the type you want to delete.
 +
 +
== C# - DeleteComponentsInChildrenWizard.cs ==
 +
 +
<csharp>using UnityEngine;
 +
using UnityEditor;
 +
using System.Collections;
 +
 +
 +
public class DeleteComponentsInChildrenWizard : ScriptableWizard
 +
{
 +
    public string typeString;
 +
   
 +
    [MenuItem ( "GameObject/Delete Components in Children Wizard" )]
 +
    static void DoSet()
 +
    {
 +
        ScriptableWizard.DisplayWizard("Set the string of type", typeof(DeleteComponentsInChildrenWizard), "Set");
 +
    }
 +
   
 +
    void OnWizardUpdate()
 +
    {
 +
        helpString = "Set the string of the Component type you want to delete:";
 +
    }
 +
   
 +
    void OnWizardCreate()
 +
    {
 +
    DeleteChildren();
 +
    }
 +
   
 +
    void DeleteChildren()
 +
    {
 +
        Transform[] allTransforms = Selection.GetTransforms( SelectionMode.Deep ); //Get all Children
 +
     
 +
      foreach( Transform eachTransform in allTransforms )
 +
      {
 +
      if ( eachTransform.GetComponent ( typeString ) != null )
 +
      {
 +
      Object.DestroyImmediate ( eachTransform.GetComponent (  typeString ) );
 +
      }
 +
      }
 +
    }
 +
}</csharp>
 +
 +
[[Category: Wizard]]
 +
[[Category: ScriptableObject]]
 +
[[Category: C Sharp]]
 +
[[Category: Lights]]
 +
[[Category: Selection]]

Revision as of 19:17, 19 October 2009

Author: Timo (T)

Description

This Wizard helps to delete a special type of components which are attached to the children of the selected Gameobject.

Usage

You must place the script in a folder named Editor in your projects Assets folder for it to work properly.

Launch the Wizard and fill in the string of the type you want to delete.

C# - DeleteComponentsInChildrenWizard.cs

<csharp>using UnityEngine; using UnityEditor; using System.Collections;


public class DeleteComponentsInChildrenWizard : ScriptableWizard {

   public string typeString;
   
   [MenuItem ( "GameObject/Delete Components in Children Wizard" )]
   static void DoSet()
   {
       ScriptableWizard.DisplayWizard("Set the string of type", typeof(DeleteComponentsInChildrenWizard), "Set");
   }
   
   void OnWizardUpdate()
   {
       helpString = "Set the string of the Component type you want to delete:";
   }
   
   void OnWizardCreate()
   {
   	DeleteChildren();
   }
   
   void DeleteChildren()
   {
       	Transform[] allTransforms = Selection.GetTransforms( SelectionMode.Deep ); //Get all Children
      	
      	foreach( Transform eachTransform in allTransforms )
      	{
      		if ( eachTransform.GetComponent ( typeString ) != null )
      		{
      			Object.DestroyImmediate ( eachTransform.GetComponent (  typeString ) );
      		}
      	}
   }

}</csharp>

Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox