Package com.achimala.leaguelib.models

Source Code of com.achimala.leaguelib.models.LeagueSummonerLeagueStats$MiniSeries

/*
*  This file is part of LeagueLib.
*  LeagueLib is free software: you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation, either version 3 of the License, or
*  (at your option) any later version.
*
*  LeagueLib 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 LeagueLib.  If not, see <http://www.gnu.org/licenses/>.
*/

package com.achimala.leaguelib.models;

import com.gvaneyck.rtmp.TypedObject;
import com.achimala.leaguelib.errors.*;

public class LeagueSummonerLeagueStats {
    private class MiniSeries {
        private int _target, _losses, _wins;
       
        public MiniSeries(TypedObject obj) {
            _target = obj.getInt("target");
            _losses = obj.getInt("losses");
            _wins = obj.getInt("wins");
            // timeLeftToPlayMillis
        }
       
        public void setTarget(int target) {
            _target = target;
        }
       
        public void setLosses(int losses) {
            _losses = losses;
        }
       
        public void setWins(int wins) {
            _wins = wins;
        }
       
        public int getTarget() {
            return _target;
        }
       
        public int getLosses() {
            return _losses;
        }
       
        public int getWins() {
            return _wins;
        }
    }
   
    private LeagueMatchmakingQueue _queue;
    private String _leagueName;
    private int _previousDayLeaguePosition=-1, _wins=0, _losses=0, _leaguePoints=0;
    private LeagueRankedTier _tier;
    private LeagueRankedRank _rank;
    private boolean _inactive=false, _veteran=false, _hotStreak=false, _freshBlood=false;
    private MiniSeries _miniSeries;
   
    public LeagueSummonerLeagueStats() {
    }
   
    public LeagueSummonerLeagueStats(TypedObject obj) throws LeagueException {
        if(obj == null)
            throw new LeagueException(LeagueErrorCode.SUMMONER_NOT_IN_LEAGUE);
       
        _queue = LeagueMatchmakingQueue.valueOf(obj.getString("queue"));
        _leagueName = obj.getString("name");
       
        String requestor = obj.getString("requestorsName");
       
        TypedObject sumObj = null;
        for(Object o : obj.getArray("entries")) {
            if(((TypedObject)o).getString("playerOrTeamName").equalsIgnoreCase(requestor)) {
                sumObj = (TypedObject)o;
                break;
            }
        }
       
        if(sumObj == null)
            throw new LeagueException(LeagueErrorCode.SUMMONER_NOT_FOUND);
       
        _previousDayLeaguePosition = sumObj.getInt("previousDayLeaguePosition");
        _wins = sumObj.getInt("wins");
        _losses = sumObj.getInt("losses");
        _leaguePoints = sumObj.getInt("leaguePoints");
        _tier = LeagueRankedTier.valueOf(sumObj.getString("tier"));
        _rank = LeagueRankedRank.valueOf(sumObj.getString("rank"));
       
        _inactive = sumObj.getBool("inactive");
        _veteran = sumObj.getBool("veteran");
        _hotStreak = sumObj.getBool("hotStreak");
        _freshBlood = sumObj.getBool("freshBlood");
       
        TypedObject miniSeriesObj = sumObj.getTO("miniSeries");
        if(miniSeriesObj != null)
            _miniSeries = new MiniSeries(miniSeriesObj);
    }
   
    public int getApproximateElo() {
        double elo = 450;
        elo += _tier.getApproximateEloContribution();
        if(_tier == LeagueRankedTier.CHALLENGER)
            elo += LeagueRankedRank.V.getApproximateEloContribution();
        else
            elo += _rank.getApproximateEloContribution();
        elo += 0.5 * _leaguePoints;
        if(_miniSeries != null)
            elo += 20.0 * _miniSeries.getWins()/_miniSeries.getTarget();
        return (int)elo;
    }
   
    public void setMatchmakingQueue(LeagueMatchmakingQueue queue) {
        _queue = queue;
    }
   
    public void setLeagueName(String name) {
        _leagueName = name;
    }
   
    public void setPreviousDayLeaguePosition(int position)  {
        _previousDayLeaguePosition = position;
    }
   
    public void setWins(int wins) {
        _wins = wins;
    }
   
    public void setLosses(int losses) {
        _losses = losses;
    }
   
    public void setLeaguePoints(int points) {
        _leaguePoints = points;
    }
   
    public void setTier(LeagueRankedTier tier) {
        _tier = tier;
    }
   
    public void setRank(LeagueRankedRank rank) {
        _rank = rank;
    }
   
    public void setInactive(boolean inactive) {
        _inactive = inactive;
    }
   
    public void setVeteran(boolean veteran) {
        _veteran = veteran;
    }
   
    public void setHotStreak(boolean hotStreak) {
        _hotStreak = hotStreak;
    }
   
    public void setFreshBlood(boolean freshBlood) {
        _freshBlood = freshBlood;
    }
   
    public LeagueMatchmakingQueue getMatchmakingQueue() {
        return _queue;
    }
   
    public String getLeagueName() {
        return _leagueName;
    }
   
    public int getPreviousDayLeaguePosition()  {
        return _previousDayLeaguePosition;
    }
   
    public int getWins() {
        return _wins;
    }
   
    public int getLosses() {
        return _losses;
    }
   
    public int getLeaguePoints() {
        return _leaguePoints;
    }
   
    public LeagueRankedTier getTier() {
        return _tier;
    }
   
    public LeagueRankedRank getRank() {
        return _rank;
    }
   
    public boolean getInactive() {
        return _inactive;
    }
   
    public boolean getVeteran() {
        return _veteran;
    }
   
    public boolean getHotStreak() {
        return _hotStreak;
    }
   
    public boolean getFreshBlood() {
        return _freshBlood;
    }
   
    public MiniSeries getMiniSeries() {
        return _miniSeries;
    }
}
TOP

Related Classes of com.achimala.leaguelib.models.LeagueSummonerLeagueStats$MiniSeries

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.