not really known
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

73 lines
1.6 KiB

// Card component with image, text and sound
enyo.kind({
name: "FoodChain.Card",
kind: enyo.Control,
published: { cardname: "", x: 0, y: 0, z: 0 },
classes: "card",
components: [
{ name: "itemImage", classes: "cardImage", kind: "Image" },
{ kind: "Image", src: "images/sound_icon.png", classes: "cardSoundIcon" },
{ name: "itemText", classes: "cardText" }
],
// Constructor
create: function() {
this.inherited(arguments);
this.cardnameChanged();
this.xChanged();
this.yChanged();
this.zChanged();
},
// Rendering
rendered: function() {
this.inherited(arguments);
},
// Localization changed, update card
setLocale: function() {
this.cardnameChanged();
this.render();
},
// Card setup
cardnameChanged: function() {
var image = FoodChain.context.home.getDatabase()+"images/cards/"+this.cardname+".png";
var text = __$FC(this.cardname);
this.sound = FoodChain.context.home.getDatabase()+"audio/"+__$FC("sounddir")+"/cards/"+this.cardname;
this.$.itemImage.setAttribute("src", image);
this.$.itemText.setContent(text);
},
// Coordinate setup
xChanged: function() {
if (this.x.toString().indexOf("%") != -1)
this.applyStyle("margin-left", this.x);
else
this.applyStyle("margin-left", this.x+"px");
},
// Coordinate setup
yChanged: function() {
this.applyStyle("margin-top", this.y+"px");
},
// Coordinate setup
zChanged: function() {
this.applyStyle("z-index", this.z);
},
// Play sound using the media
play: function(media) {
media.play(this.sound);
},
// Change position
moveTo: function(x, y) {
this.x = x;
this.xChanged();
this.y = y;
this.yChanged();
}
});