public void RegistPlatHandler(IPlatHandler platHandler, params IButtonHandler[] btnHandlers) { int id = platHandler.ID; if (hasPlatHandler(id)) { RemovePlatHandler(id); Debug.Log("[Orange]覆蓋已存在之PlatHandler ID = " + platHandler.ID); } platHandlerList.Add(platHandler.ID, platHandler); platHandler.Initialize(this, btnHandlers); }
public void RemovePlatHandler(int id) { if (!hasPlatHandler(id)) { throw new KeyNotFoundException("企圖移除不存在的PlatHandler"); } IPlatHandler plat = platHandlerList[id]; platHandlerList.Remove(id); if (!plat.isTerminate) { plat.Terminate(); } }
public IPlatHandler[] GetAllPlatHandler() { IPlatHandler[] result = new IPlatHandler[platHandlerList.Count]; int index = 0; foreach (var plat in platHandlerList) { if (hasPlatHandler(plat.Key)) { result[index] = plat.Value; index++; } } return(result); }
public void Initialize(IPlatHandler platHandler) { if (!isInitialize) { _platHanglder = platHandler; _isInitialize = true; _isTerminated = false; _isEnable = false; _currentState = ButtonState.NORMAL; if (onInitialize != null) { onInitialize(this, new EventArgs()); } log += string.Format("Initialize()\n{0}\n\n", Utilty.CallStack()); } else { log += string.Format("Initialize()\n然而早已Init過\n{0}\n\n", Utilty.CallStack()); } }
public void RegistPlatHandler(IPlatHandler platHandler) { throw new NotImplementedException(); }
public void Initialize(IPlatHandler handler) { initizlie++; }