原创 Editor------------------Editor

Editor總覽 Editor類是自定義Editor的基類。它派生自ScriptableObject。 1、變量 serializedObject 序列化對象,代表被Inspector的對象 target 被Inspector的對象

原创 設計模式六大原則----------依賴倒置原則

設計模式總覽 依賴倒置原則(Dependence Inversion Principle) 該原則規定: ①高層模塊不依賴低層模塊。兩者都應該依賴抽象接口 ②抽象不能依賴具體。而具體應該依賴抽象接口 此原則的目的是爲了實現解耦。將依

原创 設計模式------------簡單工廠

設計模式總覽 /* 從設計模式的類型上來說,簡單工廠模式是屬於創建型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬於23種GOF設計模式之一。簡單工廠模式是由一個工廠對象決定創建出哪一種產品類

原创 設計模式------------訪問者模式

設計模式總覽 先從例子開始: 需求:現有Item類接口IItem和其具體類Item_A,Item_B,Item_C。若我們想給Item添加功能,則可以這樣:(不是訪問者模式) 每個Visitor都是一個新的功能。這樣要拓展Item只

原创 設計模式六大原則----------接口隔離原則

設計模式總覽 接口隔離原則: 1、使用多個專用接口比一個龐大的接口好 2、類之間的依賴建立在最小接口上 實例分析現要實現一個系統:有查詢功能,新建記錄功能,修改記錄功能。對於不同的用戶,使用權限也不同,一般用戶只能查詢,會員能新建記錄

原创 多線程(c++11)------條件變量

什麼是條件變量? 條件變量是一種同步機制,允許線程掛起,直到共享數據上的某些條件得到滿足。條件變量上的基本操作有:觸發條件(當條件變爲 true 時);等待條件,掛起線程直到其他線程觸發條件。條件變量要和互斥量相聯結,以避免出現條件競爭

原创 8、vim c#開發工具 ---- Omnisharp

Omnisharp是一款用於c#開發的vim插件。他是NRefactory的縮小版 特性:     * 代碼補全     * 跳轉到定義(類型,變量,方法)     * 查找類型/標識符(需要CtrlP插件支持)     * 查看 接口

原创 do{} while(0)

do { // do sth } while(0) 在c++開源庫中,do{}while()語法隨處可見,可見其非常重要!!!!那麼,什麼原因讓其變得如此重要呢? 從例子看起: 普通版: #define Test()\

原创 7、vim插件管理器-----vundle

vundle是一款vim插件管理器,名字來源於vim bundle的縮寫。 vundle的神奇功效:     通過.vimrc來配置插件     安裝插件     更新插件     根據名字來搜索插件     清除不用的插件     通過

原创 5、ubuntu下好用的截圖工具

ubuntu下非常好用的截圖工具scrot。 可以通過apt-get直接安裝 功能: 1、截屏    scrot 2、截取某個窗口 scrot -b 3、截取某區域 scrot -s 4、截取某個鼠標選中的窗口 scrot -sb。然後

原创 簡單的事件回調機制

簡單的事件回調機制用途:以回調的形式處理事件,比如:處理按鈕點解事件,處理登陸事件等思路:1、回調函數形式 std::function<void(Event* e)>2、回調函數存儲 std::unord

原创 4、ununtu14.04 NVIDIA顯卡驅動

折騰顯卡驅動,害我重裝了N次系統!!!!每次裝完驅動,系統就什麼也不顯示了,只顯示一張背景圖,其他的按鈕,圖表什麼的全部都沒了!!!! 網上搜了一大堆東西,全都沒用!!!最後發現,ubuntu14.04本身就能檢測顯卡,推薦最佳驅動!

原创 unity-----函數執行順序

Award –> OnEnable à 返回調用函數  à  Star à 下一幀à Update à OnDisable -> OnDestory 測試: 有一個prefab 叫mono,其上幫有一個腳本 MonoTest。momo

原创 設計模式六大原則----------總結

設計模式總覽 六大原則中, 開閉原則是最終目的,對修改關閉,對拓展開放! 爲了實現開閉原則,需要依賴倒置來解耦。將所有依賴儘量建立在抽象接口上。 僅僅依靠依賴倒置,還無法將耦合粒度降到最低,這時要藉助迪米特法則、接口隔離原則、單一職責來

原创 stl俺以前沒注意到的事----map插入方法

map不同的插入方法 mapTest.insert(mapTest::value_type(key, val)) mapTest.insert(make_air(key, val)) mapTest[key] = val 三種插入