ProfessionData.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. public class ProfessionData
  5. {
  6. #region properties
  7. private int mID;
  8. private string mName;
  9. private string mDesc;
  10. private int mPosition;
  11. private int mProfessionType;
  12. private int mProfessionBranch;
  13. private int mStep;
  14. private int mMaxProfessionLv;
  15. private int mLastProfessionId;
  16. private bool mIsReincarnation;
  17. private int mUpgradeBaseLv;
  18. private int mUpgradeJobLv;
  19. private SInt mHpRate;
  20. private SInt mSpRate;
  21. private SInt mAtkRate;
  22. private SInt mMagicAtkRate;
  23. private SInt mDefRate;
  24. private SInt mMagicDefRate;
  25. private SInt mHitRate;
  26. private SInt mDodgeRate;
  27. private SInt mCritRate;
  28. private SInt mTenacityRate;
  29. private SInt mAttackSpeed;
  30. private string[] mNormalSkillIds;
  31. private string[] mSkillIds;
  32. private string[] mAlternativeSkills;
  33. private int mWeaponType;
  34. private int mNatureId;
  35. private string mIcon;
  36. #endregion
  37. #region fileds
  38. public int ID { get { return mID; } }
  39. public string Name { get { return mName; } }
  40. public string Desc { get { return mDesc; } }
  41. public int Position { get { return mPosition; } set { mPosition = value; } }
  42. public int ProfessionType { get { return mProfessionType; } }
  43. public int ProfessionBranch { get { return mProfessionBranch; } }
  44. public int Step { get { return mStep; } }
  45. public int MaxProfessionLv { get { return mMaxProfessionLv; } }
  46. public int LastProfessionId { get { return mLastProfessionId; } }
  47. public bool IsReincarnation { get { return mIsReincarnation; } }
  48. public int UpgradeBaseLv { get { return mUpgradeBaseLv; } }
  49. public int UpgradeJobLv { get { return mUpgradeJobLv; } }
  50. public SFloat HpRate { get { return mHpRate * 0.0001f; } }
  51. public SFloat SpRate { get { return mSpRate * 0.0001f; } }
  52. public SFloat AtkRate { get { return mAtkRate * 0.0001f; } }
  53. public SFloat MagicAtkRate { get { return mMagicAtkRate * 0.0001f; } }
  54. public SFloat DefRate { get { return mDefRate * 0.0001f; } }
  55. public SFloat MagicDefRate { get { return mMagicDefRate * 0.0001f; } }
  56. public SFloat HitRate { get { return mHitRate * 0.0001f; } }
  57. public SFloat DodgeRate { get { return mDodgeRate * 0.0001f; } }
  58. public SFloat CritRate { get { return mCritRate * 0.0001f; } }
  59. public SFloat TenacityRate { get { return mTenacityRate * 0.0001f; } }
  60. public SFloat AttackSpeed { get { return mAttackSpeed; } }
  61. public int WeaponType { get { return mWeaponType; } }
  62. public string[] NormalSkillIds { get { return mNormalSkillIds; } }
  63. public string[] SkillIds { get { return mSkillIds; } }
  64. public string[] AlternativeSkills { get { return mAlternativeSkills; } }
  65. public int NatureId { get { return mNatureId; } }
  66. public string Icon
  67. {
  68. get { return mIcon; }
  69. }
  70. private bool isValid = false;
  71. public bool valid
  72. {
  73. get { return isValid; }
  74. }
  75. #endregion
  76. public ProfessionData(int id)
  77. {
  78. //DebugHelper.Log("profession Id:" + id);
  79. Dictionary<string, string> dic = ConfigMgr.Instance.getLine(id, Config.JobCfgName);
  80. if(dic!=null)
  81. {
  82. this.mID = id;
  83. this.mName = dic["JobName"];
  84. this.mDesc = dic["Desc"];
  85. this.mIcon = dic["JobIcon"];
  86. int.TryParse(dic["Position"], out this.mPosition);
  87. int.TryParse(dic["JobType"], out this.mProfessionType);
  88. int.TryParse(dic["JobBranch"], out this.mProfessionBranch);
  89. int.TryParse(dic["JobStage"], out this.mStep);
  90. int.TryParse(dic["MaxJobLv"], out this.mMaxProfessionLv);
  91. int.TryParse(dic["BeforeJobId"], out this.mLastProfessionId);
  92. int temp = 0;
  93. int.TryParse(dic["Again"], out temp);
  94. this.mIsReincarnation = temp > 0;
  95. int.TryParse(dic["UpBaseLV"], out this.mUpgradeBaseLv);
  96. int.TryParse(dic["UpJobLv"], out this.mUpgradeJobLv);
  97. int.TryParse(dic["HpRate"], out temp);
  98. this.mHpRate = temp;
  99. int.TryParse(dic["SpRate"], out temp);
  100. this.mSpRate = temp;
  101. int.TryParse(dic["AtkRate"], out temp);
  102. this.mAtkRate = temp;
  103. int.TryParse(dic["MatkRate"], out temp);
  104. this.mMagicAtkRate = temp;
  105. int.TryParse(dic["DefRate"], out temp);
  106. this.mDefRate = temp;
  107. int.TryParse(dic["MdefRate"], out temp);
  108. this.mMagicDefRate = temp;
  109. int.TryParse(dic["HitRate"], out temp);
  110. this.mHitRate = temp;
  111. int.TryParse(dic["DodgeRate"], out temp);
  112. this.mDodgeRate = temp;
  113. int.TryParse(dic["CritRate"], out temp);
  114. this.mCritRate = temp;
  115. int.TryParse(dic["TenRate"], out temp);
  116. this.mTenacityRate = temp;
  117. int.TryParse(dic["Aspd"], out temp);
  118. this.mAttackSpeed = temp;
  119. // int.TryParse(dic["ArmsType"], out this.mWeaponType);
  120. if (dic.ContainsKey("NormalSkillIds"))
  121. {
  122. mNormalSkillIds = StringUtil.split(dic["NormalSkillIds"], ';');
  123. }
  124. if(dic.ContainsKey("SkillIds"))
  125. {
  126. mSkillIds = StringUtil.split(dic["SkillIds"], ';');
  127. }
  128. if(dic.ContainsKey("AlternativeSkills"))
  129. {
  130. mAlternativeSkills = StringUtil.split(dic["AlternativeSkills"], ';');
  131. }
  132. if(dic.ContainsKey("NatureId"))
  133. {
  134. int.TryParse(dic["NatureId"], out mNatureId);
  135. }
  136. isValid = true;
  137. }
  138. }
  139. public void Dispose()
  140. {
  141. isValid = false;
  142. mNormalSkillIds = null;
  143. mSkillIds = null;
  144. }
  145. }