Hi Everyone:
Thank you for any help , suggestions, insight into what I am doing wrong!
Just another newbie question
I am creating escape " escape the curse of the temple" https://studio.boardgamearena.com/gamepanel?game=escape
This game, any number of meeples can enter a chamber. Players can then select the meeple( s) they help and work with
Problem : after meeples choose "Enter A Chamber" and in selected chamber, players cannot select theirs or other meeples in the chamber without first refreshing the screen.
example: I and my mate have moved from the start chamber to an adjacent chamber.
Then I select "Remove Black Mask Spell" so needs to select meeple to remove black mask dice from ,
onSelectMeeple , the meeple event handler, should trigger.
instead onSelectChamber, the parent event handler, is triggered
This is what console.log gives.
Thank you for any help , suggestions, insight into what I am doing wrong!
Just another newbie question
I am creating escape " escape the curse of the temple" https://studio.boardgamearena.com/gamepanel?game=escape
This game, any number of meeples can enter a chamber. Players can then select the meeple( s) they help and work with
Problem : after meeples choose "Enter A Chamber" and in selected chamber, players cannot select theirs or other meeples in the chamber without first refreshing the screen.
example: I and my mate have moved from the start chamber to an adjacent chamber.
Then I select "Remove Black Mask Spell" so needs to select meeple to remove black mask dice from ,
onSelectMeeple , the meeple event handler, should trigger.
instead onSelectChamber, the parent event handler, is triggered
This is what console.log gives.
Here is how my code is laid out.in onRemoveDiceSpell
escape.js?1630879955749:1263 in onSelectChamber event.currentTarget.id is chamber_5 event.target.id is meeple_2323324
Code: Select all
setup: function( gamedatas ) {
for ( var i in this.gamedatas.tiles_display ) {
var tile_to_display = this.gamedatas.tiles_display[i] ;
var tile_id = "chamber_"+ tile_to_display.card_id;
dojo.connect( $( tile_id ), 'onclick', this, 'onSelectChamber' );
}
var meeple_id = "meeple_" + player_id;
var place_meeple = $('chamber_' + player.meeple_place );
dojo.place( this.format_block( "jstpl_meeple", { 'id' : meeple_id }), place_meeple );
dojo.connect( $( meeple_id ), 'onclick', this, 'onSelectMeeple' );
},
// actions that user chooses
onEnter: function( evt ) {
dojo.addClass( chamber_nodeid, 'selected' );
},
onRemoveDiceSpell: function( evt ) {
denizens = dojo.query( current_chamber ).query( '.meeple' ).addClass( 'selected' );
},
// event handlers
onSelectMeeple: function( event ) {
console.log( " in onSelectMeeple evt curruent id is " + event.currentTarget.id + " event.target.id is " + event.target.id );
dojo.stopEvent(event);
...
},
onSelectChamber: function( event ) {
console.log( " in onSelectChamber evt curruent id is " + event.currentTarget.id + " event.target.id is " + event.target.id );
dojo.stopEvent(event);
if ( dojo.hasClass( $( chamber_selected ), 'selected' )) {
dojo.place( this.format_block( "jstpl_meeple", { 'id' : this.player_id}), selected_chamber );
}
},