/**
* Unsealed: Whispers of Wisdom.
*
* Copyright (C) 2012 - Juan 'Nushio' Rodriguez
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 of
* the License as published by the Free Software Foundation
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package net.k3rnel.unsealed.story.chapter2;
import static com.badlogic.gdx.scenes.scene2d.actions.Actions.delay;
import static com.badlogic.gdx.scenes.scene2d.actions.Actions.fadeIn;
import static com.badlogic.gdx.scenes.scene2d.actions.Actions.run;
import static com.badlogic.gdx.scenes.scene2d.actions.Actions.sequence;
import net.k3rnel.unsealed.Unsealed;
import net.k3rnel.unsealed.services.MusicManager.UnsealedMusic;
import net.k3rnel.unsealed.story.AbstractChapter;
import net.k3rnel.unsealed.story.MapCharacter;
import net.k3rnel.unsealed.story.characters.Lidia;
import net.k3rnel.unsealed.story.characters.Shura;
public class Chapter2_3 extends AbstractChapter {
/**
* Chapter Two: Old Friends
* @param game
*/
public Chapter2_3(Unsealed game) {
super(game);
mapname="RouteTwo";
}
@Override
public void show() {
super.show();
game.getMusicManager().play( UnsealedMusic.DESERT );
tmpChar = new Lidia(getAtlas());
tmpChar.setPosition(800,1600);
tmpChar.updateAnimation();
tmpChar.setDirection(MapCharacter.dirRight);
characters.add(tmpChar);
tmpChar = new Shura(getAtlas());
tmpChar.setPosition(1860,1960);
tmpChar.updateAnimation();
tmpChar.setDirection(MapCharacter.dirDown);
tmpChar.setVisible(false);
characters.add(tmpChar);
camera.zoom = 2f;
camera.update();
}
@Override
public void render(float delta) {
super.render(delta);
stage.getSpriteBatch().begin();
//This is probably the bestest "Scene Director" ever made.
//Valve should totally hire me.
for(MapCharacter character : characters){
if(character instanceof Lidia){
switch(act){
case 0:
centerCamera(character);
character.getColor().a = 0;
character.setWalking(false);
actions = sequence(fadeIn(0.95f),delay(0.75f),run(new Runnable() {
@Override
public void run() {
setAct(1);
}
}));
character.addAction(actions);
character.setWalking(true);
break;
case 1:
if(character.getX()<801){
character.setX(character.getX()+2);
centerCamera(character);
}else{
//TODO Move till X = 800
// camera.zoom = 2.0f;
// camera.update();
act = 2;
// }
}
break;
case 2:
if(character.getX()<1201){
character.setX(character.getX()+2);
centerCamera(character);
}else{
camera.zoom = 1.8f;
camera.update();
act = 3;
// }
}
break;
case 3:
if(character.getX()<1401){
character.setX(character.getX()+1);
centerCamera(character);
}else{
character.setWalking(false);
act = 4;
// }
}
break;
case 18:
if(character.getX()<2201){
character.setWalking(true);
character.setX(character.getX()+1);
centerCamera(character);
}else{
character.setWalking(false);
act = 19;
// }
}
break;
case 19:
game.setScreen(new Chapter2_4(game));
break;
}
}
if(character instanceof Shura){
switch(act){
case 4:
character.setVisible(true);
if(character.getY()>1800){
character.setWalking(true);
character.setY(character.getY()-1);
}else{
camera.zoom = 1.6f;
camera.update();
act = 5;
}
break;
case 5:
if(character.getY()>1600){
character.setY(character.getY()-1);
}else{
camera.zoom = 1.3f;
camera.update();
act = 6;
character.setDirection(MapCharacter.dirLeft);
}
break;
case 6:
if(character.getX()>1600){
character.setX(character.getX()-1);
}else{
camera.zoom = 1.0f;
camera.update();
act = 7;
character.setWalking(false);
}
break;
case 7:
dialog.setText("Lidia: Shura! I'm glad to see you! \n" +
"After Marblehead... We didn't part in the best of terms... ");
dialog.setVisible(true);
break;
case 8:
dialog.setText("Shura: The best of terms? You nearly got us killed over a boy!\n" +
"You just had to tell him we're Spellweavers, didn't you? ");
break;
case 9:
dialog.setText("Lidia: That was what we set out to do, remember?\n" +
"Unseal the Guardians? Teach them about Spellweaving?");
break;
case 10:
dialog.setText("Shura: Falling in love was also part of the mission?");
break;
case 11:
dialog.setText("Lidia: I... You.. You're right. \n" +
"I'm sorry... I should've known better...");
break;
case 12:
dialog.setText("Lidia: Will you forgive me? \n" +
"We can't undo the past, but we can move on and learn from our mistakes.");
break;
case 13:
dialog.setText("Shura: I can forgive you, but I won't join you. \n" +
"You need to learn take care of yourself and cool down sometimes.\n" +
"Let me share this new spell I weaved...");
break;
case 14:
dialog.setText("Lidia learned Ice Prison!");
break;
case 15:
dialog.setText("Shura: Alright, put it to good use. I'll see you later!");
break;
case 16:
dialog.setVisible(false);
character.setDirection(MapCharacter.dirRight);
character.setWalking(true);
act = 17;
break;
case 17:
if(character.getX()<1800){
character.setX(character.getX()+2.5f);
}else{
act = 18;
character.setVisible(false);
}
break;
}
}
character.act(delta);
if(character.isVisible())
character.draw(stage.getSpriteBatch(), 1);
}
stage.getSpriteBatch().end();
if(dialog.isVisible()){
hud.act(delta);
hud.draw();
}
}
}