1
0
forked from 0ad/0ad

Setup all the sample players in SP games [bug #52]

This was SVN commit r2099.
This commit is contained in:
Simon Brenner 2005-03-31 05:14:17 +00:00
parent 9d139926c9
commit 5e742f5615
2 changed files with 13 additions and 1 deletions

View File

@ -32,6 +32,7 @@ void CPlayerSlot::ScriptingInit()
{
AddMethod<bool, &CPlayerSlot::JSI_AssignClosed>("assignClosed", 0);
AddMethod<bool, &CPlayerSlot::JSI_AssignToSession>("assignToSession", 1);
AddMethod<bool, &CPlayerSlot::JSI_AssignLocal>("assignLocal", 0);
AddMethod<bool, &CPlayerSlot::JSI_AssignOpen>("assignOpen", 0);
AddClassProperty(L"assignment", (GetFn)&CPlayerSlot::JSI_GetAssignment);
// AddMethod<bool, &CPlayerSlot::JSI_AssignAI>("assignAI", <num_args>);
@ -59,7 +60,7 @@ jsval CPlayerSlot::JSI_GetAssignment()
return g_ScriptingHost.UCStringToValue(L"session");
/* case SLOT_AI:*/
default:
return JSVAL_NULL;
return INT_TO_JSVAL(m_Assignment);
}
}
@ -88,6 +89,12 @@ bool CPlayerSlot::JSI_AssignToSession(JSContext *cx, uintN argc, jsval *argv)
return true;
}
bool CPlayerSlot::JSI_AssignLocal(JSContext *cx, uintN argc, jsval *argv)
{
AssignToSessionID(1);
return true;
}
void CPlayerSlot::CallCallback()
{
if (m_Callback)
@ -303,7 +310,9 @@ void CGameAttributes::OnNumSlotsUpdate(CSynchedJSObjectBase *owner)
CPlayer *CGameAttributes::GetPlayer(int id)
{
if (id >= 0 && id < (int)m_Players.size())
{
return m_Players[id];
}
else
{
LOG(ERROR, "", "CGameAttributes::GetPlayer(): Attempt to get player %d (while there only are %d players)", id, m_Players.size());
@ -347,6 +356,7 @@ void CGameAttributes::FinalizeSlots()
}
else
{
LOG(ERROR, "", "CGameAttributes::FinalizeSlots(): slot %d deleted", i);
delete slot->GetPlayer();
delete slot;
}

View File

@ -35,6 +35,8 @@ class CPlayerSlot: public CJSObject<CPlayerSlot>
// Assign to a session, takes one argument (a NetSession object)
bool JSI_AssignToSession(JSContext *cx, uintN argc, jsval *argv);
// Assign to the local player in SP or Server Player in MP
bool JSI_AssignLocal(JSContext *cx, uintN argc, jsval *argv);
bool JSI_AssignOpen(JSContext *cx, uintN argc, jsval *argv);