Unity Editor Hello, Unity Dev’s I am back again with Part 3 of Creating custom editor window in unity. In today’s blog we will look around: “How to load Textures files from resource folder and create our buttons.” Step1. Gather some images related to the headers of our sub-toolbars or if you are good at photoshop create some, btw I have zero skills when it comes to photoshop so I am goanna gather images from internet. Once we have are images ready drag them into respected folder under root folder Resources. It will look something like this: Step2. Scripting Now we need to create a function which will be called once whenever we will switch from sub-tabs. Hmmmm, so how to do that!!! First create a function and name it as per your want’s I have named mine as: “MakeWindow” Then write down these lines: Create two variables a list: to store our loaded texture...
Unity Editor
Hello,
Unity Dev’s I am back again with Part 3 of Creating custom editor window in
unity.
In
today’s blog we will look around: “How to load Textures files from resource
folder and create our buttons.”
Step1.
Gather some images
related to the headers of our sub-toolbars or if you are good at photoshop create
some, btw I have zero skills when it comes to photoshop so I am goanna gather
images from internet.
Once
we have are images ready drag them into respected folder under root folder Resources.
It
will look something like this:
Step2.
Scripting
Now we need to create a function which will be
called once whenever we will switch from sub-tabs.
Hmmmm,
so how to do that!!!
First
create a function and name it as per your want’s I have named mine as: “MakeWindow”
Then
write down these lines:
Create
two variables a list: to store our loaded textures and second an array to load
textures files from resource folder.
Line
number 110 Loads all the files of Typeof Textured from the respected folder,
which is TextureFolder in our code and stores them in _mytextures array.
(Note: _mytextures
is of object type which is used whenever we store instances of any files.)
Line No. 112 to
115:
Now we have to convert
all our object into Texture2D type and store them into a List.
Line No. 117 to
119:
Next, we need to
create buttons as much as we have Texture files in our list.
So, we traverse
our list and within our foreach body add an if statement creating button with a
parameter of our texture file.
Line No. 107 and
108
OnGUI functions
runs at every frame whenever any change happens in unity engine which can cause
unnecessary code running so, to avoid that I have added an if statement which
checks if list is empty only than create buttons, and once the buttons are
created it want run again until we switch between sub-tabs.
Now how to call and
from where to call our function with correct parameter.
In our ONGUI() whem
we switch between our sub-toolbar which is Line No. 85
We will call our
function with parameter.
Out toolbar name /
our sub toolbar name
For e.g.,
Animals/Animal
ToolbarStrings[selection]+
“/” + Sub_folder_toolbar[selection]
ToolbarStrings[selection]
if selection is 0 return Animals
ToolbarStrings[selection]
if selection is 1 return Buildings
ToolbarStrings[selection]
if selection is 0 return Items
ToolbarStrings[selection]
if selection is 0 return Staff
Same
Sub_folder_toolbar[selection]
if selection is 0 return 1st folder name respected to Tollbar
selected.
Sub_folder_toolbar[selection]
if selection is 1 return 2nd folder name respected to Tollbar
selected, and so on..
One last thing add
a else statement if our Sub_folders_toolbar.Length
> 0
Which means no
sub-tabs will be created and it loads our Staff textures.
Step3. Run the
Script and we have our Custom editor ready, in which we can select tabs, switch
between sub-tabs and have our custom buttons with Textures.
Happy Coding!!!
Comments
Post a Comment