// ---------------------------------------------------------------- public functions ---------------------------------------------------------------- public void mudaAcao(playersActions umaNovaAcao) { if (this.personagemEscolhido != null) { this.personagemEscolhido.estadoArea = AreaOfActionState.changeAction; this.novaAcaoEscolhida = umaNovaAcao; } }
/** /* @name: resetChosen /* @version: 1.5 /* @Descrition: Reinicia os valores de personagemEscolhido e Objetivo de movimetação para que não exista lixo entre ações. E desfaz a area de ação anterior. */ private void resetChosen() { desfazAreaDeAcao(); this.personagemEscolhido.estadoAtual = CharacterState.idle; this.personagemEscolhido = null; this.acaoEscolhida = playersActions.Andar; this.objetivo = null; }
/** /* @name: fazAreaDeAcao /* @version: 1.0 /* @Descrition: chama as funções corretas de acordo com a ação do pesonagem */ private void fazAreaDeAcao() { if (this.personagemEscolhido != null) { if (!(this.personagemEscolhido.estadoArea == AreaOfActionState.done)) { if (this.personagemEscolhido.estadoArea == AreaOfActionState.undone) { switch (this.acaoEscolhida) { case playersActions.Andar: this.generateActionArea(this.personagemEscolhido.gridPosition, this.personagemEscolhido.walk, this.personagemEscolhido.alcance, this.personagemEscolhido.minalcance); this.personagemEscolhido.estadoArea = AreaOfActionState.done; break; case playersActions.Atacar: this.generateActionArea(this.personagemEscolhido.gridPosition, 0, this.personagemEscolhido.alcance, this.personagemEscolhido.minalcance); this.personagemEscolhido.estadoArea = AreaOfActionState.done; break; case playersActions.Interagir: this.generateActionArea(this.personagemEscolhido.gridPosition, 0, 1, 0); this.personagemEscolhido.estadoArea = AreaOfActionState.done; break; } } else { desfazAreaDeAcao(); this.personagemEscolhido.estadoArea = AreaOfActionState.undone; this.acaoEscolhida = this.novaAcaoEscolhida; } } } }