- Home /
Drag windows Not working
I'm trying to make it so that it opens a window when i press a certain button but its not working, why?
Here is my code:
using UnityEngine;
using System.Collections;
public class ButtonsAtTop : MonoBehaviour {
public Texture LogOutTexture;
public Texture Shop;
public Texture Inventory;
public Texture Friends;
public Texture Chat;
public Texture CharacterCustom;
bool displayWindowForShop=false;
bool displayWindowForInventory=false;
bool displayWindowForFriends=false;
bool displayWindowForChat=false;
bool displayWindowForCharacterCustom=false;
public Rect showWindowRectForShop;
public Rect showWindowRectForFriends;
public Rect showWindowRectForInventory;
public Rect showWindowRectForChat;
public Rect showWindowRectForCharacterCustom;
void Start()
{
showWindowRectForShop=new Rect(Screen.width-750, (Screen.height/2)-250, 500, 500);
showWindowRectForChat=new Rect(Screen.width-750, (Screen.height/2)-250, 500, 500);
showWindowRectForFriends=new Rect(Screen.width-750, (Screen.height/2)-250, 500, 500);
showWindowRectForChat=new Rect(Screen.width-750, (Screen.height/2)-250, 500, 500);
showWindowRectForCharacterCustom=new Rect(Screen.width-750, (Screen.height/2)-250, 500, 500);
}
void OnGUI()
{
if (GUI.Button (new Rect (Screen.width - 50, 0, 50, 50), LogOutTexture))
{
PhotonNetwork.Disconnect();
}
if (GUI.Button (new Rect (Screen.width - 100, 0, 50, 50), Shop))
{
displayWindowForShop=!displayWindowForShop;
}
if(GUI.Button (new Rect (Screen.width - 150, 0, 50, 50),Inventory))
{
displayWindowForInventory=false;
}
if(GUI.Button (new Rect (Screen.width - 200, 0, 50, 50),Friends))
{
displayWindowForFriends=false;
}
if(GUI.Button (new Rect (Screen.width - 250, 0, 50, 50),Chat))
{
displayWindowForChat=false;
}
if(GUI.Button (new Rect (Screen.width - 300, 0, 50, 50),CharacterCustom))
{
displayWindowForCharacterCustom=false;
}
if (displayWindowForShop)
{
showWindowRectForShop=GUI.Window(0, showWindowRectForShop, ShopWindow, "Shop Window");
}
if (displayWindowForInventory)
{
showWindowRectForInventory=GUI.Window(1,showWindowRectForInventory , InventoryWindow, "Inventory");
}
if (displayWindowForFriends)
{
showWindowRectForFriends=GUI.Window(2,showWindowRectForFriends , FriendsWindow, "Friends");
}
if (displayWindowForChat)
{
showWindowRectForChat=GUI.Window(3,showWindowRectForChat , ChatWindow, "Chat");
}
if (displayWindowForCharacterCustom)
{
showWindowRectForCharacterCustom=GUI.Window(4 ,showWindowRectForCharacterCustom , CharacterCustomWindow, "Character Customisation");
}
}
void ShopWindow(int id)
{
GUI.DragWindow ();
}
void InventoryWindow(int id)
{
GUI.DragWindow ();
Debug.Log ("Show window for inventory");
}
void FriendsWindow(int id)
{
GUI.DragWindow ();
}
void ChatWindow(int id)
{
GUI.DragWindow ();
}
void CharacterCustomWindow(int id)
{
GUI.DragWindow ();
}
void OnDisconnectedFromPhoton()
{
Application.LoadLevel ("SciFi Level");
}
public void StartGame()
{
Application.LoadLevel ("Game Prototype");
}
public void Exit()
{
PhotonNetwork.Disconnect ();
}
}
Comment
Answer by maccabbe · Mar 15, 2015 at 05:35 PM
Most of the windows never open because you never tell them to be open.
on lines 43, 47, etc you use
value=false;
which always tells the windows to hide
Replace these lines with something like I wrote on line 39
value=!value;
it is short hand for
if(value){
value=false;
}
else{
value=true;
}
OF COURSE! That was very stupid of me, its basically saying when the button then do the opposite of what it is. Thanks, the help is appreiciated.
Your answer
Follow this Question
Related Questions
Popup window size problem 1 Answer
Move one GUI window when another is moved? 0 Answers
determine if dragging window 0 Answers
Can't Drag GUI.Window's!!! 2 Answers
How to open a separate window 1 Answer