CraftEquipModify.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using Sfs2X.Entities.Data;
  5. public class CraftEquipModify
  6. {
  7. private float m_Damage;
  8. public float damage
  9. {
  10. get{
  11. return m_Damage;
  12. }
  13. }
  14. private float m_Hp;
  15. public float hp
  16. {
  17. get{
  18. return m_Hp;
  19. }
  20. }
  21. private float m_Move;
  22. public float move
  23. {
  24. get{
  25. return m_Move;
  26. }
  27. }
  28. public CraftEquipModify()
  29. {
  30. }
  31. public CraftEquipModify(ISFSObject data)
  32. {
  33. SetByData (data);
  34. }
  35. public static ISFSObject GetMyEquipData(int craftId)
  36. {
  37. EquipedData equipedData = EquipManager.GetInstance ().GetEquipedData (craftId);
  38. List<Equipment> list = null;
  39. if (equipedData != null)
  40. list = equipedData.GetCurrentList ();
  41. else
  42. list = new List<Equipment> ();
  43. float hp = 0;
  44. float dmg = 0;
  45. float mov = 0;
  46. for(int i=0; i<list.Count; i++)
  47. {
  48. Equipment equipment = list [i];
  49. hp += equipment.GetHp ();
  50. dmg += equipment.GetDmg ();
  51. if(equipment.GetMove() > mov)
  52. {
  53. mov = equipment.GetMove ();
  54. }
  55. }
  56. ISFSObject data = new SFSObject ();
  57. data.PutFloat ("h", hp);
  58. data.PutFloat ("d", dmg);
  59. data.PutFloat ("m", mov);
  60. return data;
  61. }
  62. public static ISFSObject GetAIEquipData(int craftId)
  63. {
  64. EquipedData equipedData = EquipManager.GetInstance ().GetEquipedData (craftId);
  65. List<Equipment> list = equipedData.GetCurrentList ();
  66. float hp = 0;
  67. float dmg = 0;
  68. float mov = 0;
  69. for(int i=0; i<list.Count; i++)
  70. {
  71. Equipment equipment = list [i];
  72. hp += equipment.GetHp ();
  73. dmg += equipment.GetDmg ();
  74. if(equipment.GetMove() > mov)
  75. {
  76. mov = equipment.GetMove ();
  77. }
  78. }
  79. ISFSObject data = new SFSObject ();
  80. data.PutFloat ("h", hp/2f);
  81. data.PutFloat ("d", dmg/2f);
  82. data.PutFloat ("m", mov);
  83. return data;
  84. }
  85. public void SetByData(ISFSObject data)
  86. {
  87. if(data.ContainsKey("h"))
  88. m_Hp = data.GetFloat ("h");
  89. if(data.ContainsKey("d"))
  90. m_Damage = data.GetFloat ("d");
  91. if(data.ContainsKey("m"))
  92. m_Move = data.GetFloat ("m");
  93. }
  94. public ISFSObject GetData()
  95. {
  96. ISFSObject data = new SFSObject ();
  97. data.PutFloat ("h", hp);
  98. data.PutFloat ("d", damage);
  99. data.PutFloat ("m", move);
  100. return data;
  101. }
  102. }