Unity如何處理lua熱過載

2022-06-22 20:57:08 字數 779 閱讀 1506

git上已經有人做出了現成的方案,拿來即用。

如果在unity中使用需要檢測lua檔案的修改,通過以下**進行:

using

unityengine;

using

unityeditor;

public

class

luafastprocessor : assetpostprocessor

}}@"}

return filenamelist");

file.writealltext(path,sb.tostring());

if(xluamanager.instance.luaenvins!=null

) xluamanager.instance.luaenvins.dostring(

string

.format(hot_fix_str));}}

}

我們通過繼承assetpostprocessor來監測lua檔案修改。當修改的時候,我們找到哪些地方進行了修改,並寫入到hotupdatelistt檔案中。

最後在call一次lua中的luahotupdate指令碼的update方法,指令碼可以從上面git鏈結下到。

這裡我用了git中的支援lua5.3的指令碼,記得在lua的入口呼叫一次 luahotupdate.init()方法。

主要原理就是package.loaded中拿到已經載入的資訊,然後找到並load新的指令碼並進行table的replace,具體如何replace請參照git中的**。

Unity熱更新02 Lua基礎 01 Lua變數

print 變數 lua當中的簡單變數型別 nil number string boolean lua中所有的變數申明 都不需要申明變數型別 他會自動的判斷型別 類似c 裡面的 var lua中的乙個變數 可以隨便賦值 自動識別型別 通過 type 函式 返回值時string 我們可以得到變數的型別...

如何處理DDoS

ddos 簡述 ddos是分布式拒絕服務 distributed denial of service 的英文縮寫,其 方式通常是利用很多受 者控制的 殭屍主機 向目標主機傳送大量看似合法的資料報,從而造成主機資源被耗盡或網路被堵塞,導致主機無法繼續正常提供服務。ddos通常可以分為兩類,即資源耗費式...

如何處理DDoS

ddos 簡述 ddos是分布式拒絕服務 distributed denial of service 的英文縮寫,其 方式通常是利用很多受 者控制的 殭屍主機 向目標主機傳送大量看似合法的資料報,從而造成主機資源被耗盡或網路被堵塞,導致主機無法繼續正常提供服務。ddos通常可以分為兩類,即資源耗費式...