BVB Source Codes

CRYENGINE Show Communication.h Source code

Return Download CRYENGINE: download Communication.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. #ifndef __Communication_h__
  4. #define __Communication_h__
  5.  
  6. #pragma once
  7.  
  8. #include <CryAISystem/ICommunicationManager.h>
  9. #include <CryCore/Containers/VariableCollection.h>
  10.  
  11. struct SCommunicationChannelParams
  12. {
  13.         enum ECommunicationChannelType
  14.         {
  15.                 Global = 0,
  16.                 Group,
  17.                 Personal,
  18.                 Invalid,
  19.         };
  20.  
  21.         SCommunicationChannelParams() : type(Invalid), minSilence(0), priority(0), actorMinSilence(0), ignoreActorSilence(false), flushSilence(0) {}
  22.  
  23.         // Minimum silence this channel imposes once normal communication is finished.
  24.         float                     minSilence;
  25.         // Minimum silence this channel imposes on manager if its higher priority and flushes the system.
  26.         float                     flushSilence;
  27.  
  28.         string                    name;
  29.         CommChannelID             parentID;
  30.         ECommunicationChannelType type;
  31.         uint8                     priority;
  32.  
  33.         // Minimum silence this channel imposes on an actor once it starts to play.
  34.         float actorMinSilence;
  35.         // Indicates whether this channel should ignore actor silenced restriction.
  36.         bool  ignoreActorSilence;
  37. };
  38.  
  39. struct SCommunicationVariation
  40. {
  41.         SCommunicationVariation()
  42.                 : timeout(0.0f)
  43.                 , flags(0)
  44.         {
  45.                 condition.reset();
  46.         }
  47.  
  48.         string                   animationName;
  49.         string                   soundName;
  50.         string                   voiceName;
  51.  
  52.         float                    timeout;
  53.  
  54.         uint32                   flags;
  55.         Variables::ExpressionPtr condition;
  56. };
  57.  
  58. struct SCommunication
  59. {
  60.         enum EVariationChoiceMethod
  61.         {
  62.                 Random = 0,
  63.                 Sequence,
  64.                 RandomSequence,
  65.                 Match, // only valid for responses
  66.         };
  67.  
  68.         enum ECommunicationFlags
  69.         {
  70.                 LookAtTarget    = 1 << 0,
  71.  
  72.                 FinishAnimation = 1 << 8,
  73.                 FinishSound     = 1 << 9,
  74.                 FinishVoice     = 1 << 10,
  75.                 FinishTimeout   = 1 << 11,
  76.                 FinishAll       = FinishAnimation | FinishSound | FinishVoice | FinishTimeout,
  77.  
  78.                 BlockMovement   = 1 << 12,
  79.                 BlockFire       = 1 << 13,
  80.                 BlockAll        = BlockMovement | BlockFire,
  81.  
  82.                 AnimationAction = 1 << 16,
  83.         };
  84.  
  85.         string                 name;
  86.         CommID                 responseID;
  87.  
  88.         EVariationChoiceMethod choiceMethod;
  89.         EVariationChoiceMethod responseChoiceMethod;
  90.  
  91.         struct History
  92.         {
  93.                 History()
  94.                         : played(0)
  95.                 {
  96.                 }
  97.  
  98.                 uint32 played;
  99.         } history;
  100.  
  101.         std::vector<SCommunicationVariation> variations;
  102.  
  103.         bool forceAnimation;
  104.         bool hasAnimation;
  105. };
  106.  
  107. #endif //__Communication_h__
  108.  
downloadCommunication.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