/*******************************************************************************
* Copyright (c) 2013 Philip Collin.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
*
* Contributors:
* Philip Collin - initial API and implementation
******************************************************************************/
package com.lyeeedar.Roguelike3D.Game;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.NavigableSet;
import java.util.TreeMap;
import com.lyeeedar.Roguelike3D.Game.GameData.Damage_Type;
import com.lyeeedar.Roguelike3D.Game.GameData.Element;
import com.lyeeedar.Roguelike3D.Game.Actor.Player;
import com.lyeeedar.Roguelike3D.Game.Item.Component;
import com.lyeeedar.Roguelike3D.Game.Item.Equipment_BODY;
import com.lyeeedar.Roguelike3D.Game.Item.Equipment_BOOTS;
import com.lyeeedar.Roguelike3D.Game.Item.Equipment_HAND;
import com.lyeeedar.Roguelike3D.Game.Item.Equipment_HEAD;
import com.lyeeedar.Roguelike3D.Game.Item.Equipment_LEGS;
import com.lyeeedar.Roguelike3D.Game.Item.Equippable;
import com.lyeeedar.Roguelike3D.Game.Item.Item;
import com.lyeeedar.Roguelike3D.Game.Item.Item.Item_Type;
import com.lyeeedar.Roguelike3D.Game.Item.Recipe;
public class GameStats {
public static int MAX_HEALTH;
public static int HEALTH;
public static int WEIGHT;
public static int STRENGTH;
public static HashMap<Element, Integer> ELE_DEF = new HashMap<Element, Integer>();
public static HashMap<Damage_Type, Integer> DAM_DEF = new HashMap<Damage_Type, Integer>();
public static ArrayList<String> FACTIONS;
public enum Equipment_Slot {
HEAD,
BODY,
LEGS,
BOOTS,
L_HAND,
R_HAND
}
public static Equipment_HEAD head;
public static Equipment_BODY body;
public static Equipment_LEGS legs;
public static Equipment_BOOTS boots;
public static Equipment_HAND l_hand;
public static Equipment_HAND r_hand;
// public static TreeMultimap<Integer, Recipe> recipes = TreeMultimap.create();
// public static TreeMultimap<Integer, Component> components = TreeMultimap.create();
// public static TreeMultimap<Item_Type, Equippable> carryEquipment = TreeMultimap.create();
// public static TreeMultimap<Item_Type, Equippable> baseEquipment = TreeMultimap.create();
//
public static void init()
{
MAX_HEALTH = HEALTH = 100;
WEIGHT = 1;
STRENGTH = 1;
ELE_DEF = GameData.getElementMap();
DAM_DEF = GameData.getDamageMap();
FACTIONS = new ArrayList<String>();
FACTIONS.add("PLAYER");
}
public static void setPlayerStats(Player player)
{
player.setStats(HEALTH, WEIGHT, STRENGTH, ELE_DEF, DAM_DEF, FACTIONS);
}
public static List<Recipe> getRecipes(int rarity)
{
return null;
}
public static List<Recipe> getAllRecipes()
{
return null;
}
public static List<Component> getAllComponents()
{
return null;
}
public static void addRecipe(Recipe recipe)
{
}
public static void addComponent(Component c)
{
}
public static void removeComponent(Component c, int amount)
{
}
public static List<Equippable> getCarryEquipment (Item_Type type)
{
return null;
}
public static void addEquipmentCarry(Equippable e)
{
}
public static void addEquipmentBase(Equippable e)
{
}
public static void save(SaveGame save)
{
//save.setStats(MAX_HEALTH, HEALTH, WEIGHT, STRENGTH, ELE_DEF, DAM_DEF, FACTIONS, head, body, legs, boots, l_hand, r_hand, recipes, components, carryEquipment, baseEquipment);
}
public static void load(SaveGame save)
{
MAX_HEALTH = save.MAX_HEALTH;
HEALTH = save.HEALTH;
WEIGHT = save.WEIGHT;
STRENGTH = save.STRENGTH;
ELE_DEF = save.ELE_DEF;
DAM_DEF = save.DAM_DEF;
FACTIONS = save.FACTIONS;
head = save.head;
body = save.body;
legs = save.legs;
boots = save.boots;
l_hand = save.l_hand;
r_hand = save.r_hand;
}
}