diff options
author | Rider Linden <rider@lindenlab.com> | 2018-11-20 10:59:38 -0800 |
---|---|---|
committer | Rider Linden <rider@lindenlab.com> | 2018-11-20 10:59:38 -0800 |
commit | 29130c5483146d4d27272ef12e986520778ca2c8 (patch) | |
tree | 57c40ae4ba381298fb13e87eb696ecaad14e42c5 /indra/newview/llenvironment.h | |
parent | 1d022e86c84039f88c531e91ce857666acd224a1 (diff) |
SL-10093: Client code to support experiences changing an environment. Handle generic messages with "commands" to be executed.
Diffstat (limited to 'indra/newview/llenvironment.h')
-rw-r--r-- | indra/newview/llenvironment.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h index a72a08c68e..55881f1c75 100644 --- a/indra/newview/llenvironment.h +++ b/indra/newview/llenvironment.h @@ -93,6 +93,7 @@ public: { ENV_EDIT = 0, ENV_LOCAL, + ENV_PUSH, ENV_PARCEL, ENV_REGION, ENV_DEFAULT, @@ -213,6 +214,8 @@ public: const altitude_list_t & getRegionAltitudes() const { return mTrackAltitudes; } + void handleEnvironmentPush(LLSD &message); + protected: virtual void initSingleton(); @@ -278,6 +281,17 @@ private: }; typedef std::array<DayInstance::ptr_t, ENV_END> InstanceArray_t; + struct ExpEnvironmentEntry + { + typedef std::shared_ptr<ExpEnvironmentEntry> ptr_t; + + S32Seconds mTime; + LLUUID mExperienceId; + LLSD mEnvironmentOverrides; + }; + typedef std::deque<ExpEnvironmentEntry::ptr_t> mPushOverrides; + + LLUUID mPushEnvironmentExpId; class DayTransition : public DayInstance { @@ -324,6 +338,7 @@ private: void updateCloudScroll(); + void onRegionChange(); void onParcelChange(); struct UpdateInfo @@ -364,9 +379,16 @@ private: void onAgentPositionHasChanged(const LLVector3 &localpos); - void onSetEnvAssetLoaded(EnvSelection_t env, LLUUID asset_id, LLSettingsBase::ptr_t settings, LLSettingsDay::Seconds daylength, LLSettingsDay::Seconds dayoffset, S32 status); + void onSetEnvAssetLoaded(EnvSelection_t env, LLUUID asset_id, LLSettingsBase::ptr_t settings, LLSettingsDay::Seconds daylength, LLSettingsDay::Seconds dayoffset, LLSettingsBase::Seconds transition, S32 status); void onUpdateParcelAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, S32 parcel_id, S32 day_length, S32 day_offset, altitudes_vect_t altitudes); + void handleEnvironmentPushClear(LLUUID experience_id, LLSD &message, F32 transition); + void handleEnvironmentPushFull(LLUUID experience_id, LLSD &message, F32 transition); + void handleEnvironmentPushPartial(LLUUID experience_id, LLSD &message, F32 transition); + + void clearExperienceEnvironment(LLUUID experience_id, F32 transition_time); + void setExperienceEnvironment(LLUUID experience_id, LLUUID asset_id, F32 transition_time); + void setExperienceEnvironment(LLUUID experience_id, LLSD environment, F32 transition_time); }; class LLTrackBlenderLoopingManual : public LLSettingsBlender |