BVB Source Codes

CRYENGINE Show FlashUIUtilNodes.cpp Source code

Return Download CRYENGINE: download FlashUIUtilNodes.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:   FlashUIUtilNodes.cpp
  5. //  Version:     v1.00
  6. //  Created:     24/4/212 by Paul Reindell.
  7. //  Description:
  8. // -------------------------------------------------------------------------
  9. //  History:
  10. //
  11. ////////////////////////////////////////////////////////////////////////////
  12. #include "StdAfx.h"
  13. #include "FlashUIUtilNodes.h"
  14. #include "FlashUI.h"
  15.  
  16. //------------------------------------------------------------------------------------------------------
  17. void CFlashUIPlatformNode::GetConfiguration(SFlowNodeConfig& config)
  18. {
  19.         static const SInputPortConfig in_config[] = {
  20.                 InputPortConfig_Void("get", "Get current platform"),
  21.                 { 0 }
  22.         };
  23.  
  24.         static const SOutputPortConfig out_config[] = {
  25.                 OutputPortConfig_Void("IsPc",      _HELP("Triggered on PC")),
  26.                 OutputPortConfig_Void("IsXBoxOne", _HELP("Triggered on XBox One")),
  27.                 OutputPortConfig_Void("IsPS4",     _HELP("Triggered on PS4")),
  28.                 OutputPortConfig_Void("IsAndroid", _HELP("Triggered on Android")),
  29.                 OutputPortConfig_Void("IsConsole", _HELP("Triggered on Consoles")),
  30.                 { 0 }
  31.         };
  32.  
  33.         config.sDescription = "Node to get current platform, works also with selected platform of UIEmulator";
  34.         config.pInputPorts = in_config;
  35.         config.pOutputPorts = out_config;
  36.         config.SetCategory(EFLN_APPROVED);
  37. }
  38.  
  39. void CFlashUIPlatformNode::ProcessEvent(EFlowEvent event, SActivationInfo* pActInfo)
  40. {
  41.         if (event == eFE_Activate && IsPortActive(pActInfo, eI_Get))
  42.         {
  43.                 if (gEnv->IsEditor())
  44.                 {
  45.                         if (gEnv->pFlashUI)
  46.                         {
  47.                                 IFlashUI::EPlatformUI platform = ((CFlashUI*)gEnv->pFlashUI)->GetCurrentPlatform();
  48.                                 switch (platform)
  49.                                 {
  50.                                 case IFlashUI::ePUI_PC:
  51.                                         ActivateOutput(pActInfo, eO_IsPc, true);
  52.                                         break;
  53.                                 case IFlashUI::ePUI_Orbis:
  54.                                         ActivateOutput(pActInfo, eO_IsOrbis, true);
  55.                                         ActivateOutput(pActInfo, eO_IsConsole, true);
  56.                                         break;
  57.                                 case IFlashUI::ePUI_Durango:
  58.                                         ActivateOutput(pActInfo, eO_IsDurango, true);
  59.                                         ActivateOutput(pActInfo, eO_IsConsole, true);
  60.                                         break;
  61.                                 case IFlashUI::ePUI_Android:
  62.                                         ActivateOutput(pActInfo, eO_IsAndroid, true);
  63.                                         ActivateOutput(pActInfo, eO_IsConsole, true);
  64.                                         break;
  65.                                 }
  66.                         }
  67.                 }
  68.                 else
  69.                 {
  70. #if CRY_PLATFORM_DURANGO
  71.                         ActivateOutput(pActInfo, eO_IsDurango, true);
  72.                         ActivateOutput(pActInfo, eO_IsConsole, true);
  73. #elif CRY_PLATFORM_ORBIS
  74.                         ActivateOutput(pActInfo, eO_IsOrbis, true);
  75.                         ActivateOutput(pActInfo, eO_IsConsole, true);
  76. #elif CRY_PLATFORM_ANDROID
  77.                         ActivateOutput(pActInfo, eO_IsAndroid, true);
  78.                         ActivateOutput(pActInfo, eO_IsConsole, true);
  79. #else
  80.                         ActivateOutput(pActInfo, eO_IsPc, true);
  81. #endif
  82.                 }
  83.         }
  84. }
  85.  
  86. //--------------------------------------------------------------------------------------------
  87. void CFlashUIDelayNode::GetConfiguration(SFlowNodeConfig& config)
  88. {
  89.         static const SInputPortConfig inputs[] = {
  90.                 InputPortConfig_AnyType("in",   _HELP("Value to be passed after [Delay] time"), _HELP("In")),
  91.                 InputPortConfig<float>("delay", 1.0f,                                           _HELP("Delay time in seconds"),_HELP("Delay")),
  92.                 { 0 }
  93.         };
  94.  
  95.         static const SOutputPortConfig outputs[] = {
  96.                 OutputPortConfig_AnyType("out", _HELP("Out")),
  97.                 { 0 }
  98.         };
  99.  
  100.         config.sDescription = _HELP("This node will delay passing the signal from [In] to [Out] for the specified number of seconds in [Delay]");
  101.         config.pInputPorts = inputs;
  102.         config.pOutputPorts = outputs;
  103.         config.SetCategory(EFLN_APPROVED);
  104.  
  105. }
  106.  
  107. void CFlashUIDelayNode::ProcessEvent(EFlowEvent event, SActivationInfo* pActInfo)
  108. {
  109.         switch (event)
  110.         {
  111.         case eFE_Initialize:
  112.                 pActInfo->pGraph->SetRegularlyUpdated(pActInfo->myID, false);
  113.                 break;
  114.         case eFE_Activate:
  115.                 pActInfo->pGraph->SetRegularlyUpdated(pActInfo->myID, true);
  116.                 m_fTime = gEnv->pTimer->GetAsyncCurTime();
  117.                 break;
  118.         case eFE_Update:
  119.                 if (m_fTime + GetPortFloat(pActInfo, eI_Delay) < gEnv->pTimer->GetAsyncCurTime())
  120.                 {
  121.                         ActivateOutput(pActInfo, eO_Done, GetPortAny(pActInfo, eI_Start));
  122.                         pActInfo->pGraph->SetRegularlyUpdated(pActInfo->myID, false);
  123.                 }
  124.                 break;
  125.         }
  126. }
  127.  
  128. //------------------------------------------------------------------------------------------------------
  129. REGISTER_FLOW_NODE("UI:Util:Platform", CFlashUIPlatformNode);
  130. REGISTER_FLOW_NODE("UI:Util:UIDelay", CFlashUIDelayNode);
  131.  
downloadFlashUIUtilNodes.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