Hey Guys,
i have in one scene two persons to talk with. For both i used the GUI.DragWindow (); command, but its only working for the “Mandred”-Script, see below:
var zielMandred:Transform;
var punktMandred:Transform;
var guiMandred:GUISkin;
var zeigedialog:boolean=false;
private var colliderBetreten:boolean;
colliderBetreten=false;
private var bezugEron:GameObject;
bezugEron=GameObject.FindGameObjectWithTag("Player");
function OnTriggerEnter(collider:Collider)
{
colliderBetreten=true;
}
function OnTriggerExit(collider:Collider)
{
colliderBetreten=false;
Debug.Log("Verlassen");
transform.LookAt(punktMandred);
transform.rotation.x=0;
transform.rotation.z=0;
zeigedialog=false;
}
//Größe des Fensters
private var windowRect : Rect = Rect (Screen.width/2 - 250, Screen.height - 200, 500, 200);
function OnGUI()
{
if(Input.GetButton("Interagieren") colliderBetreten==true)
{
//toggle
zeigedialog=true;
Debug.Log(zeigedialog);
//guiskin
/*if(guiMandred)
{
GUI.skin=guiMandred;
}*/
}
//zeichne fenster
if(zeigedialog)
{
//Anzeigen des Fensters (Index, Größe, Inhalt(Funktion), "Überschrift")
windowRect = GUI.Window (0, windowRect, DoMyWindow, "");
}
}
function DoMyWindow ()
{
transform.LookAt(zielMandred);
transform.rotation.x=0;
transform.rotation.z=0;
GUILayout.Label("Mandred Thoel: \n Da bist du ja endlich Eron! Hast du die Tiere gefüttert?");
if(GUILayout.Button("Geh ich jetzt machen"))
{
zeigedialog=false;
}
GUI.DragWindow();
}
Structure of the second dialogue script is the same, but it isnt dragable
private var colliderBetreten:boolean;
colliderBetreten=false;
private var zeigeDialog:boolean=false;
//Größe des Fensters
private var fensterGroesse : Rect = Rect (Screen.width/2 - 250, Screen.height - 200, 500, 200);
private var bezugEron:GameObject;
bezugEron=GameObject.FindGameObjectWithTag("Player");
private var bezugInventar:inventar;
bezugInventar=GameObject.FindGameObjectWithTag("Player").GetComponent(inventar);
var punktSchweinchenA:Transform;
var zielSchweinchenA:Transform;
private var schweinchenAGefuettert:boolean=false;
var itemType:InventarItems;
function OnTriggerEnter(other:Collider)
{
if(!other.tag=="Player")
{
return;
}
colliderBetreten=true;
}
function OnTriggerExit(other:Collider)
{
colliderBetreten=false;
transform.LookAt(punktSchweinchenA);
transform.rotation.x=0;
transform.rotation.z=0;
zeigeDialog=false;
}
function OnGUI()
{
if(Input.GetButton("Interagieren") colliderBetreten==true)
{
zeigeDialog=true;
}
if(zeigeDialog)
{
windowRect = GUI.Window (1, fensterGroesse, FensterInhalt, "");
}
}
function FensterInhalt()
{
transform.LookAt(zielSchweinchenA);
transform.rotation.x=0;
transform.rotation.z=0;
if(!schweinchenAGefuettert bezugInventar.GetItemCount(itemType)<1)
{
GUILayout.Label(" Sehr dickes Schweinchen: \n Das Schweinchen sieht sehr hungrig aus. \n Es sieht dich mit seinen kleinen, glänzenden Augen gierig an. \n Vielleicht solltest du es mit etwas leckerem füttern?");
}
if(schweinchenAGefuettert)
{
GUILayout.Label(" Sehr dickes Schweinchen: \n Das Schweinchen grunzt zufrieden vor sich her");
}
if(!schweinchenAGefuettert bezugInventar.GetItemCount(itemType)>0)
{
GUILayout.Label(" Sehr dickes Schweinchen: \n Das Schweinchen rieht das Stroh in deiner Tasche und grunzt vor Aufregung! \n Willst du das Schweinchen füttern?");
if(GUILayout.Button("Dem viel zu dicken Schwein das Stroh geben"))
{
schweinchenAGefuettert=true;
}
if(GUILayout.Button("Lieber nicht"))
{
zeigeDialog=false;
}
}
GUI.DragWindow ();
}
I really cant find the mistake, hope somebody can help me
Thanks in advance
Vany