Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions proto/decentraland/sdk/components/avatar_emote_command.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,19 @@ import "decentraland/sdk/components/common/id.proto";
import "decentraland/sdk/components/common/avatar_mask.proto";
option (common.ecs_component_id) = 1088;

// EmoteState describes the lifecycle state of an emote playback.
enum EmoteState {
// ES_STARTED indicates the emote started playing.
// This is the zero value and is used for backward compatibility — entries
// written by older explorers (field absent) read as "started".
ES_STARTED = 0;
// ES_FINISHED indicates a non-looping emote completed naturally.
ES_FINISHED = 1;
// ES_INTERRUPTED indicates playback was cancelled (movement, teleport,
// another emote superseding it, explicit stop, or scene change).
ES_INTERRUPTED = 2;
}

// AvatarEmoteCommand is a grow only value set, written by the explorer to report
// avatar emote playback to the scene. It is appended to every player entity in the
// scene (the local player and remote avatars alike).
Expand All @@ -13,4 +26,7 @@ message PBAvatarEmoteCommand {
bool loop = 2;
uint32 timestamp = 3; // monotonic counter
optional decentraland.sdk.components.common.AvatarMask mask = 4;
// state describes the lifecycle event for this emote entry.
// When absent (older explorers), defaults to ES_STARTED.
optional EmoteState state = 5;
}
Loading