BVB Source Codes

CRYENGINE Show GameToken.cpp Source code

Return Download CRYENGINE: download GameToken.cpp Source code - Download CRYENGINE Source code - Type:.cpp
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. // -------------------------------------------------------------------------
  4. //  File name:   GameToken.cpp
  5. //  Version:     v1.00
  6. //  Created:     20/10/2005 by Timur.
  7. //  Compilers:   Visual Studio.NET
  8. //  Description:
  9. // -------------------------------------------------------------------------
  10. //  History:
  11. //
  12. ////////////////////////////////////////////////////////////////////////////
  13.  
  14. #include "StdAfx.h"
  15. #include "GameToken.h"
  16. #include "GameTokenSystem.h"
  17. #include "FlowSystem/FlowSerialize.h"
  18.  
  19. //////////////////////////////////////////////////////////////////////////
  20. CGameTokenSystem* CGameToken::g_pGameTokenSystem = 0;
  21.  
  22. //////////////////////////////////////////////////////////////////////////
  23. CGameToken::CGameToken()
  24.         : m_changed(0.0f)
  25. {
  26.         m_nFlags = 0;
  27. }
  28.  
  29. //////////////////////////////////////////////////////////////////////////
  30. CGameToken::~CGameToken()
  31. {
  32.         Notify(EGAMETOKEN_EVENT_DELETE);
  33. }
  34.  
  35. //////////////////////////////////////////////////////////////////////////
  36. void CGameToken::Notify(EGameTokenEvent event)
  37. {
  38.         // Notify all listeners about game token event.
  39.         for (Listeneres::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it)
  40.         {
  41.                 (*it)->OnGameTokenEvent(event, this);
  42.         }
  43. }
  44.  
  45. //////////////////////////////////////////////////////////////////////////
  46. void CGameToken::SetName(const char* sName)
  47. {
  48.         m_name = sName;
  49. }
  50.  
  51. //////////////////////////////////////////////////////////////////////////
  52. void CGameToken::SetType(EFlowDataTypes dataType)
  53. {
  54.         //@TODO: implement
  55.         //m_value.SetType(dataType);
  56. }
  57.  
  58. //////////////////////////////////////////////////////////////////////////
  59. void CGameToken::SetValue(const TFlowInputData& val)
  60. {
  61.         if ((0 == (m_nFlags & EGAME_TOKEN_MODIFIED)) || val != m_value)
  62.         {
  63.                 m_value = val;
  64.                 m_nFlags |= EGAME_TOKEN_MODIFIED;
  65.  
  66.                 m_changed = gEnv->pTimer->GetFrameStartTime();
  67.                 g_pGameTokenSystem->Notify(EGAMETOKEN_EVENT_CHANGE, this);
  68.         }
  69. }
  70.  
  71. //////////////////////////////////////////////////////////////////////////
  72. bool CGameToken::GetValue(TFlowInputData& val) const
  73. {
  74.         val = m_value;
  75.         return true;
  76. }
  77.  
  78. //////////////////////////////////////////////////////////////////////////
  79. void CGameToken::SetValueAsString(const char* sValue, bool bDefault)
  80. {
  81.         if (bDefault)
  82.         {
  83.                 SetFromString(m_value, sValue);
  84.         }
  85.         else
  86.         {
  87.                 // if(strcmp(sValue,GetValueAsString()))
  88.                 {
  89.                         SetFromString(m_value, sValue);
  90.                         m_nFlags |= EGAME_TOKEN_MODIFIED;
  91.  
  92.                         m_changed = gEnv->pTimer->GetFrameStartTime();
  93.                         g_pGameTokenSystem->Notify(EGAMETOKEN_EVENT_CHANGE, this);
  94.                 }
  95.         }
  96. }
  97.  
  98. //////////////////////////////////////////////////////////////////////////
  99. const char* CGameToken::GetValueAsString() const
  100. {
  101.         static string temp;
  102.         temp = ConvertToString(m_value);
  103.         return temp;
  104. }
  105.  
  106. void CGameToken::GetMemoryStatistics(ICrySizer* s)
  107. {
  108.         s->AddObject(this, sizeof(*this));
  109.         s->AddObject(m_name);
  110.         s->AddObject(m_value);
  111.         s->AddObject(m_listeners);
  112. }
  113.  
downloadGameToken.cpp Source code - Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top