Fix camera: remove invalid Canvas.getFirstResponder (BL has no such API)
This commit is contained in:
1 parent
bd43fa9aa9
commit
c731f4ab15
1 file changed
+29
-17
@@ -31,6 +31,7 @@ $RPGClient::HelloLast = "";
|
|||||||
$RPGClient::TopDownWatchSched = 0;
|
$RPGClient::TopDownWatchSched = 0;
|
||||||
$RPGClient::CamSched = 0;
|
$RPGClient::CamSched = 0;
|
||||||
$RPGClient::LastClickTime = 0;
|
$RPGClient::LastClickTime = 0;
|
||||||
|
$RPGClient::ChatOpen = 0;
|
||||||
|
|
||||||
function RPGClient_NormPos(%ctrl, %pos)
|
function RPGClient_NormPos(%ctrl, %pos)
|
||||||
{
|
{
|
||||||
@@ -258,19 +259,16 @@ function RPGClient_InPlay()
|
|||||||
|
|
||||||
function RPGClient_TextTyping()
|
function RPGClient_TextTyping()
|
||||||
{
|
{
|
||||||
if (isObject(Canvas))
|
return $RPGClient::ChatOpen;
|
||||||
|
}
|
||||||
|
|
||||||
|
function RPGClient_SetChatOpen(%open)
|
||||||
|
{
|
||||||
|
$RPGClient::ChatOpen = %open ? 1 : 0;
|
||||||
|
if ($RPGClient::Active)
|
||||||
{
|
{
|
||||||
%fg = Canvas.getFirstResponder();
|
schedule(0, 0, RPGClient_SyncInputStack);
|
||||||
if (isObject(%fg))
|
|
||||||
{
|
|
||||||
%cn = %fg.getClassName();
|
|
||||||
if (%cn $= "GuiTextEditCtrl" || %cn $= "GuiMLTextEditCtrl")
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function RPGClient_RpgKeys()
|
function RPGClient_RpgKeys()
|
||||||
@@ -1220,6 +1218,10 @@ package RPGClient_Cursor
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Canvas.pushDialog(%this);
|
Canvas.pushDialog(%this);
|
||||||
|
if ($RPGClient::Active)
|
||||||
|
{
|
||||||
|
RPGClient_SetChatOpen(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
activatePackage(RPGClient_Cursor);
|
activatePackage(RPGClient_Cursor);
|
||||||
@@ -1291,22 +1293,32 @@ package RPGClient_ChatKeys
|
|||||||
function GlobalChat(%val)
|
function GlobalChat(%val)
|
||||||
{
|
{
|
||||||
Parent::GlobalChat(%val);
|
Parent::GlobalChat(%val);
|
||||||
if ($RPGClient::Active)
|
if ($RPGClient::Active && %val)
|
||||||
{
|
{
|
||||||
schedule(0, 0, RPGClient_SyncInputStack);
|
RPGClient_SetChatOpen(1);
|
||||||
schedule(50, 0, RPGClient_SyncInputStack);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function TeamChat(%val)
|
function TeamChat(%val)
|
||||||
{
|
{
|
||||||
Parent::TeamChat(%val);
|
Parent::TeamChat(%val);
|
||||||
if ($RPGClient::Active)
|
if ($RPGClient::Active && %val)
|
||||||
{
|
{
|
||||||
schedule(0, 0, RPGClient_SyncInputStack);
|
RPGClient_SetChatOpen(1);
|
||||||
schedule(50, 0, RPGClient_SyncInputStack);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function newChatText::onWake(%this)
|
||||||
|
{
|
||||||
|
Parent::onWake(%this);
|
||||||
|
RPGClient_SetChatOpen(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function newChatText::onSleep(%this)
|
||||||
|
{
|
||||||
|
Parent::onSleep(%this);
|
||||||
|
RPGClient_SetChatOpen(0);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
activatePackage(RPGClient_ChatKeys);
|
activatePackage(RPGClient_ChatKeys);
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user