Example #1
0
//--------------------------------------------------------------
void CWeaponSystem::CheckEnvironmentChanges()
{
	if(gEnv->bMultiplayer)
		return;

	IGameTokenSystem *pGameTokenSystem = gEnv->pGame->GetIGameFramework()->GetIGameTokenSystem();

	bool frozenEnvironment = m_frozenEnvironment;
	bool wetEnvironment = m_wetEnvironment;
	m_tokensUpdated = false;

	if(pGameTokenSystem)
	{
		// next call will leave value unchanged if not found
		pGameTokenSystem->GetTokenValueAs("weapon.effects.ice", frozenEnvironment);
		pGameTokenSystem->GetTokenValueAs("weapon.effects.wet", wetEnvironment);
	}

	if(m_frozenEnvironment!=frozenEnvironment)
	{
		m_frozenEnvironment = frozenEnvironment;
		ApplyEnvironmentChanges();
	}

	if(m_wetEnvironment!=wetEnvironment)
	{
		m_wetEnvironment = wetEnvironment;
		ApplyEnvironmentChanges();
	}

}
// Wraps fetching the game token
IGameToken* CTweakMetadataGameToken::GetGameToken(void) const 
{
	IGameTokenSystem* pSystem = CCryAction::GetCryAction()->GetIGameTokenSystem();
	if(pSystem)
	{
		return pSystem->FindToken(m_command);
	}

	return NULL;
}
Example #3
0
//--------------------------------------------------------------
void CWeaponSystem::UnregisterGameTokens()
{
	if(gEnv->bMultiplayer)
		return;

	IGameTokenSystem *pGameTokenSystem = gEnv->pGame->GetIGameFramework()->GetIGameTokenSystem();

	if(pGameTokenSystem)
	{
		pGameTokenSystem->UnregisterListener("weapon.effects.ice", this);
		pGameTokenSystem->UnregisterListener("weapon.effects.wet",this);
	}
}
Example #4
0
//---------------------------------------------------------------
void CWeaponSystem::CreateEnvironmentGameTokens(bool frozenEnvironment, bool wetEnvironment)
{
	if(gEnv->bMultiplayer)
		return;

	IGameTokenSystem *pGameTokenSystem = gEnv->pGame->GetIGameFramework()->GetIGameTokenSystem();

	// create the game tokens if not present
	if(pGameTokenSystem)
	{
		pGameTokenSystem->SetOrCreateToken("weapon.effects.ice", TFlowInputData(frozenEnvironment));
		pGameTokenSystem->SetOrCreateToken("weapon.effects.wet", TFlowInputData(wetEnvironment));
	}
}
void CCheckpointSystem::WriteGameTokens(XmlNodeRef parentNode)
{
	//create serialization writer
	XmlNodeRef node = GetISystem()->CreateXmlNode(GAMETOKEN_SECTION);
	IXmlSerializer *pSerializer = GetISystem()->GetXmlUtils()->CreateXmlSerializer();
	ISerialize *pWriter = pSerializer->GetWriter(node);

	//get serialization data
	TSerialize ser = TSerialize(pWriter);
	IGameTokenSystem *pTokenSystem = CCryAction::GetCryAction()->GetIGameTokenSystem();
	pTokenSystem->Serialize(ser);

	//add to parent node
	parentNode->addChild(node);

	pSerializer->Release();
}
Example #6
0
//------------------------------------------------------------------------
CSingleTG::CSingleTG()
{
	m_iSerializeIgnoreUpdate = 0;
	m_fSerializeProgress = 0.0f;
	m_idSerializeTarget = 0;

	// create the game tokens if not present
	IGameTokenSystem *pGameTokenSystem = gEnv->pGame->GetIGameFramework()->GetIGameTokenSystem();
	if(pGameTokenSystem)
	{
		for(int i=0; i<SINGLETG_MAX_TARGETS; i++)
		{
			EntityId entityId = 0;
			if (pGameTokenSystem->FindToken(g_TokenTable[i]) == 0)
				pGameTokenSystem->SetOrCreateToken(g_TokenTable[i], TFlowInputData(entityId));
		}
	}
}
Example #7
0
//---------------------------------------------------
void CSingleTG::UpdateTargets()
{
	IGameTokenSystem *pGameTokenSystem = gEnv->pGame->GetIGameFramework()->GetIGameTokenSystem();

	if(pGameTokenSystem)
	{
		for(int i=0; i<SINGLETG_MAX_TARGETS; i++)
		{
			EntityId entityId = 0;
			// next call will leave entityId unchanged if not found, but it's 0 by default
			pGameTokenSystem->GetTokenValueAs(g_TokenTable[i], entityId);
			m_targetIds[i] = entityId;
		}
	}
	else
	{
		for(int i=0; i<SINGLETG_MAX_TARGETS; i++)
			m_targetIds[i] = 0;
	}
}
void CCheckpointSystem::ReadGameTokens(XmlNodeRef parentNode)
{
	//get source node
	XmlNodeRef node = parentNode->findChild(GAMETOKEN_SECTION);
	if(!node)
	{
		CryWarning(VALIDATOR_MODULE_GAME, VALIDATOR_ERROR, "Couldn't find Gametoken section while reading checkpoint.");
		return;
	}

	//create serialization reader
	IXmlSerializer *pSerializer = GetISystem()->GetXmlUtils()->CreateXmlSerializer();
	ISerialize *pReader = pSerializer->GetReader(node);

	//read serialization data
	TSerialize ser = TSerialize(pReader);
	IGameTokenSystem *pTokenSystem = CCryAction::GetCryAction()->GetIGameTokenSystem();
	pTokenSystem->Serialize(ser);

	pSerializer->Release();
}