text: #ifndef CHANGEINTEGERVALUEACTION_H
  #define CHANGEINTEGERVALUEACTION_H
  #include <Engine/Core/Trigger/Action/AbstractAction.h>
  #include <Engine/Core/Parser/Variable/IntegerVariable/IntegerVariable.h>
  #include <Engine/Core/Parser/Variable/IntegerVariable/IntegerVariable.h>
  #include <Engine/Core/Parser/Variable/BooleanVariable/BooleanVariable.h>
  #include <Engine/Core/Parser/Variable/StringVariable/StringVariable.h>
  #include <Engine/Core/Parser/Variable/Vector2Variable/Vector2Variable.h>
  #include <Engine/Core/Parser/Variable/Vector3Variable/Vector3Variable.h>
  #include <Engine/Core/Parser/Variable/QuaternionVariable/QuaternionVariable.h>
  #include <Engine/Core/Container/MagicPointer/MagicPointer.h>
  #include <Engine/Core/Trigger/ArithmeticExprParserEx/ArithmeticExprParserEx.h>
  #include <Engine/Core/Trigger/Trigger.h>
  #include <Engine/Core/AssetLibrary/AssetLibrary.h>
  #include <Engine/Core/Trigger/StringExprParserEx/StringExprParserEx.h>
  class ChangeIntegerValueAction: public AbstractAction
  {
  	friend class Trigger;
  	friend class AbstractAction;
  	private: int32 argValue;
  	private: StringANSI argName;
  	private: MagicPointer<Variable<int32>> arg;
      private: ArithmeticExprParserEx<int32> expr;
  	private: StringExprParserEx templateArg;
  	
  	private: StringANSI targetName;
  	private: StringExprParserEx templateTarget;
  	private: MagicPointer<Variable<int32>> target;
  	private: ChangeIntegerValueAction(void);
  	private: ChangeIntegerValueAction(int32 _type);
  	public: virtual ~ChangeIntegerValueAction(void);
  	public: virtual void SetVariableArg(int32 _index, StringANSI _name);
  	public: virtual void SetTemplateArg(int32 _index, StringANSI _expr);
  	public: virtual void SetExpressionArg(int32 _index, StringANSI _expr);
  	public: virtual void SetIntegerKeyArg(int32 _index, int32 _value);
  	public: virtual StringANSI GetTemplateArg(int32 _index);
  	public: virtual StringANSI GetExpressionArg(int32 _index);
  	public: virtual StringANSI GetVariableArg(int32 _index);
  	public: virtual int32 GetIntegerKeyArg(int32 _index);
  	public: virtual void operator () (void);
  	private: void TemplateArgIsCompleted(void);
  	private: void ArgIsLost(void);
  	private: void TemplateArgIsChanged(void);
  	private: void TemplateTargetIsCompleted(void);
  	private: void TargetIsLost(void);
  	private: void TemplateTargetIsChanged(void);
  	private: void ObjectIsDestroyed(AbstractObject* _object);
  	private: void TargetIsRenamed(AbstractObject::NameInfo* _info);
  	private: void ArgIsRenamed(AbstractObject::NameInfo* _info);
  	private: void ObjectIsCreated(AbstractObject* _object);
  	private: void UpdateValid(void);
  	public: virtual bool SaveToFile(StringANSI _path = "");
  	public: virtual bool SaveToFile(File& _file);
  	private: static AbstractAction* _LoadFromFile(File& _file);
  };
  
  
  
  #endif 