原创 android studio生成jar包導入Unity使用

發現網上寫這個的還是比較多的,但很多因爲android studio版本不一致的原因,有些內容零零碎碎的,這裏自己總結一下,方便以後再用到。 這裏附上我借鑑的鏈接,其中有幾個地方需要更正一下。 https://www.jianshu.co

原创 XLua學習---LuaEnv加載lua腳本的幾種方式

LuaEnv.Dostring()參數內爲一個字符串,確切說是一個符合lua語法的字符串。在此寫幾種不同類型的加載方法。 首先聲明    LuaEnv env=new LuaEnv(); 1.最基本lua語言 env.Dostring(

原创 XLUA學習--C#訪問Lua全局函數

上一篇講到了通過接口的形式,可以訪問表內部的函數,那如果這個方法是一個全局的函數,就是這篇博客要講解的。 先上Lua中的代碼。 function TestOne() print('no parm') end function Te

原创 unity編輯器擴展--自定義Scene界面UI

本文講的是在編輯狀態下,對Scene界面的一些UI操作。作用在於地編,或者把一些繁瑣的東西做個編輯界面給策劃自己去設計。先上效果圖: 首先,在場景任意物體上掛上你的MONO腳本,具體腳本實現什麼功能自行設計。 這裏我們簡單在燈光下面掛一

原创 XLUA --隨機數問題

首先看一下C#中的方法 [Hotfix] public class HotFixMgr { private int m_Num; private void GetSeed() { m_Num=Rando

原创 lua學習筆記--最基本知識點

1.print print("hello wold") 2.註釋 --單行註釋   --[[  --]]多行註釋 3.標誌符 Lua 標示符用於定義一個變量,函數獲取其他用戶定義的項。標示符以一個字母 A 到 Z 或 a 到 z 或下劃線

原创 C# int?

今天看到一面試題,如下: 關於int?p1;以下說法正確的是: A:p1不可以等於0                        B:p1可以代表非int類型 C:  p1可以等於null                        

原创 C# 循環調用問題解決(interface方案)

寫代碼都會要求高密度,低耦合,儘量避免循環引用的出現。曾經面試時,有一道面試題是這樣的,如果A引用B,B引用C,C又引用A,怎麼解決這種循環引用?如圖: 這也是今天寫這個的原因,個人思路爲把環狀拆分爲一條直線,也就是讓A持有B,B持有C

原创 unity編輯器擴展--Inspector自定義編輯

UnityEditor可以說是一個挺龐大的領域了,平時更注重上線開發,對於編輯這塊兒知之甚少。這裏暫不繫統地去研究,簡單去實現幾個常用的功能。 1.讓一個公共普通類型變量在編輯界面顯示,但不允許修改。 這裏爲的是在編輯界面能更直觀的查看

原创 c#通過反射實現單例模式

常見的單例模式爲: 不繼承MONO: public class Singleton{ private static Singleton m_instance; public static Singleton Insta

原创 LUA學習--Hotfix

HotFix相當於對已寫好的腳本做一個打補丁的操作。 首先,需要在發佈前對可能會修改的類前面添加[Hotfix]標識。然後在類中對於要修改的方法前添加[LuaCallCSharp]標識。至於後面這個標識,發現在編輯器模式下是可以不加的,類

原创 能用foreach遍歷訪問的對象需要實現____接口或聲明____方法的類型

之前面試看到一個這樣的筆試題,當時只知道List和Dictionary類型可以用foreach遍歷,但他兩也沒什麼共同點啊。List是有序的,但Dictionary是無序的。回來在網上查了下才發現,他們都實現了IEnumerable接口,

原创 Unity 動態合批---Dynamic batch

最近研究自身項目發現,場景中DrawCall出奇的高,結果發現項目中的草模型Unity自動進行了批處理,而花模型卻沒能批處理。也就是一個花,就增加了一個Drawcall.於是有了下面對DC的研究。先附上能動態合批的條件: 1.動態批處理僅

原创 unity Profiler安卓端真機調試(操作正確就是不能調試,終於爬坑)

花了一天的時間終於搞定了安卓端Profiler的調試。之前整過,可以直接運行,今天發現相同的操作,就是不能正確調試。特寫上爬坑經歷。前面內容和網上寫的完全一樣,熟練的人可以略過,不熟練的按着前面的先來。 1.Unity端設置 2.C

原创 XLua學習---C#訪問Lua(變量,表,函數)

首先通過LuaEnv.Dostring()獲取到Lua中的內容。然後通過LuaEnv.Global.Get<T>方法可以對其中的屬性進行獲取。    LuaEnv env=new LuaEnv();         env.DoStrin