-
Notifications
You must be signed in to change notification settings - Fork 0
Model Representation
kmac0443 edited this page Feb 25, 2015
·
14 revisions
Model Representation of Game Objects. ###Interfaces
interface IUnity
{
//If you need the Model to acknowledge that Unity even exists. put it here.
void OnUpdate();
void OnTime();
}public interface IDamageAffecting
{
int OutgoingDamage();
int DamageResistance();
}###People - Player, NPC
public class Person : IUnity
{
public Person()
public AddItem()
public RemoveItem()
public DealDamage()
public ReceiveDamage()
}public class NPC : Person
{
...
public string Speak();
public List<String> getDialogue();
public void setDialogue(List<string> phrases)
}public class Player : Person
{
...
}public class AttributeManager : IDamageAffecting
{
public int Constitution;
public int Strenght;
public int Intelligence;
public int Dexterity;
public string Info();
}public class SkillManager : IDamageAffecting
{
//This may get scrapped.
public string Info();
}public class Skill : IDamageAffecting
{
//This may get scrapped.
public Guid ID;
}###Item and Item Management
public class StorageContainer
{
public int MaxCapacity;
public int Capacity;
public List<Item> Items;
public bool AddItem(Item item)
public bool RemoveItem(Item item)
public virtual string Info()
}public class Inventory : StorageContainer
{
...
public List<Item> Equipment;
public bool EquipItem(Item item)
public bool UnEquipItem(Item item)
public int OutgoingDamage()
public int DamageResistance()
public override string Info()
}public class Item : IDamageAffecting
{
public Guid ID;
public int Girth;
public string Label;
public int Durability;
public int Equip;
public int Damage;
public int Resistance;
public string Info()
public void OnUse()
}public class ResourceObject
{
public StorageContainer Resources;
public int StaminaRequired;
public int TimeRequired;
public bool Active;
public Item onGather();
}###Meters
public class IMeter
{
// These variables are set by Unity
public max;
// can be onHalfHour, etc
// abstract function for handling time change
public void onHour();
// general function for changing meter value
public void change(int amount);
}public class HealthMeter
{
// These variables are set by Unity
Dictionary<string, int> damage;
// Types:
// Ash
// HP
// Food
// Water
public void onHour();
// changes HP value in damage dictionary
public void change(int amount);
// handles the change damage effect (to the meter)
public void onChange();
// uses string for damage type to get value
public int getDamageFor(string damageType);
// uses string for specific change,
public void change(int amount, string damageType);
}public class StaminaMeter
{
// These variables are set by Unity
public int current;
public int TIME_DEGRADE;
public void onHour();
// exhaustion when current <= 0
public void change(int amount);
}public class FoodMeter
{
// These variables are set by Unity
public int current;
public const int TIME_DEGRADE;
public void onHour();
// if current reaches 0, character.destroy()
public void change(int amount);
}public class WaterMeter
{
// These variables are set by Unity
public int current;
public const int TIME_DEGRADE;
public void onHour();
// if current reaches zero, character.destroy()
public void change(int amount);
}public class Building
{
public Building();
public StorageContainer Storage;
}Home | Design | The Team | Team Deliverables