summaryrefslogtreecommitdiff
path: root/indra/newview/llenvironment.h
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2018-11-20 10:59:38 -0800
committerRider Linden <rider@lindenlab.com>2018-11-20 10:59:38 -0800
commit29130c5483146d4d27272ef12e986520778ca2c8 (patch)
tree57c40ae4ba381298fb13e87eb696ecaad14e42c5 /indra/newview/llenvironment.h
parent1d022e86c84039f88c531e91ce857666acd224a1 (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.h24
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