diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2016-02-16 17:01:06 +0100 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2016-02-16 17:01:06 +0100 | 
| commit | 6a600abf78ba8e1933f3c30f7409353bf786b2dc (patch) | |
| tree | e0bbe147d7d83cb0327f935408c7fdeb9d4c9f14 | |
| parent | 20ebc45f1ce064bd43a8f5ab8f8338feb3790e41 (diff) | |
| download | RustAndDust-6a600abf78ba8e1933f3c30f7409353bf786b2dc.zip RustAndDust-6a600abf78ba8e1933f3c30f7409353bf786b2dc.tar.gz | |
add util/GameRecord
| -rw-r--r-- | core/src/ch/asynk/rustanddust/util/GameRecord.java | 92 | 
1 files changed, 92 insertions, 0 deletions
| diff --git a/core/src/ch/asynk/rustanddust/util/GameRecord.java b/core/src/ch/asynk/rustanddust/util/GameRecord.java new file mode 100644 index 0000000..82aa9b4 --- /dev/null +++ b/core/src/ch/asynk/rustanddust/util/GameRecord.java @@ -0,0 +1,92 @@ +package ch.asynk.rustanddust.util; + +import java.util.Date; +import java.text.DateFormat; + +import com.badlogic.gdx.utils.Pool; +import com.badlogic.gdx.utils.Disposable; + +import ch.asynk.rustanddust.ui.List; +import ch.asynk.rustanddust.game.Config.GameMode; +import ch.asynk.rustanddust.engine.util.Collection; +import ch.asynk.rustanddust.engine.util.IterableArray; + +public class GameRecord implements List.ListElement, Disposable, Pool.Poolable +{ +    public int g; +    public int p1; +    public int p2; +    public int b; +    public GameMode m; +    public Date ts; +    public String p1Name; +    public String p2Name; +    public String bName; +    public String s; + +    public static Collection<List.ListElement> list = new IterableArray<List.ListElement>(10); + +    private static final Pool<GameRecord> gameRecordPool = new Pool<GameRecord>() +    { +        @Override +        protected GameRecord newObject() { +            return new GameRecord(); +        } +    }; + +    public static void clearPool() +    { +        gameRecordPool.clear(); +    } + +    public static GameRecord get() +    { +        GameRecord r = gameRecordPool.obtain(); +        return r; +    } + +    public static void clearList() +    { +        for(List.ListElement r : list) +            ((GameRecord) r).dispose(); +        list.clear(); +    } + +    public GameRecord() +    { +    } + +    @Override +    public void reset() +    { +        this.s = null; +    } + +    @Override +    public void dispose() +    { +        gameRecordPool.free(this); +    } + +    @Override +    public String s() +    { +        if (s == null) { +            if (m == GameMode.SOLO) +                s = String.format("# - %s - %s - %s - %s", m.s, bName, p1Name, DateFormat.getDateInstance().format(ts)); +            else { +                if (p1 == 1) +                    s = String.format("# - %s - %s - %s - %s", m.s, bName, p2Name, DateFormat.getDateInstance().format(ts)); +                else +                    s = String.format("  - %s - %s - %s - %s", m.s, bName, p1Name, DateFormat.getDateInstance().format(ts)); +            } +        } +        return s; +    } + +    @Override +    public String toString() +    { +        return String.format("%d %d(%s) %d(%s) %d(%s) %s %s", g, p1, p1Name, p2, p2Name, b, bName, m.s, DateFormat.getDateInstance().format(ts)); +    } +} | 
