Guest User

Untitled

a guest
Feb 15th, 2015
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.27 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3. using System;           //Need to accsess the enum class
  4.  
  5. public class BaseCharacter : MonoBehaviour {
  6.     private string _name;
  7.     private int _level;
  8.     private uint _freeExp;
  9.  
  10.     private Atrribute[] _primaryAttribute;
  11.     private Vital[] _vital;
  12.     private Skill[] _skill;
  13.  
  14.     public void Awake(){
  15.         _name = string.Empty;
  16.         _level = 0;
  17.         _freeExp = 0;
  18.  
  19.         _primaryAttribute = new Atrribute[Enum.GetValues (typeof(AttributeName)).Length]; //Sets the array length to the amount of atributes in the enumetator
  20.         _vital = new Vital[Enum.GetValues (typeof(VitalName)).Length];
  21.         _skill = new Skill[Enum.GetValues(typeof(SkillName)).Length];
  22.  
  23.         SETUPSkills ();
  24.         SETUPSkillModifer ();
  25.         SETUPVitals();
  26.     }
  27.  
  28.     public string Name{
  29.         get{return _name;}
  30.         set{_name = value;}
  31.     }
  32.     public int Level{
  33.         get{return _level;}
  34.         set{_level = value;}
  35.     }
  36.     public uint FreeExp{
  37.         get{return _freeExp;}
  38.         set{_freeExp = value;}
  39.     }
  40.  
  41.     public void AddExp(uint amount){
  42.         _freeExp += amount;
  43.     }
  44.  
  45.     public void CalculateLevel(){
  46.         //This is going to do something interesting and new
  47.         //probably take average of all player skills and make that level?
  48.     }
  49.  
  50.     private void SETUPPrimaryAtributes(){
  51.         for (int i = 0; i < _primaryAttribute.Length; i++) {
  52.             _primaryAttribute[i] = new Atrribute();
  53.         }
  54.     }
  55.  
  56.     private void SETUPVitals(){
  57.         for (int i = 0; i < _vital.Length; i++) {
  58.             _vital[i] = new Vital();
  59.         }
  60.     }
  61.  
  62.     private void SETUPSkills(){
  63.         for (int i = 0; i < _skill.Length; i++) {
  64.             _skill[i] = new Skill();
  65.         }
  66.     }
  67.     public Atrribute GetPrimaryAttribute(int index){
  68.         return _primaryAttribute[index];
  69.     }
  70.     public Vital GetVital(int index){
  71.         return _vital [index];
  72.     }
  73.     public Skill GetSkill(int index){
  74.         return _skill [index];
  75.     }
  76.  
  77.  
  78.     //Sets up Vitals and skills that are modified by the core attributes
  79.     private void SETUPVitalModifer(){
  80.         //health
  81.         GetVital ((int)VitalName.Health).AddModifer (new ModifingAttribute (GetPrimaryAttribute((int)AttributeName.Constitution), .5f));
  82.         //stamina
  83.         GetVital ((int)VitalName.Stamnia).AddModifer (new ModifingAttribute (GetPrimaryAttribute((int)AttributeName.Constitution), 1));
  84.         //manna
  85.         GetVital ((int)VitalName.Mana).AddModifer (new ModifingAttribute (GetPrimaryAttribute((int)AttributeName.Willpower), 1 ));
  86.  
  87.     }
  88.     private void SETUPSkillModifer(){
  89.         //This is a mess and I dont even know how to comment it, so good luck, cus I barley know how it works
  90.         //melee offence
  91.         GetSkill((int)SkillName.Melee_Offense).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Might),33f));
  92.         GetSkill((int)SkillName.Melee_Offense).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness),33f));
  93.         //melee defense
  94.         GetSkill((int)SkillName.Melee_Defence).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Speed),33f));
  95.         GetSkill((int)SkillName.Melee_Defence).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution),33f));
  96.         //magic offence
  97.         GetSkill((int)SkillName.Magic_Offence).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Concetration),33f));
  98.         GetSkill((int)SkillName.Magic_Offence).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower),33f));
  99.         //magic defence
  100.         GetSkill((int)SkillName.Magic_Defence).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Concetration),33f));
  101.         GetSkill((int)SkillName.Magic_Defence).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower),33f));
  102.         //ranged offence
  103.         GetSkill((int)SkillName.Ranged_Offence).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Concetration),33f));
  104.         GetSkill((int)SkillName.Ranged_Offence).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Speed),33f));
  105.         //ranged defence
  106.         GetSkill((int)SkillName.Ranged_Defence).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Speed),33f));
  107.         GetSkill((int)SkillName.Ranged_Defence).AddModifer(new ModifingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness),33f));
  108.     }
  109.  
  110.     public void StatUpdate(){
  111.         for (int i = 0; i < _vital.Length; i++) {
  112.             _vital[i].Update();
  113.         }
  114.         for (int i = 0; i < _skill.Length; i++) {
  115.             _skill[i].Update();
  116.         }
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment