BVB Source Codes

CRYENGINE Show TargetTrackModifiers.h Source code

Return Download CRYENGINE: download TargetTrackModifiers.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. /*************************************************************************
  4.    -------------------------------------------------------------------------
  5.    $Id$
  6.    $DateTime$
  7.    Description: Definitions for various modifiers to target tracks
  8.  
  9.    -------------------------------------------------------------------------
  10.    History:
  11.    - 02:08:2010: Created by Kevin Kirst
  12.  
  13. *************************************************************************/
  14.  
  15. #ifndef __TARGET_TRACK_MODIFIERS_H__
  16. #define __TARGET_TRACK_MODIFIERS_H__
  17.  
  18. #include "TargetTrackCommon.h"
  19.  
  20. struct SStimulusInvocation;
  21.  
  22. struct ITargetTrackModifier
  23. {
  24.         virtual ~ITargetTrackModifier()
  25.         {
  26.         }
  27.  
  28.         virtual uint32 GetUniqueId() const = 0;
  29.  
  30.         // Returns if this modifier matches the given xml tag
  31.         virtual bool        IsMatchingTag(const char* szTag) const = 0;
  32.         virtual char const* GetTag() const = 0;
  33.  
  34.         // Returns the modifier value
  35.         virtual float GetModValue(const CTargetTrack* pTrack, TargetTrackHelpers::EAIEventStimulusType stimulusType,
  36.                                   const Vec3& vPos, const TargetTrackHelpers::SEnvelopeData& envelopeData,
  37.                                   const TargetTrackHelpers::STargetTrackModifierConfig& modConfig) const = 0;
  38. };
  39.  
  40. class CTargetTrackDistanceModifier : public ITargetTrackModifier
  41. {
  42. public:
  43.         CTargetTrackDistanceModifier();
  44.         virtual ~CTargetTrackDistanceModifier();
  45.  
  46.         enum { UNIQUE_ID = 1 };
  47.         virtual uint32      GetUniqueId() const { return UNIQUE_ID; }
  48.  
  49.         virtual bool        IsMatchingTag(const char* szTag) const;
  50.         virtual char const* GetTag() const;
  51.         virtual float       GetModValue(const CTargetTrack* pTrack, TargetTrackHelpers::EAIEventStimulusType stimulusType,
  52.                                         const Vec3& vPos, const TargetTrackHelpers::SEnvelopeData& envelopeData,
  53.                                         const TargetTrackHelpers::STargetTrackModifierConfig& modConfig) const;
  54. };
  55.  
  56. class CTargetTrackHostileModifier : public ITargetTrackModifier
  57. {
  58. public:
  59.         CTargetTrackHostileModifier();
  60.         virtual ~CTargetTrackHostileModifier();
  61.  
  62.         enum { UNIQUE_ID = 2 };
  63.         virtual uint32      GetUniqueId() const { return UNIQUE_ID; }
  64.  
  65.         virtual bool        IsMatchingTag(const char* szTag) const;
  66.         virtual char const* GetTag() const;
  67.         virtual float       GetModValue(const CTargetTrack* pTrack, TargetTrackHelpers::EAIEventStimulusType stimulusType,
  68.                                         const Vec3& vPos, const TargetTrackHelpers::SEnvelopeData& envelopeData,
  69.                                         const TargetTrackHelpers::STargetTrackModifierConfig& modConfig) const;
  70. };
  71.  
  72. class CTargetTrackClassThreatModifier : public ITargetTrackModifier
  73. {
  74. public:
  75.         CTargetTrackClassThreatModifier();
  76.         virtual ~CTargetTrackClassThreatModifier();
  77.  
  78.         enum { UNIQUE_ID = 3 };
  79.         virtual uint32      GetUniqueId() const { return UNIQUE_ID; }
  80.  
  81.         virtual bool        IsMatchingTag(const char* szTag) const;
  82.         virtual char const* GetTag() const;
  83.         virtual float       GetModValue(const CTargetTrack* pTrack, TargetTrackHelpers::EAIEventStimulusType stimulusType,
  84.                                         const Vec3& vPos, const TargetTrackHelpers::SEnvelopeData& envelopeData,
  85.                                         const TargetTrackHelpers::STargetTrackModifierConfig& modConfig) const;
  86. };
  87.  
  88. class CTargetTrackDistanceIgnoreModifier : public ITargetTrackModifier
  89. {
  90. public:
  91.         CTargetTrackDistanceIgnoreModifier();
  92.         virtual ~CTargetTrackDistanceIgnoreModifier();
  93.  
  94.         enum { UNIQUE_ID = 4 };
  95.         virtual uint32      GetUniqueId() const { return UNIQUE_ID; }
  96.  
  97.         virtual bool        IsMatchingTag(const char* szTag) const;
  98.         virtual char const* GetTag() const;
  99.         virtual float       GetModValue(const CTargetTrack* pTrack, TargetTrackHelpers::EAIEventStimulusType stimulusType,
  100.                                         const Vec3& vPos, const TargetTrackHelpers::SEnvelopeData& envelopeData,
  101.                                         const TargetTrackHelpers::STargetTrackModifierConfig& modConfig) const;
  102. };
  103.  
  104. class CTargetTrackPlayerModifier : public ITargetTrackModifier
  105. {
  106. public:
  107.         enum { UNIQUE_ID = 5 };
  108.         virtual uint32      GetUniqueId() const { return UNIQUE_ID; }
  109.  
  110.         virtual bool        IsMatchingTag(const char* szTag) const;
  111.         virtual char const* GetTag() const;
  112.         virtual float       GetModValue(const CTargetTrack* pTrack, TargetTrackHelpers::EAIEventStimulusType stimulusType,
  113.                                         const Vec3& vPos, const TargetTrackHelpers::SEnvelopeData& envelopeData,
  114.                                         const TargetTrackHelpers::STargetTrackModifierConfig& modConfig) const;
  115. };
  116.  
  117. #endif //__TARGET_TRACK_MODIFIERS_H__
  118.  
downloadTargetTrackModifiers.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