Interface.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. using CommonAI.Data;
  2. using CommonAI.Zone.Formula;
  3. using CommonLang.Log;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. namespace CommonAI.data
  9. {
  10. public abstract class BattleFunction
  11. {
  12. protected static Logger log = LoggerFactory.GetLogger("BattleFunction");
  13. private static BattleFunction mInstance = null;
  14. public static void SetFactory(BattleFunction factory)
  15. {
  16. mInstance = factory;
  17. }
  18. public static BattleFunction GetInstance()
  19. {
  20. return mInstance;
  21. }
  22. protected virtual void LogError(string text = null)
  23. {
  24. string error = string.Format("特殊事件错误:未找到事件脚本【{0}】", text);// + new System.Diagnostics.StackTrace().ToString();
  25. log.Error(error);
  26. }
  27. // 战斗服触发
  28. public abstract int TriggrBattleFunction(int functionID, IVirtualUnit target, IVirtualUnit sender);
  29. // 传参,一般游戏服触发
  30. public abstract int TriggrBattleFunction(int functionID, IVirtualUnit target, int value1, int value2, int value3, int value4, int value5, int value6);
  31. }
  32. public abstract class BattleFunctionEvent
  33. {
  34. //绑定配置ID
  35. private int mBindConfigID = 0;
  36. //绑定buffID
  37. protected int mBuff_ID = 0;
  38. protected static Logger log = LoggerFactory.GetLogger("BattleFunctionEvent");
  39. public virtual int GetEventID() { return 0; }
  40. //获取绑定的配置文件id
  41. public virtual int GetConfigID() { return mBindConfigID == 0 ? this.GetEventID() : mBindConfigID; }
  42. public virtual bool Init(int configID, int buffID)
  43. {
  44. this.mBindConfigID = configID;
  45. this.mBuff_ID = buffID;
  46. if (OnInit() == false)
  47. {
  48. LogError();
  49. return false;
  50. }
  51. return true;
  52. }
  53. protected void SetBindBuffID(int buffId)
  54. {
  55. if(buffId > 0)
  56. {
  57. this.mBuff_ID = buffId;
  58. }
  59. }
  60. public int GetBindBuffID()
  61. {
  62. return this.mBuff_ID;
  63. }
  64. protected virtual bool OnInit()
  65. {
  66. return true;
  67. }
  68. // 战斗服触发
  69. public virtual int TriggerEvent(IVirtualUnit target, IVirtualUnit sender) { return 0; }
  70. // 传参,一般游戏服触发
  71. public virtual int TriggerEvent(IVirtualUnit target, int value1, int value2, int value3, int value4, int value5, int value6) { return 0; }
  72. public virtual object CreateParams() { return null; }
  73. protected virtual void LogError(string text = null)
  74. {
  75. string txt = null;
  76. if (text != null)
  77. {
  78. txt = string.Format("特殊事件【{0}】配置错误, 请检查编辑器或表格:{1}", GetConfigID(), text);
  79. log.Error(txt);
  80. }
  81. else
  82. {
  83. txt = string.Format("特殊事件【{0}】配置错误, 请检查编辑器或表格", GetConfigID());
  84. log.Error(txt);
  85. }
  86. //throw new Exception(txt);
  87. }
  88. }
  89. public interface IPlayerCache
  90. {
  91. bool AddTalentValue(int value);
  92. bool UseTalentValue(int value);
  93. bool Refresh(bool notify = true);
  94. void MarkValid(bool isValid);
  95. int GetTalentValue();
  96. byte GetTalentLv();
  97. }
  98. public interface ICardModule
  99. {
  100. ICardData GetCardInterface();
  101. }
  102. public interface ICardData
  103. {
  104. CardType GetCardData(int index);
  105. }
  106. }