Hi everybody,
I’m a beginner in C# and I want to try to write an Inventory.
I tried to use a For-Loop to create the Inventoryslots (GUI.DrawTexture),
because this is not so much to write. But this did not work for me…
How can this be done?
(One more question: When i delete my button… everything disappers… How can i fix this?
Here is my start without for-loops:
using UnityEngine;
using System.Collections;
public class inventory_gui : MonoBehaviour {
Rect windowRect = new Rect(20, 20, 420, 400);
public Texture2D backDrop;
public float pos_x=10F;
public float pos_y=50F;
public float size_x=50F;
public float size_y=50F;
void OnGUI() {
windowRect = GUILayout.Window(0, windowRect, DoMyWindow, "Inventory");
}
void DoMyWindow(int windowID) {
GUI.DragWindow(new Rect(0, 0, 10000, 20));
GUI.DrawTexture(new Rect(pos_x,pos_y,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+50,pos_y,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+100,pos_y,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+150,pos_y,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+200,pos_y,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+250,pos_y,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+300,pos_y,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+350,pos_y,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x,pos_y+50,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+50,pos_y+50,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+100,pos_y+50,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+150,pos_y+50,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+200,pos_y+50,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+250,pos_y+50,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+300,pos_y+50,size_x,size_y),backDrop,ScaleMode.StretchToFill);
GUI.DrawTexture(new Rect(pos_x+350,pos_y+50,size_x,size_y),backDrop,ScaleMode.StretchToFill);
if (GUILayout.Button(""))
print("Got a click");
}
Thank you