- 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
![](https://koobas.hobune.stream/wayback/20220613190225im_/https://answers.unity.com/themes/thub/images/avi.jpg)
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