From a1e99408a57de594046d8d12baa613619f1d316f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 11 十二月 2025 17:22:04 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(战斗去除对象池使用,释放效率有点低,且对象池对简单的类创建性能提升不高,故暂废弃;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py |   41 ++++++++++++-----------------------------
 1 files changed, 12 insertions(+), 29 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
index cd2e444..aaf563b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
@@ -23,7 +23,6 @@
 import ChNetSendPack
 import ShareDefine
 import ChConfig
-import ObjPool
 import TurnPassive
 import TurnBuff
 
@@ -306,13 +305,10 @@
     def GetBounceHP(self): return self._bounceHP
     def SetBounceHP(self, bounceHP): self._bounceHP = bounceHP
     def ClearHurtObjEx(self):
-        poolMgr = ObjPool.GetPoolMgr()
-        for hurtObjEx in self._hurtListEx:
-            poolMgr.release(hurtObjEx)
         self._hurtListEx = []
         return
     def AddHurtObjEx(self, tagID):
-        hurtObj = ObjPool.GetPoolMgr().acquire(HurtObj)
+        hurtObj = HurtObj()
         hurtObj.SetObjID(tagID)
         self._hurtListEx.append(hurtObj)
         return hurtObj
@@ -359,7 +355,7 @@
             values = getattr(ipyData, "GetEffectValues%s" % num)()
             triggerWay = getattr(ipyData, "GetTriggerWay%s" % num)()
             triggerSrc = getattr(ipyData, "GetTriggerSrc%s" % num)()
-            effect = ObjPool.GetPoolMgr().acquire(SkillEffect, effID, values, triggerWay, triggerSrc)
+            effect = SkillEffect(effID, values, triggerWay, triggerSrc)
             self._effList.append(effect)
             self._effDict[(effID, triggerWay)] = effect
         return
@@ -412,7 +408,7 @@
 class PyBuff():
     
     def __init__(self, ipyData):
-        self._skillData = ObjPool.GetPoolMgr().acquire(SklllData, ipyData)
+        self._skillData = SklllData(ipyData)
         self._skillID = self._skillData.GetSkillID()
         self._skillTypeID = self._skillData.GetSkillTypeID()
         self._addTiming = 0 # 添加该buff时间点,0-自身回合前;1-自身回合后
@@ -500,9 +496,6 @@
         return
     
     def ClearBuff(self):
-        poolMgr = ObjPool.GetPoolMgr()
-        for buff in self._buffList:
-            poolMgr.release(buff)
         self._buffList = []
         self._buffIDDict = {}
         self._skillTypeIDBuffIDs = {}
@@ -522,7 +515,7 @@
         self._buffID += 1
         
         buffID = self._buffID
-        buff = ObjPool.GetPoolMgr().acquire(PyBuff, ipyData)
+        buff = PyBuff(ipyData)
         buff.SetBuffID(buffID)
         
         self._buffList.append(buff)
@@ -558,8 +551,6 @@
             if not buffIDList:
                 self._skillTypeIDBuffIDs.pop(skillTypeID)
             break
-        if release:
-            ObjPool.GetPoolMgr().release(buff)
         return
     
     def GetBuff(self, buffID):
@@ -645,7 +636,7 @@
     
     def __init__(self, ipyData, objID):
         self._objID = objID # 该技能谁的
-        self._skillData = ObjPool.GetPoolMgr().acquire(SklllData, ipyData)
+        self._skillData = SklllData(ipyData)
         self._skillID = self._skillData.GetSkillID()
         self._skillTypeID = self._skillData.GetSkillTypeID()
         self._remainTime = 0
@@ -754,21 +745,18 @@
         return
     def ClearHurtObj(self):
         ## 清空伤血统计
-        poolMgr = ObjPool.GetPoolMgr()
         for hurtObj in self._hurtList:
             hurtObj.ClearHurtObjEx()
-            poolMgr.release(hurtObj)
         self._hurtList = []
         
         for hurtObjEx in self._hurtListEx:
             hurtObjEx.ClearHurtObjEx()
-            poolMgr.release(hurtObjEx)
         self._hurtListEx = []
         return
     def AddHurtObj(self, tagID, isEx=False):
         ## 添加某个伤血
         # @param isEx: 是否额外伤血
-        hurtObj = ObjPool.GetPoolMgr().acquire(HurtObj)
+        hurtObj = HurtObj()
         hurtObj.SetObjID(tagID)
         if isEx:
             self._hurtListEx.append(hurtObj)
@@ -830,9 +818,6 @@
         return
     
     def SkillReset(self):
-        poolMgr = ObjPool.GetPoolMgr()
-        for skill in self._skillList:
-            poolMgr.release(skill)
         self._skillList = []
         self._skillDict = {}
         return
@@ -865,7 +850,7 @@
             self.__deleteSkill(curSkill)
             
         # 学新技能
-        curSkill = ObjPool.GetPoolMgr().acquire(PySkill, ipyData, self._batObj.GetID())
+        curSkill = PySkill(ipyData, self._batObj.GetID())
         self._skillDict[skillID] = curSkill
         self._skillList.append(curSkill)
         return curSkill
@@ -875,7 +860,6 @@
         self._skillDict.pop(skillID, None)
         if curSkill in self._skillList:
             self._skillList.remove(curSkill)
-        ObjPool.GetPoolMgr().release(curSkill)
         return
     
 class BatObj():
@@ -912,9 +896,9 @@
         self._skillHappenFailCntDict = {} # 技能累计概率触发次数,使用成功后重置 {skillID:failCnt, ...}
         self._skillUseCntDict = {} # 技能累计使用次数 {skillID:useCnt, ...}
         self._skillTurnUseCntDict = {} # 技能单回合累计使用次数 {skillID:useCnt, ...}
-        self._skillMgr = ObjPool.GetPoolMgr().acquire(SkillManager, self)
-        self._buffMgr = ObjPool.GetPoolMgr().acquire(BuffManager, self)
-        self._passiveEffMgr = ObjPool.GetPoolMgr().acquire(PassiveEffManager, self)
+        self._skillMgr = SkillManager(self)
+        self._buffMgr = BuffManager(self)
+        self._passiveEffMgr = PassiveEffManager(self)
         self._lastHurtValue = 0
         self._harmSelfHP = 0 # 自残值
         self._mainTagIDList = [] # 主技能目标ID列表,一般用于技能拆分成多个技能效果时,子技能可能会用到主技能的对象做逻辑
@@ -1240,7 +1224,7 @@
         newObjID = self.__getNewObjID()
         if not newObjID:
             return newBatObj
-        newBatObj = ObjPool.GetPoolMgr().acquire(BatObj)
+        newBatObj = BatObj()
         newBatObj.objID = newObjID
         self.batObjDict[newObjID] = newBatObj
         GameWorld.DebugLogEx("添加战斗单位: objID=%s", newObjID)
@@ -1274,7 +1258,6 @@
         #    turnFight.addBatPack(clientPack)
         
         # 最后回收对象
-        ObjPool.GetPoolMgr().release(batObj)
         if objID not in self._freeIDList: # 回收ID,重复利用
             self._freeIDList.append(objID)
         return
@@ -1298,7 +1281,7 @@
     turnFight = TurnAttack.GetTurnFightMgr().getTurnFight(batObj.GetTFGUID())
     if not turnFight:
         return
-    clientPack = ObjPool.GetPoolMgr().acquire(ChNetSendPack.tagObjInfoRefresh)
+    clientPack = ChNetSendPack.tagObjInfoRefresh()
     clientPack.ObjID = batObj.GetID()
     clientPack.RefreshType = refreshType
     if isBig:

--
Gitblit v1.8.0