public void Push(IViewObject obj) { AddDictIfNotContains(obj.GetType()); _viewObjectPoolDict[obj.GetType()].Push(obj); OnPushed(obj); }
public void Push(IViewObject viewObject) { if (viewObject == null) { return; } Assert.IsTrue(viewObject.GetType().Equals(ViewType)); // viewObject.OnDestroyed.Remove(Remove); viewObject.OnDestroyed.Add(Remove); viewObject.OnUnbinded.Remove(OnViewObjectUnbinded); base.Push(viewObject); }
/// <summary> /// 使用しているModelと自身の型の名前を返します。 /// </summary> /// <param name="viewObject"></param> /// <returns></returns> public static string GetModelAndTypeName(this IViewObject viewObject) { return($"(Model:ViewType)=>{viewObject.UseModel}:{viewObject.GetType().FullName}"); }
public virtual void Attach(IViewObject viewObject) { Assert.IsTrue(viewObject is MonoBehaviour, $"The ViewObject that this class is attached is not MonoBehaviour... viewObj Type={viewObject.GetType()}"); Target = viewObject; }