Создание нового нода

Материал из CryWiki Russia

(Различия между версиями)
Перейти к: навигация, поиск
Строка 10: Строка 10:
= Создание нового нода =
= Создание нового нода =
 +
 +
Статья описывает шаги по внедрению нового нода '''Flowgraph'''.
 +
 +
== Базовый код ==
 +
 +
Рекоммендуется реализовывать ноды, принадлежащие одинаковой группе в едином '''cpp''' файле. Обычно нет необходимости в заголовке, за исключением некоторых специальных нодов. Поместите''' cpp''' файл в файл проекта CryAction/Flow System Files/Nodes и в рамках структуры директории файловой системы в Code/CryEngine/CryAction/FlowSystem/Nodes.
 +
 +
В '''cpp''' файле добавьте класс используя следующий шаблон кода и замените «MyName» желаемым именем вашего '''ФГ''' [сокр. '''Флоуграф'''] нода. Замените «FlowNodeGroup» желаемым именем группы и создайте соответствующую подпапку в селекторе редактора нода, где этот тип нода будет располагаться:
 +
 +
<source lang="cpp">
 +
#include "stdafx.h"
 +
#include "FlowBaseNode.h"
 +
 +
class CFlowNode_MyName : public CFlowBaseNode
 +
{
 +
public:
 +
  CFlowNode_MyName( SActivationInfo * pActInfo )
 +
  {
 +
  };
 +
 +
  virtual void GetConfiguration( SFlowNodeConfig& config )
 +
  {
 +
    static const SInputPortConfig in_config[] = {
 +
      {0}
 +
    };
 +
    static const SOutputPortConfig out_config[] = {
 +
      {0}
 +
    };
 +
    config.sDescription = _HELP( "A description of this flow node" );
 +
    config.pInputPorts = in_config;
 +
    config.pOutputPorts = out_config;
 +
    config.nFlags = 0;
 +
  }
 +
 +
  virtual void ProcessEvent( EFlowEvent event, SActivationInfo * pActInfo )
 +
  {
 +
    switch (event)
 +
    {
 +
    };
 +
  }
 +
};
 +
 +
REGISTER_FLOW_NODE("FlowNodeGroup:MyName", CFlowNode_MyName);
 +
</source>
 +
 +
 +
== Добавление портов Output==
 +
 +
'''ФГ''' ноды имеют как '''input''' (т.е. входящие ) так и '''output''' (исходящие) порты.

Версия 08:55, 13 января 2013

Эта страница страница помечена как находящиеся в процессе перевода с: 13 января 2013.


О статье
ПереводчикAndreyFilantrop
СложностьСредняя
ТребованияMicrosoft Visual Studio 2010
Дата добавления13/01/13



Создание нового нода

Статья описывает шаги по внедрению нового нода Flowgraph.

Базовый код

Рекоммендуется реализовывать ноды, принадлежащие одинаковой группе в едином cpp файле. Обычно нет необходимости в заголовке, за исключением некоторых специальных нодов. Поместите cpp файл в файл проекта CryAction/Flow System Files/Nodes и в рамках структуры директории файловой системы в Code/CryEngine/CryAction/FlowSystem/Nodes.

В cpp файле добавьте класс используя следующий шаблон кода и замените «MyName» желаемым именем вашего ФГ [сокр. Флоуграф] нода. Замените «FlowNodeGroup» желаемым именем группы и создайте соответствующую подпапку в селекторе редактора нода, где этот тип нода будет располагаться:

#include "stdafx.h"
#include "FlowBaseNode.h"
 
class CFlowNode_MyName : public CFlowBaseNode
{
public:
  CFlowNode_MyName( SActivationInfo * pActInfo )
  {
  };
 
  virtual void GetConfiguration( SFlowNodeConfig& config )
  {
    static const SInputPortConfig in_config[] = {
      {0}
    };
    static const SOutputPortConfig out_config[] = {
      {0}
    };
    config.sDescription = _HELP( "A description of this flow node" );
    config.pInputPorts = in_config;
    config.pOutputPorts = out_config;
    config.nFlags = 0;
  }
 
  virtual void ProcessEvent( EFlowEvent event, SActivationInfo * pActInfo )
  {
     switch (event)
     {
     };
  }
};
 
REGISTER_FLOW_NODE("FlowNodeGroup:MyName", CFlowNode_MyName);


Добавление портов Output

ФГ ноды имеют как input (т.е. входящие ) так и output (исходящие) порты.