BVB Source Codes

CRYENGINE Show SerializeScriptTableReader.h Source code

Return Download CRYENGINE: download SerializeScriptTableReader.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. #ifndef __SERIALIZESCRIPTTABLEREADER_H__
  4. #define __SERIALIZESCRIPTTABLEREADER_H__
  5.  
  6. #pragma once
  7.  
  8. #include <CryNetwork/SimpleSerialize.h>
  9. #include <stack>
  10.  
  11. class CSerializeScriptTableReaderImpl : public CSimpleSerializeImpl<true, eST_Script>
  12. {
  13. public:
  14.         CSerializeScriptTableReaderImpl(SmartScriptTable tbl);
  15.  
  16.         template<class T>
  17.         void Value(const char* name, T& value)
  18.         {
  19.                 IScriptTable* pTbl = CurTable();
  20.                 if (pTbl)
  21.                         if (pTbl->HaveValue(name))
  22.                                 if (!pTbl->GetValue(name, value))
  23.                                 {
  24.                                         Failed();
  25.                                         GameWarning("Failed to read %s", name);
  26.                                 }
  27.         }
  28.  
  29.         void Value(const char* name, EntityId& value);
  30.  
  31.         void Value(const char* name, SNetObjectID& value)
  32.         {
  33.                 CRY_ASSERT(false);
  34.         }
  35.  
  36.         void Value(const char* name, XmlNodeRef& value)
  37.         {
  38.                 CRY_ASSERT(false);
  39.         }
  40.  
  41.         void Value(const char* name, Quat& value);
  42.         void Value(const char* name, ScriptAnyValue& value);
  43.         void Value(const char* name, SSerializeString& value);
  44.         void Value(const char* name, uint16& value);
  45.         void Value(const char* name, uint64& value);
  46.         void Value(const char* name, int16& value);
  47.         void Value(const char* name, int64& value);
  48.         void Value(const char* name, uint8& value);
  49.         void Value(const char* name, int8& value);
  50.         void Value(const char* name, Vec2& value);
  51.         void Value(const char* name, CTimeValue& value);
  52.  
  53.         template<class T, class P>
  54.         void Value(const char* name, T& value, const P& p)
  55.         {
  56.                 Value(name, value);
  57.         }
  58.  
  59.         bool BeginGroup(const char* szName);
  60.         bool BeginOptionalGroup(const char* szName, bool cond) { return false; }
  61.         void EndGroup();
  62.  
  63. private:
  64.         template<class T, class U>
  65.         void NumValue(const char* name, U& value);
  66.  
  67.         int                          m_nSkip;
  68.         std::stack<SmartScriptTable> m_tables;
  69.  
  70.         IScriptTable* CurTable()
  71.         {
  72.                 if (m_nSkip)
  73.                         return 0;
  74.                 else
  75.                         return m_tables.top();
  76.         }
  77. };
  78.  
  79. #endif
  80.  
downloadSerializeScriptTableReader.h 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