之前寫了乙個計時器,用乙個單例 timemanager 中的乙個儲存委託的字典,在update反覆執行實現,呼叫方法註冊實現,倒計時為0時呼叫委託,同時從字典中移除,登出沒有想到好方法,湊合著先用。
這兩天需要乙個技能流程配置,我的技能可能會有衝刺後攻擊,也可能只有衝刺,也可能只有攻擊。如果分別在物件上寫 if 各自管理流程,**排版看著很難受,需要加很多標記變數。所以在 timemanager 中新建乙個儲存委託的列表的字典,也是在 update 中反覆執行,呼叫方法註冊,委託返回 bool,當為true時下一幀依舊執行當前委託,當為 false 的時候委託結束,刪除當前委託,下一幀進入下乙個委託。乙個列表中的所有委託都執行結束之後,在字典中刪除本條流程列表,乙個流程就這樣執行結束。
public class timemanager : monosingleton
/// /// 跑流程列表
///
private void runprocess()
else if (_list[0] != null)}}
else}}
else if (m_processdict == null)
}/// /// 註冊流程列表
///
///
///
public int addprocesslist(listprocesslist)
m_processdict.add(processindex, processlist);
processindex++;
return processindex;
}/// /// 移除流程列表
///
///
public void removeprocesslist(int processindex)
if (m_processdict.containskey(processindex))
}/// /// 倒計時
///
private void countdown()
else if (timeeventarr[i] != null)
else}}
else if (m_countdowndict == null)
}/// /// 新增計數器事件
///
/// 時間
/// 事件
public void addcountdownevent(timeevent timeevent, float counttime)
// todo 新增失敗需要丟擲異常
if (!m_countdowndict.containskey(timeevent))
}/// /// 移除計數器事件
///
/// 事件
public void removecountdownevent(timeevent timeevent)//, string objectname)
// todo 移除失敗需要丟擲異常
if (m_countdowndict.containskey(timeevent))
}}// 如果返回值為 false 則該流程結束,進入下一流程
public delegate bool processevent();
// 計數器事件
public delegate void timeevent();
常見時間管理工具
時間管理有很多種方法和系統,而getting things done gtd 就是其中一套行之有效,也是現在最受歡迎的系統。gtd翻譯過來就是 把事情做完 gtd的核心理念概括一句話,就是 你必須記錄下來你要做的事,然後整理安排自己一一去執行了。gtd的五個核心原則是 收集 整理 組織 回顧 執行。...
開源伺服器管理工具 3個開源時間管理工具
開源伺服器管理工具 對於許多人來說,他們引用使用基於linux的作業系統的原因之一就是生產力。如果您是只根據自己的喜好對系統進行了調整的超級使用者,尤其是如果您熟練使用命令列,則很有可能已經實現了生產率的顯著提高。但是,您是否必須成為極端使用者才能利用開放源 軟體的能力來提高生產率?絕對不!除了生產...
高效時間管理工具之四象限法則
生活中的我們每天都忙得不知所以然,面對撲面而來的一堆事情,你會選擇怎麼去做?或許是先來先服務,每一件事情不分先後都做,或許是分析每一件利弊去做 下面由我來給大家介紹一種高效的時間管理法則 四象限法則 之前就看過,但是記得模模糊糊,生活之中偶爾會用到 今天算是正式為他正名,把他介紹給大家 這是我自己畫...