Example #1
0
    public void ReceiveEventMessage(EventMessage message)
    {
        switch (message.m_MessageType)
        {
        case EventMessage.MessageType.IS_ACTIVE:
            IsActive = message.m_BoolParam;
            break;

        case EventMessage.MessageType.IS_GROWING:
            m_Renderer.IsGrowing = message.m_BoolParam;
            break;

        case EventMessage.MessageType.IS_SHAKING:
            m_Renderer.IsShaking = message.m_BoolParam;
            break;

        case EventMessage.MessageType.IS_LOCK:
            IsLock = message.m_BoolParam;
            break;

        case EventMessage.MessageType.SPAWN_TILE:
            if (Type == TileType.EMPTY)
            {
                TileDatas newDatas = BoardManager.Instance.Spawner.GetDataOfType(message.m_TileTypeParam);
                Init(newDatas, m_GridPosition);
                Type       = newDatas.m_TileType;
                m_IsActive = true;
                BoardManager.Instance.Board.SetNewTile(this, (int)m_GridPosition.x, (int)m_GridPosition.y);
            }
            break;

        case EventMessage.MessageType.SWITCH_FACE:
            m_FaceManager.SwitchFace(message.m_FaceTypeParam);
            break;

        case EventMessage.MessageType.ACTIVATE_ON_MOUSE_OVER:
            if (IsActive && !IsEventMouseOver)
            {
                IsEventMouseOver = true;
                m_OnMouseOver.Invoke();
            }
            break;

        case EventMessage.MessageType.ACTIVATE_ON_MOUSE_EXIT:
            m_OnMouseExit.Invoke();
            break;

        case EventMessage.MessageType.FLEE:
            break;
        }
    }