Skip to content

Instantly share code, notes, and snippets.

@dakom
Created August 9, 2018 07:28
Show Gist options
  • Save dakom/db354ef909b2f73b9bbe99766bad72e3 to your computer and use it in GitHub Desktop.
Save dakom/db354ef909b2f73b9bbe99766bad72e3 to your computer and use it in GitHub Desktop.
potential file format
//SLIDE
table Slide {
slideId: string;
creationId: string;
design:Design;
activity:Activity;
}
//DESIGN
table Design {
bg:ImageAsset;
stickers: [Sticker];
}
table Sticker {
img: ImageAsset;
}
//ACTIVITIES
union Activity {
Activity_Questions,
Activity_Soundboard,
Activity_SaySomething,
Activity_Puzzle,
Activity_Video,
Activity_TalkType
}
//QUESTIONS
table Activity_Questions {
questions: [Question];
}
table Question {
label: string;
trace: Trace;
audio: QuestionAudio;
}
table QuestionAudio {
question: AudioAsset;
answer: AudioAsset;
mistake: AudioAsset;
}
//SOUNDBOARD
table Activity_Soundboard {
options: Soundboard_Options;
items: [Soundboard_Item];
}
table Soundboard_Options {
introAudio: AudioAsset;
bgAudio: AudioAsset;
oneTime: bool;
showHints: bool;
}
table Soundboard_Item {
trace: Trace;
audio: AudioAsset;
jump: string;
}
//PUZZLE
table Activity_Puzzle {
options: Puzzle_Options;
items: [Puzzle_Item];
}
table Puzzle_Options {
jump: string;
audio: AudioAsset;
freePlay: bool;
easyMode: bool;
disableHints: bool;
shapes3d: bool;
}
table Puzzle_Item {
trace: Trace;
audio: AudioAsset;
}
//SAY SOMETHING
table Activity_SaySomething {
audio: AudioAsset;
continueAfter: bool;
jump: string;
}
//VIDEO
table Activity_Video {
src: string;
srcType: Video_SourceType;
}
enum Video_SourceType : byte { Upload = 1, Youtube }
//TALK_TYPE
table Activity_TalkType {
options: TalkType_Options;
items: [TalkType_Item];
}
table TalkType_Options {
jump: string;
audio: AudioAsset;
showHints: bool;
}
table TalkType_Item {
trace: Trace;
audio: AudioAsset;
answer: string;
answerType: TalkType_AnswerType;
}
enum TalkType_AnswerType : byte { Keyboard = 1, Microphone }
//GENERIC OBJECTS
//IMAGES
table ImageAsset {
src: ImageAssetSource;
position: Point;
scale: double;
rotation: double;
}
union ImageAssetSource {ImageAssetImageSource, ImageAssetTextSource}
table ImageAssetImageSource {
url: string;
}
table ImageAssetTextSource {
html: string;
}
//TRACE
table Trace_Rectangle {
startPoint: Point;
endPoint: Point;
}
union Trace {Trace_Rectangle}
//AUDIO
table AudioAsset {
src: string;
}
//POINT
table Point {
x: double;
y: double;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment