//***********************************************************
//*
//* File:           GameRecord.java
//* Author:         Abhinav Kamra
//* Contact:        kamra-at-cs.columbia.edu
//* Update:         9.23.2002
//*
//* Description:    Individual game setup and result storage
//*                 objects for game model tournaments. A
//*                 tournament specifies multiple game 
//*                 record entries which are then played
//*                 by the model.
//*
//***********************************************************

package ui;

public final class GameRecord implements IFCGameRecord {
    
    Class[]     _players;
    double[]    _scores;
    double[]    _times;
    boolean     _batchcomplete;
    int         _rounds;
    int         _copies;
    String      _gamefile;

    
    public void setPlayers(Class[] __players) throws Exception {
        int _MAX = __players.length;
        
        _players = new Class[_MAX];
        System.arraycopy(__players, 0, _players, 0, _MAX);
    }
    
    public Class[] players() throws Exception {
        int _MAX = _players.length;
        Class[] RET = new Class[_MAX];
    
        System.arraycopy(_players, 0, RET, 0, _MAX);
        return RET;
    }
    
    public int rounds() throws Exception {
        return _rounds;
    }

    public void setRounds(int __rounds) throws Exception {
        _rounds = __rounds;
    }
    
    public int cookieCopies() throws Exception {
        return _copies;
    }

    public void setCookieCopies(int __copies) throws Exception {
        _copies = __copies;
    }
    
    public void setScores(double[] __scores) throws Exception {
        int _MAX = __scores.length;
        
        _scores = new double[_MAX];
        System.arraycopy(__scores, 0, _scores, 0, _MAX);
    }   
    
    public double[] scores() throws Exception {
        int _MAX = _scores.length;
        double[] RET = new double[_MAX];

        System.arraycopy(_scores, 0, RET, 0, _MAX);
        return RET;
    }
    
    public void setTimes(double[] __times) throws Exception {
        int _MAX = __times.length;
        
        _times = new double[_MAX];
        System.arraycopy(__times, 0, _times, 0, _MAX);
    }   
    
    public double[] times() throws Exception {
        int _MAX = _times.length;
        double[] RET = new double[_MAX];

        System.arraycopy(_times, 0, RET, 0, _MAX);
        return RET;
    }
    
    public void setGameFile(String __gamefile) throws Exception {
        _gamefile = __gamefile;
    }
    
    public String gameFile() throws Exception {
        return _gamefile;
    }
    
    public void setBatchComplete(boolean __batchcomplete) throws Exception {
        _batchcomplete = __batchcomplete;
    }
    
    public boolean batchComplete() throws Exception {
        return _batchcomplete;
    }
}

