Example #1
0
    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);
    }
Example #2
0
    public void RemovePlatHandler(int id)
    {
        if (!hasPlatHandler(id))
        {
            throw new KeyNotFoundException("企圖移除不存在的PlatHandler");
        }
        IPlatHandler plat = platHandlerList[id];

        platHandlerList.Remove(id);
        if (!plat.isTerminate)
        {
            plat.Terminate();
        }
    }
Example #3
0
    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);
    }
Example #4
0
 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());
     }
 }
Example #5
0
 public void RegistPlatHandler(IPlatHandler platHandler)
 {
     throw new NotImplementedException();
 }
Example #6
0
 public void Initialize(IPlatHandler handler)
 {
     initizlie++;
 }