core/smn_entities.cpp
changeset 558 fc0eec032efb
parent 557 467d4af2148b
child 561 49f639ad7d5e
     1.1 --- a/core/smn_entities.cpp	Fri Mar 02 08:00:45 2007 +0000
     1.2 +++ b/core/smn_entities.cpp	Fri Mar 02 08:34:13 2007 +0000
     1.3 @@ -437,8 +437,40 @@
     1.4  	return 1;
     1.5  }
     1.6  
     1.7 +IChangeInfoAccessor *CBaseEdict::GetChangeAccessor()
     1.8 +{
     1.9 +	return engine->GetChangeAccessor( (const edict_t *)this );
    1.10 +}
    1.11 +
    1.12 +CSharedEdictChangeInfo *g_pSharedChangeInfo = NULL;
    1.13 +
    1.14 +static cell_t ChangeEdictState(IPluginContext *pContext, const cell_t *params)
    1.15 +{
    1.16 +	edict_t *pEdict = GetEdict(params[1]);
    1.17 +
    1.18 +	if (!pEdict)
    1.19 +	{
    1.20 +		return pContext->ThrowNativeError("Edict %d is invalid", params[1]);
    1.21 +	}
    1.22 +
    1.23 +	if (!g_pSharedChangeInfo)
    1.24 +	{
    1.25 +		g_pSharedChangeInfo = engine->GetSharedEdictChangeInfo();
    1.26 +	}
    1.27 +
    1.28 +	if (params[2])
    1.29 +	{
    1.30 +		pEdict->StateChanged(params[2]);
    1.31 +	} else {
    1.32 +		pEdict->StateChanged();
    1.33 +	}
    1.34 +
    1.35 +	return 1;
    1.36 +}
    1.37 +
    1.38  REGISTER_NATIVES(entityNatives)
    1.39  {
    1.40 +	{"ChangeEdictState",		ChangeEdictState},
    1.41  	{"CreateEdict",				CreateEdict},
    1.42  	{"GetEdictClassname",		GetEdictClassname},
    1.43  	{"GetEdictFlags",			GetEdictFlags},