@ -83,39 +83,52 @@ class Game extends ManageLang {
}
this . father . scene . add ( 'GamingBoard' , this . gm ) ;
this . scene . launch ( 'GamingBoard' ) ;
this . scene . pause ( 'GamingBoard' ) ;
this . gm . pause ( ) ;
//this.scene.pause('GamingBoard');
}
loadSave ( level ) {
this . loadBonus ( level . lBonus ) ;
this . loadTeam ( level ) ;
let initStat ;
let tree ;
this . setRobotSelected ( this . gm . getMyTeam ( ) . listRobot [ 0 ] ) ;
this . setRobotSelected ( this . gm . getMyTeam ( ) . listRobot [ 0 ] , level ) ;
}
if ( this . initStat !== undefined ) {
setRobotSelected ( robot , level ) {
let tree ;
let initStat ;
if ( this . robotSelected !== undefined && this . robotSelected !== robot && this . tree !== undefined && this . initStat !== undefined ) {
this . robotSelected . clearTint ( ) ;
this . tree . sort ( ) ;
this . robotSelected . setNodes ( this . tree . getNode ( ) ) ;
initStat = JSON . parse ( this . initStat . getJson ( ) ) ;
this . robotSelected . setDamage ( this . initStat . lBar [ 0 ] . value ) ;
this . robotSelected . setSpeedReload ( this . initStat . lBar [ 1 ] . value ) ;
this . robotSelected . setSpeed ( this . initStat . lBar [ 2 ] . value ) ;
this . robotSelected . setRange ( this . initStat . lBar [ 3 ] . value ) ;
} else {
initStat = level . initStat ;
}
if ( this . tree !== undefined ) {
tree = JSON . parse ( this . tree . getJson ( true ) ) ;
this . tree . destroy ( ) ;
this . initStat . destroy ( ) ;
tree = JSON . parse ( robot . getTreeJson ( ) ) ;
} else {
tree = JSON . parse ( this . robotSelected . getTreeJson ( ) ) ;
if ( this . initStat !== undefined ) {
initStat = JSON . parse ( this . initStat . getJson ( ) ) ;
robot . setDamage ( this . initStat . lBar [ 0 ] . value ) ;
robot . setSpeedReload ( this . initStat . lBar [ 1 ] . value ) ;
robot . setSpeed ( this . initStat . lBar [ 2 ] . value ) ;
robot . setRange ( this . initStat . lBar [ 3 ] . value ) ;
this . initStat . destroy ( ) ;
} else {
initStat = level . initStat ;
}
if ( this . tree !== undefined ) {
tree = JSON . parse ( this . tree . getJson ( true ) ) ;
this . tree . destroy ( ) ;
} else {
tree = JSON . parse ( robot . getTreeJson ( ) ) ;
}
}
this . tree = this . loadTree ( tree ) ;
this . initStat = this . loadInitSave ( initStat , this . robotSelected , this . robotSelected . damage - DAMAGE _BASE , this . robotSelected . speedReload - SPEED _RELOAD _BASE , this . robotSelected . speed - SPEED _BASE , this . robotSelected . range - RANGE _BASE ) ;
}
setRobotSelected ( robot ) {
if ( this . robotSelected !== undefined ) {
this . initStat = this . loadInitSave ( initStat , robot , robot . damage - DAMAGE _BASE , robot . speedReload - SPEED _RELOAD _BASE , robot . speed - SPEED _BASE , robot . range - RANGE _BASE ) ;
}
this . robotSelected = robot ;
if ( this . robotSelected . team . listRobot . length > 1 ) {
this . robotSelected . setTint ( COLOR _SELECTED ) ;
}
}
loadTree ( element , posX = CENTERX _TREE , posY = OFFY _TREE / 2 ) {
@ -163,7 +176,7 @@ class Game extends ManageLang {
level . listTeam . forEach ( team => {
init += this . loadT ( team . name , team . freeForAll , team . robots , level . robotRandomPosition , init , team . color )
} ) ;
this . gm . addEventMyTeam ( this . setRobotSelected , this ) ;
}
}
@ -380,7 +393,7 @@ class Game extends ManageLang {
}
clickPlay ( ) {
if ( this . scene. isPaused ( 'GamingBoard' ) )
if ( this . gm. paused )
this . resume ( ) ;
else
this . pauseScene ( ) ;