Overte C++ Documentation
MixerAvatar.h
1 //
2 // MixerAvatar.h
3 // assignment-client/src/avatars
4 //
5 // Created by Simon Walton Feb 2019.
6 // Copyright 2019 High Fidelity, Inc.
7 //
8 // Distributed under the Apache License, Version 2.0.
9 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10 //
11 
12 // Avatar class for use within the avatar mixer - includes avatar-verification state.
13 
14 #ifndef hifi_MixerAvatar_h
15 #define hifi_MixerAvatar_h
16 
17 #include <AvatarData.h>
18 
19 class ResourceRequest;
20 
21 class MixerAvatar : public AvatarData {
22  Q_OBJECT
23 public:
24  inline MixerAvatar() {}
25 
26  bool getNeedsHeroCheck() const { return _needsHeroCheck; }
27  void setNeedsHeroCheck(bool needsHeroCheck = true) { _needsHeroCheck = needsHeroCheck; }
28 
29  bool needsIdentityUpdate() const { return _needsIdentityUpdate; }
30  void setNeedsIdentityUpdate(bool value = true) { _needsIdentityUpdate = value; }
31 
32  bool isInScreenshareZone() const { return _inScreenshareZone; }
33  void setInScreenshareZone(bool value = true) { _inScreenshareZone = value; }
34  const QUuid& getScreenshareZone() const { return _screenshareZone; }
35  void setScreenshareZone(QUuid zone) { _screenshareZone = zone; }
36 
37 private:
38  bool _needsHeroCheck { false };
39  bool _needsIdentityUpdate { false };
40  bool _inScreenshareZone { false };
41  QUuid _screenshareZone;
42 };
43 
44 using MixerAvatarSharedPointer = std::shared_ptr<MixerAvatar>;
45 
46 #endif // hifi_MixerAvatar_h