Package com.kolakcc.loljclient.controller

Source Code of com.kolakcc.loljclient.controller.ChampionSelectController

package com.kolakcc.loljclient.controller;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.IOException;

import javax.swing.Timer;

import com.gvaneyck.rtmp.RTMPCallback;
import com.gvaneyck.rtmp.encoding.TypedObject;
import com.kolakcc.loljclient.StartupClass;
import com.kolakcc.loljclient.model.LoggedInSummoner;
import com.kolakcc.loljclient.model.MasteryPage;
import com.kolakcc.loljclient.model.RunePage;
import com.kolakcc.loljclient.model.swing.MasteryPageComboBoxModel;
import com.kolakcc.loljclient.model.swing.RunePageComboBoxModel;
import com.kolakcc.loljclient.model.swing.SpellComboBoxModel;
import com.kolakcc.loljclient.model.swing.TeamListModel;
import com.kolakcc.loljclient.view.ChampionSelectView;
import com.kolakcc.loljclient.view.ui.ChampionBox;

public class ChampionSelectController extends KolaController implements MouseListener, ActionListener {
  ChampionSelectView view;
  SpellComboBoxModel spell1Model;
  SpellComboBoxModel spell2Model;
  RunePageComboBoxModel runePageModel;
  MasteryPageComboBoxModel masteryPageModel;
 
  int countFrom;
  int count;
  Timer currentTimer;
 
  public ChampionSelectController(TeamListModel team1, TeamListModel team2) {
    this.view = new ChampionSelectView();
    this.view.team1List.setModel(team1);
    this.view.team2List.setModel(team2);
    this.view.lockInButton.addActionListener(this);
    this.view.championsPanel.addChampionMouseListener(this);
    this.view.addActionListeners(this);
   
    spell1Model = new SpellComboBoxModel(LoggedInSummoner.summonerData.getClassicDefaultSpell1());
    this.view.summonerSpell1ComboBox.setModel(spell1Model);
   
    spell2Model = new SpellComboBoxModel(LoggedInSummoner.summonerData.getClassicDefaultSpell2());
    this.view.summonerSpell2ComboBox.setModel(spell2Model);
   
    RunePage currentRunePage = LoggedInSummoner.summonerData.getRunePages().get(0);
    for (RunePage runePage : LoggedInSummoner.summonerData.getRunePages()) {
      if (runePage.isCurrent()) {
        currentRunePage = runePage;
        break;
      }
    }
    runePageModel = new RunePageComboBoxModel(currentRunePage);
    this.view.runePageList.setModel(runePageModel);
   
    MasteryPage currentMasteryPage = LoggedInSummoner.summonerData.getMasteryBook().getPage(0);
    for (MasteryPage masteryPage : LoggedInSummoner.summonerData.getMasteryBook()) {
      if (masteryPage.isCurrent()) {
        currentMasteryPage = masteryPage;
        break;
      }
    }
    masteryPageModel = new MasteryPageComboBoxModel(currentMasteryPage);
    this.view.masteryPageList.setModel(masteryPageModel);
    countDown(90);
  }
  public void countDown(int from) {
    count = 0;
    countFrom = from;
    if (currentTimer != null) currentTimer.stop();
    currentTimer = new Timer(1000, this);
    currentTimer.start();
  }
 
  @Override
  public void mouseClicked(MouseEvent e) {
    if (e.getClickCount() == 1) {
      ChampionBox box = (ChampionBox) e.getSource();
      try {
        int id = StartupClass.Client.invoke("gameService",
            "selectChampion", new Object[] { box.getChampion().getID() });
        TypedObject result = StartupClass.Client.getResult(id).getTO("data");
        System.out.println(result);
      } catch (IOException e1) {
        e1.printStackTrace();
      }
    }
  }

  @Override
  public void actionPerformed(ActionEvent e) {
    try {
      if ((e.getSource().equals(view.summonerSpell1ComboBox)) || (e.getSource().equals(view.summonerSpell2ComboBox))) {
        StartupClass.Client.invoke("gameService",
              "selectSpells", new Object[] { spell1Model.getSelectedItem().id, spell2Model.getSelectedItem().id  });
      } else if (e.getSource().equals(view.lockInButton)) {
        StartupClass.Client.invoke("gameService",
              "championSelectCompleted", new Object[] {  });
      } else if (e.getSource().equals(view.runePageList)) {
        StartupClass.Client.invokeWithCallback("spellBookService", "selectDefaultSpellBookPage", new Object[] { runePageModel.getSelectedItem().getiTO() }, new RTMPCallback() {
          public void callback(TypedObject result) {
            System.out.println(result);
          }
         
        });
      } else if (e.getSource().equals(view.masteryPageList)) {
        for (MasteryPage page : masteryPageModel) {
          page.setCurrent(false);
        }
        masteryPageModel.getSelectedItem().setCurrent(true);
        StartupClass.Client.invokeWithCallback("masteryBookService", "saveMasteryBook", new Object[] { LoggedInSummoner.summonerData.getMasteryBook().getiTO() }, new RTMPCallback() {
          public void callback(TypedObject result) {
            System.out.println(result);
          }
         
        });
      } else if (e.getSource() instanceof Timer) {
        if (count < countFrom) {
          count++;
          view.setTimer(countFrom - count);
        } else {
          ((Timer) e.getSource()).stop();
        }
      }
    }
    catch (Exception e1) {
      e1.printStackTrace();
    }
  }
 
  @Override
  public void mousePressed(MouseEvent e) {
  }
  @Override
  public void mouseReleased(MouseEvent e) {

  }
  @Override
  public void mouseEntered(MouseEvent e) {

  }
  @Override
  public void mouseExited(MouseEvent e) {
  }
}
TOP

Related Classes of com.kolakcc.loljclient.controller.ChampionSelectController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.