BVB Source Codes

CRYENGINE Show IndexerNode.cpp Source code

Return Download CRYENGINE: download IndexerNode.cpp Source code - Download CRYENGINE Source code - Type:.cpp
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. #include "StdAfx.h"
  4.  
  5. #include <CryFlowGraph/IFlowBaseNode.h>
  6.  
  7. //////////////////////////////////////////////////////////////////////////
  8. class CIndexer_Node : public CFlowBaseNode<eNCT_Singleton>
  9. {
  10. public:
  11.         CIndexer_Node(SActivationInfo* pActInfo) {};
  12.         virtual void GetConfiguration(SFlowNodeConfig& config)
  13.         {
  14.                 static const SInputPortConfig in_config[] = {
  15.                         InputPortConfig_AnyType("Port1", _HELP("Input Port 0")),
  16.                         InputPortConfig_AnyType("Port2", _HELP("Input Port 1")),
  17.                         InputPortConfig_AnyType("Port3", _HELP("Input Port 2")),
  18.                         InputPortConfig_AnyType("Port4", _HELP("Input Port 3")),
  19.                         InputPortConfig_AnyType("Port5", _HELP("Input Port 4")),
  20.                         InputPortConfig_AnyType("Port6", _HELP("Input Port 5")),
  21.                         InputPortConfig_AnyType("Port7", _HELP("Input Port 6")),
  22.                         InputPortConfig_AnyType("Port8", _HELP("Input Port 7")),
  23.                         { 0 }
  24.                 };
  25.                 static const SOutputPortConfig out_config[] = {
  26.                         OutputPortConfig<int>("out", _HELP("PortIndex which was triggered [1-8]"), _HELP("PortIndex")),
  27.                         { 0 }
  28.                 };
  29.                 config.sDescription = _HELP("Whenever an input port is activated, returns the index of that port [1-8]. WARNING: Does not account for multiple activations on different ports!");
  30.                 config.pInputPorts = in_config;
  31.                 config.pOutputPorts = out_config;
  32.                 config.SetCategory(EFLN_APPROVED);
  33.         }
  34.         virtual void ProcessEvent(EFlowEvent event, SActivationInfo* pActInfo)
  35.         {
  36.                 switch (event)
  37.                 {
  38.                 case eFE_Activate:
  39.                         {
  40.                                 int o = 0;
  41.                                 for (int i = 0; i < 8; i++)
  42.                                 {
  43.                                         if (IsPortActive(pActInfo, i))
  44.                                         {
  45.                                                 o = i + 1;
  46.                                                 break;
  47.                                         }
  48.                                 }
  49.                                 ActivateOutput(pActInfo, 0, o);
  50.                                 break;
  51.                         }
  52.                 case eFE_Initialize:
  53.                         ActivateOutput(pActInfo, 0, 0);
  54.                         break;
  55.                 }
  56.                 ;
  57.         }
  58.  
  59.         virtual void GetMemoryUsage(ICrySizer* s) const
  60.         {
  61.                 s->Add(*this);
  62.         }
  63. };
  64.  
  65. REGISTER_FLOW_NODE("Logic:Indexer", CIndexer_Node);
  66.  
downloadIndexerNode.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