var configObject = function(){ //stage properties... var stageProperties = { stageWidth: 1200, stageHeight: 600, stageBGColor: 'rgba(204, 204, 204, 0)', manifest: [ //scene_0 {"src": "table_top.jpg", "id":"tableTop"}, {"src": "main_frame.png", "id":"mainFrame"}, {"src": "table_mat.jpg", "id":"tableMat"}, //card design recto {"src": "tex_bricks.png", "id":"texBricks"}, {"src": "tex_crystals.png", "id":"texCrystals"}, {"src": "tex_denim.png", "id":"texDenim"}, {"src": "tex_honeycomb.png", "id":"texHoneycomb"}, {"src": "tex_lines.png", "id":"texLines"}, {"src": "tex_space.png", "id":"texSpace"}, {"src": "tex_stones.png", "id":"texStones"}, {"src": "tex_waves.png", "id":"texWaves"}, {"src": "tex_wood.png", "id":"texWood"}, //card images verso {"src": "concept_b.png", "id":"conceptB"}, {"src": "concept_ls.png", "id":"conceptLs"}, {"src": "concept_dt.png", "id":"conceptDt"}, {"src": "concept_ti.png", "id":"conceptTi"}, {"src": "concept_m.png", "id":"conceptM"}, {"src": "formula_bes.png", "id":"formulaBes"}, {"src": "formula_rs.png", "id":"formulaRs"}, {"src": "formula_us.png", "id":"formulaUs"}, {"src": "formula_sie.png", "id":"formulaSie"}, {"src": "formula_me.png", "id":"formulaMe"}, {"src": "scientist_sb.png", "id":"scientistSb"}, {"src": "scientist_cvr.png", "id":"scientistCvr"}, {"src": "scientist_unb.png", "id":"scientistUnb"}, {"src": "scientist_ms.png", "id":"scientistMs"}, {"src": "scientist_jcb.png", "id":"scientistJcb"}, {"src": "application_bec.png", "id":"applicationBec"}, {"src": "application_rs.png", "id":"applicationRs"}, {"src": "application_mus.png", "id":"applicationMus"}, {"src": "application_tims.png", "id":"applicationTims"}, {"src": "application_ma.png", "id":"applicationMa"}, //avatars {"src": "smiley_purple.png", "id":"smileyPurple"}, {"src": "smiley_jubilant.png", "id":"smileyJubilant"}, {"src": "smiley_indifferent.png", "id":"smileyIndifferent"}, {"src": "smiley_frustrated.png", "id":"smileyFrustrated"}, {"src": "ira_smiley.png", "id":"iraSmiley"}, {"src": "ira_indifferent.png", "id":"iraIndifferent"}, {"src": "ira_frustrated.png", "id":"iraFrustrated"}, {"src": "ira_jubilant.png", "id":"iraJubilant"}, {"src": "irobot_smiley.png", "id":"irobotSmiley"}, {"src": "irobot_indifferent.png", "id":"irobotIndifferent"}, {"src": "irobot_frustrated.png", "id":"irobotFrustrated"}, {"src": "irobot_jubilant.png", "id":"irobotJubilant"}, {"src": "indra_smiley.png", "id":"indraSmiley"}, {"src": "indra_indifferent.png", "id":"indraIndifferent"}, {"src": "indra_frustrated.png", "id":"indraFrustrated"}, {"src": "indra_jubilant.png", "id":"indraJubilant"}, {"src": "hand.png", "id":"handIcon"}, {"src": "hand_folded.png", "id":"handIconFolded"}, {"src": "pass.png", "id":"pass"}, {"src": "arrow.png", "id":"arrow"}, //scoreboard {"src": "leaderboard_435x50.png", "id":"leaderBoard"}, //scene_2 //scene_3 //etc... ], //sound assets, if any... sounds: { path: "./assets/", manifest: [ //Work Bench 01 { id: "ready", src: { mp3: "mp3/ready.mp3" } }, { id: "deal", src: { mp3: "mp3/deal.mp3" } }, { id: "pass", src: { mp3: "mp3/pass.mp3" } }, { id: "bonus", src: { mp3: "mp3/bonus.mp3" } }, { id: "turn", src: { mp3: "mp3/turn.mp3" } }, { id: "hit", src: { mp3: "mp3/hit.mp3" } }, { id: "countdown", src: { mp3: "mp3/countdown.mp3" } }, { id: "mistake", src: { mp3: "mp3/mistake.mp3" } }, { id: "scores", src: { mp3: "mp3/scores.mp3" } }, { id: "applause", src: { mp3: "mp3/applause.mp3" } }, ] } }; //define the scenes... var scenes = { //names must be in the order they are played... names: [ "", //scene_0 ], //defaults, may be overwritten (TODO) offset: 0, bgColor: 'rgba(255, 255, 255, 1.0)', border: { size: 2, color: 'rgba(0, 0, 0, 1.0)' }, borderRadius: [5, 5, 5, 5], }; //scene-wise bitmap assets... var assets = { properties: [ //scene_0 { tableTop: { id: 'tableTop', x: 0, y: 0, scaleX: 1, scaleY: 1, }, mainFrame: { id: 'mainFrame', x: 0, y: 0, scaleX: 1, scaleY: 1, }, tableMat: { id: 'tableMat', x: 0, y: 0, scaleX: 1, scaleY: 1, }, //'bricks', 'crystals', 'denim', 'honeycomb', 'lines', 'space', 'stones', 'waves', 'wood' texBricks: { id: 'texBricks', x: 0, y: 0, scaleX: 1, scaleY: 1, }, texCrystals: { id: 'texCrystals', x: 0, y: 0, scaleX: 1, scaleY: 1, }, texDenim: { id: 'texDenim', x: 0, y: 0, scaleX: 1, scaleY: 1, }, texHoneycomb: { id: 'texHoneycomb', x: 0, y: 0, scaleX: 1, scaleY: 1, }, texLines: { id: 'texLines', x: 0, y: 0, scaleX: 1, scaleY: 1, }, texSpace: { id: 'texSpace', x: 0, y: 0, scaleX: 1, scaleY: 1, }, texStones: { id: 'texStones', x: 0, y: 0, scaleX: 1, scaleY: 1, }, texWaves: { id: 'texWaves', x: 0, y: 0, scaleX: 1, scaleY: 1, }, texWood: { id: 'texWood', x: 0, y: 0, scaleX: 1, scaleY: 1, }, conceptB: { id: 'conceptB', x: 0, y: 0, scaleX: 1, scaleY: 1, }, conceptLs: { id: 'conceptLs', x: 0, y: 0, scaleX: 1, scaleY: 1, }, conceptDt: { id: 'conceptDt', x: 0, y: 0, scaleX: 1, scaleY: 1, }, conceptTi: { id: 'conceptTi', x: 0, y: 0, scaleX: 1, scaleY: 1, }, conceptM: { id: 'conceptM', x: 0, y: 0, scaleX: 1, scaleY: 1, }, scientistSb: { id: 'scientistSb', x: 0, y: 0, scaleX: 1, scaleY: 1, }, scientistCvr: { id: 'scientistCvr', x: 0, y: 0, scaleX: 1, scaleY: 1, }, scientistUnb: { id: 'scientistUnb', x: 0, y: 0, scaleX: 1, scaleY: 1, }, scientistMs: { id: 'scientistMs', x: 0, y: 0, scaleX: 1, scaleY: 1, }, scientistJcb: { id: 'scientistJcb', x: 0, y: 0, scaleX: 1, scaleY: 1, }, formulaBes: { id: 'formulaBes', x: 0, y: 0, scaleX: 1, scaleY: 1, }, formulaRs: { id: 'formulaRs', x: 0, y: 0, scaleX: 1, scaleY: 1, }, formulaUs: { id: 'formulaUs', x: 0, y: 0, scaleX: 1, scaleY: 1, }, formulaSie: { id: 'formulaSie', x: 0, y: 0, scaleX: 1, scaleY: 1, }, formulaMe: { id: 'formulaMe', x: 0, y: 0, scaleX: 1, scaleY: 1, }, applicationBec: { id: 'applicationBec', x: 0, y: 0, scaleX: 1, scaleY: 1, }, applicationRs: { id: 'applicationRs', x: 0, y: 0, scaleX: 1, scaleY: 1, }, applicationMus: { id: 'applicationMus', x: 0, y: 0, scaleX: 1, scaleY: 1, }, applicationTims: { id: 'applicationTims', x: 0, y: 0, scaleX: 1, scaleY: 1, }, applicationMa: { id: 'applicationMa', x: 0, y: 0, scaleX: 1, scaleY: 1, }, smileyPurple: { id: 'smileyPurple', x: 0, y: 0, scaleX: 1, scaleY: 1, }, smileyIndifferent: { id: 'smileyIndifferent', x: 0, y: 0, scaleX: 1, scaleY: 1, }, smileyJubilant: { id: 'smileyJubilant', x: 0, y: 0, scaleX: 1, scaleY: 1, }, smileyFrustrated: { id: 'smileyFrustrated', x: 0, y: 0, scaleX: 1, scaleY: 1, }, iraSmiley: { id: 'iraSmiley', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, iraIndifferent: { id: 'iraIndifferent', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, iraFrustrated: { id: 'iraFrustrated', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, iraJubilant: { id: 'iraJubilant', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, irobotSmiley: { id: 'irobotSmiley', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, irobotIndifferent: { id: 'irobotIndifferent', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, irobotFrustrated: { id: 'irobotFrustrated', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, irobotJubilant: { id: 'irobotJubilant', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, indraSmiley: { id: 'indraSmiley', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, indraIndifferent: { id: 'indraIndifferent', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, indraFrustrated: { id: 'indraFrustrated', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, indraJubilant: { id: 'indraJubilant', x: 0, y: 0, scaleX: 0.5, scaleY: 0.5, }, handIcon: { id: 'handIcon', x: 0, y: 0, scaleX: 1, scaleY: 1, }, handIconFolded: { id: 'handIconFolded', x: 0, y: 0, scaleX: 1, scaleY: 1, }, pass: { id: 'pass', x: 0, y: 0, scaleX: 1, scaleY: 1, }, arrow: { id: 'arrow', x: 0, y: 0, scaleX: 1, scaleY: 1, }, leaderBoard: { id: 'leaderBoard', x: 0, y: 0, scaleX: 1, scaleY: 1, }, }, //scene_1, etc... ] }; //scene-wise controls (components)... var controls = { properties: [ //scene_0 { /* slider: { id: 'slider', x: 20, y: 130, width: 200, height: 8, handleWidth: 5, handleMax: 200, handleUnit: 'μl', handleInitPos: 40, trackBGSolid: 'rgba(140, 150, 140, 1)', trackBGType: 'solid', trackBorder: { thickness: 2, color: '#422C02' }, colorChange: false, displayBubble: false, visible: false }, */ button: { x: 0, y: 0, radius: 20, displayLabel: true, visible: false, type: 'rectangular', text: 'Start Game', BGFillSolid: { normal: 'rgba(145, 0, 145, 1)', hover: 'rgba(204, 0, 0, 1)', active: 'rgba(0, 204, 0, 1)', }, border: { thickness: 2, color: 'rgba(255, 204, 0, 1)' }, }, /* progressBar: { id: 'progressBar', x: 150, y: 160, width: 410, height: 20, progressMax: 4500, progressUnit: 'mins.', visible: false }, */ }, //scene_1, etc ... ] }; var about = { appName: 'CARDS', appVersion: '1.0.0', appDate: '4th May, 1971',//now you know my birthday, don't forget to send a wish appBuild: '1', appBuildDate: '4th May 1971', author: 'Shubhojoy Mitra', authorEmail: 'shubhojoy@gmail.com', description: 'Describe the app in one line', usage: `Stuff you want user to know, maybe...` }; var config = { setStageProperties: function(){ this.stageProperties = stageProperties; }, setScenes: function(){ this.scenes = scenes; }, setAssets: function(){ this.assets = assets; }, setControls: function(){ this.controls = controls; }, setAbout: function(){ this.about = about; }, init: function(){ this.setStageProperties(); this.setScenes(); this.setAssets(); this.setControls(); this.setAbout(); return this; } }; var globalConfig = config.init(); return globalConfig; };