// 将AB加载到硬盘 将配置文件加载到内存 public void InitAssetsBundle() { var path = ""; var www = WWW.LoadFromCacheOrDownload(path, VersionManager.Instance.GetLocalVersion(VersionType.Resource)); m_wwws.Add(UNWWW.New(www)); }
public T CreateObject <T>() where T : UNObject, new() { if (m_objs.TryGetValue(typeof(T), out m_objGetList)) { for (int i = 0; i < m_objGetList.Count; ++i) { if (m_objGetList[i].m_state == UNObjectStateType.Alive) { continue; } m_objGetList[i].m_state = UNObjectStateType.Alive; return(m_objGetList[i] as T); } T obj = new T(); obj.m_state = UNObjectStateType.Alive; m_objGetList.Add(obj); return(obj); } else { T obj = new T(); obj.m_state = UNObjectStateType.Alive; var objList = new UNList <UNObject>(); objList.Add(obj); m_objs.Add(typeof(T), objList); return(obj); } }
public void AddBehaviorImmediate(UNBehaviorType bType, int priority = 0, UNBehaviorStateType bState = UNBehaviorStateType.Wait, UNBehaviorChangeStateCallBack cbBeforeChange = null, UNBehaviorChangeStateCallBack cbAfterChange = null) { m_cbsBeforeBehaviorChange.Add(cbBeforeChange); m_cbsAfterBehaviorChange.Add(cbAfterChange); if (m_curBehavior.IsNull()) { m_curBehavior = UNBehavior.New(); m_curBehavior.ResetToBehavior(bType, priority, bState, m_cbsBeforeBehaviorChange, m_cbsAfterBehaviorChange); } else { m_curBehavior.ChangeToState(UNBehaviorStateType.Finish); m_curBehavior.ResetToBehavior(bType, priority, bState, m_cbsBeforeBehaviorChange, m_cbsAfterBehaviorChange); } m_curBehavior.ChangeToState(UNBehaviorStateType.Execute); }
public void DispatchEvent(EventType type, object[] pars) { UNList <object[]> objs = null; if (!m_triggers.TryGetValue(type, out objs)) { objs = UNList <object[]> .New(); m_triggers.Add(type, objs); } objs.Add(pars); }
public void AddEventListener(EventType type, EventCallBack cb) { UNList <EventCallBack> cbs = null; if (!m_listeners.TryGetValue(type, out cbs)) { cbs = UNList <EventCallBack> .New(); m_listeners.Add(type, cbs); } cbs.Add(cb); }
public void AddBehaviorsTransRule(UNBehaviorType fromType, UNBehaviorType toType) { UNList <UNBehaviorType> fromList = null; if (m_behaviorsTransRules.ContainsKey(toType)) { if (!m_behaviorsTransRules[toType].Contains(fromType)) { fromList = m_behaviorsTransRules[toType]; } } else { fromList = UNList <UNBehaviorType> .New(); } if (fromList != null) { fromList.Add(fromType); } AddBehaviorsTransRule(fromList, toType); }
public void AddWaitBehavior(UNBehavior behavior) { m_behaviorsWaitForExecute.Add(behavior); }