實現遊戲內動態邏輯(一)

最近在做卡牌遊戲,實現一個遊戲的邏輯動態更新。看了一下網上的相關資料,發現lua非常合適。

lua在遊戲領域應用非常廣泛,著名的《魔獸世界》就是用lua做內容更新的。

目前項目使用的引擎是unity所以去查閱了關於unity的lua資料。騰訊的xlua是目前主流的unity上的lua框架。

關於如何部署xlua我就囉嗦了,騰訊官網在github上有詳細的教程和文檔。

官方源碼和教程GitHub鏈接:重要鏈接

開始說一下我的實現思路

1、每一個技能數據類,除去部分技能保有數據外,還有一個lua邏輯的字符串變量。

2、每個技能實例都有遊戲內技能能監聽的委託實例綁定[XLua.CSharpCallLua]

3、創建技能時luaenv.DoString(skill.luaText)

4、技能綁定時,委託實例 += luaenv.Global.Get<委託類型>(委託實例名)

5、在技能中的lua邏輯的字符串,就是這個技能的邏輯部分,想監聽一個技能直接 "funtion 委託實例名  ...   end"就可以了。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章