TWCleaner master READ ONLY 0
  • explorer
  • search
a [App]
a CG.TWCleaner
a README.md
a app.ts
a [Test]
a test
  • README.md

TWCleaner

本專案的目的是清理 TwilightWarsLib 在遊玩過程中產生的物件,載入就會生效。
如有任何問題可在Discord群組詢問。

參數及功能

const config: {
    // 預設為 true
    // 在遊戲結束後,是否要將 Game local 的參考移除(實作方法有風險,遊戲模組更新後可能會失效)
    clearGameLocalCache: boolean,

    // 預設為 true
    // 在遊戲結束時,是否要將 Actor local message index registry 對 Game 的參考移除(實作方法有風險,遊戲模組更新後可能會失效)
    clearActorLocalMsgIndexReg: boolean,

    // 預設為 false
    // 在遊戲結束後,是否取消將遊戲過程中透過 CG.Base.resourceManager.createGAFMovieClip() 產生的 GAF.GAFMovieClip 物件銷毀
    donotCleanGAFMovieClip: boolean,

    // 預設為 false
    // 是否印出 debug log
    showGCMessage: boolean
}

// 執行此 function 可避免透過 CG.Base.resourceManager.createGAFMovieClip() 產生的 GAF.GAFMovieClip 物件在遊戲結束後被銷毀
function markNotClean(obj: GAF.GAFMovieClip): void

// 執行此 function 可刪除 Actor local message index registry 的 key(實作方法有風險,遊戲模組更新後可能會失效)
function deleteActorMessageTableKey(key: string): void

// 只有在參數 showGCMessage 為 true 時才會被執行
// 執行此 function 可在 obj 被 GC 時,在 Console 印出 name log
function showGCMessage(name: string, obj: any): void

清理項目

  1. 銷毀遊戲過程中產生的 GAF
    • 在遊戲結束後,銷毀遊戲過程中透過 CG.Base.resourceManager.createGAFMovieClip() 產生的 GAF.GAFMovieClip 物件
  2. 清除 Game local 的參考
    • 在遊戲結束後,清除 Game local 中的 instance 參考,使得可以不需要等下一場遊戲開始才能釋放 Game
  3. 清除 Actor local 中的 message index registry 對 Game 的參考
    • 在遊戲結束時,清除 Actor local 中的 message index registry 對 Game 的參考(Game 本身發出訊息或是死亡進入觀戰時就會殘留)
  4. 釋放 Pool 中的物件
    • 在遊戲過程中釋放 Pool 中的物件,避免存在過多的顯示物件
  5. 銷毀 ArmorBoard
    • 補上在遊戲結束後 game.ui.dispose() 中沒有呼叫的 this.armorBoard.dispose()
  6. 銷毀 SlideBoard 中可能的 clip
    • 銷毀在遊戲結束後,SlideBoard 的 subclasses 可能存在的 this.clip
  7. 清除 WatcherController, BugParasiteNetwork 對 Game 的參考
    • 這些 class 在各自的 local 中都會保留 instance 參考,因此在 dispose() 時清除它們對 Game 的參考
  8. 避免 CG.TWLibLib.libs.openDialogWithTabManager() 中的 React cache 保留對 Game 的參考
    • 替換掉參數 options.onClose 以解除 React component 中對 props 的參考間接保留對 Game 的參考

Authors

EnhProject
- 不會取名字
- 雪姬

READ ONLY
  • problem
  • console
No problems have been detected so far.
Ln 1, Col 1, Sel 0
Markdown