3#include <Core/CoreDLL.h>
5#include <Core/ResourceManager/Resource.h>
6#include <Foundation/Containers/ArrayMap.h>
7#include <Foundation/Reflection/Reflection.h>
8#include <Foundation/Strings/HashedString.h>
9#include <Foundation/Types/RangeView.h>
10#include <Foundation/Types/Variant.h>
18 using StorageType = plUInt8;
26 ReverseIncidentDirection,
27 ReverseReflectedDirection,
29 Default = SurfaceNormal
38 void SetPrefab(
const char* szPrefab);
39 const char* GetPrefab()
const;
46 float m_fImpulseThreshold = 0.0f;
47 float m_fImpulseScale = 1.0f;
50 void SetParameter(
const char* szKey,
const plVariant& value);
51 void RemoveParameter(
const char* szKey);
52 bool GetParameter(
const char* szKey,
plVariant& out_value)
const;
67 void SetBaseSurfaceFile(
const char* szFile);
68 const char* GetBaseSurfaceFile()
const;
70 void SetCollisionInteraction(
const char* szName);
71 const char* GetCollisionInteraction()
const;
73 void SetSlideReactionPrefabFile(
const char* szFile);
74 const char* GetSlideReactionPrefabFile()
const;
76 void SetRollReactionPrefabFile(
const char* szFile);
77 const char* GetRollReactionPrefabFile()
const;
80 float m_fPhysicsRestitution;
81 float m_fPhysicsFrictionStatic;
82 float m_fPhysicsFrictionDynamic;
83 float m_fSoundObstruction;
87 plInt8 m_iGroundType = -1;
Float wrapper struct for a safe usage and conversions of angles.
Definition Angle.h:10
See plArrayMapBase for details.
Definition ArrayMap.h:149
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
This class uses delegates to define a range of values that can be enumerated using a forward iterator...
Definition RangeView.h:24
All classes that should be dynamically reflectable, need to be derived from this base class.
Definition DynamicRTTI.h:86
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Definition SurfaceResourceDescriptor.h:17
Definition SurfaceResourceDescriptor.h:37
Definition SurfaceResourceDescriptor.h:60