Esempio n. 1
0
    /// <summary>
    /// Mouse event processing, will be override for new requirement
    /// </summary>
    /// <param name="eventType"></param>
    void OnCameraCharacterEvent(CameraCharacter.InteractionEventType eventType)
    {
        switch (eventType)
        {
        case CameraCharacter.InteractionEventType.MouseHoverOut:
            mouseHovered = false;
            break;

        case CameraCharacter.InteractionEventType.MouseHoverIn:
            mouseHovered = true;
            break;

        case CameraCharacter.InteractionEventType.MouseClickDown:
            if (manager == null)
            {
                break;
            }
            if (locked == false && manager.status == BlockCombinationStatus.Divide)
            {
                GlobalEventManager.SendEvent("BlockClicked-" + blockName);
                manager.SetFocusBlockIndex(blockName);
                manager.ForwardTransform();
            }
            else if (manager.status == BlockCombinationStatus.Combine || manager.status == BlockCombinationStatus.CombineInsidePreview)
            {
                if (manager.CommandQueueLenght == 0)
                {
                    manager.ForwardTransform();
                }
            }
            break;

        default: break;
        }
    }
    void OnClickHandler(CameraCharacter.InteractionEventType eventType)
    {
        if (locked || !ActiveInCurrentMode)
        {
            return;
        }

        if (hintType == HintType.Indicator && !IndicatorStatus && detectableRange != 0f)
        {
            return;
        }


        switch (eventType)
        {
        case CameraCharacter.InteractionEventType.MouseClickDown:
            GlobalEventManager.SendEvent(clickEvent);
            if (!hasClicked)
            {
                hasClicked = true;
                if (hintType == HintType.Indicator && indicatorImage != null)
                {
                    indicatorImage.GetComponentInChildren <PlayMakerFSM>().enabled = false;
                    indicatorImage.rectTransform.localScale = new Vector3(1f, 1f, 1f);
                }
            }
            if (focusWhenClicked)
            {
                CameraCharacter.Singleton.RotateTo(transform);
            }
            if (UIFsm)
            {
                UIFsm.SendEvent("FadeIn");
            }
            if (killWhenClicked)
            {
                Destroy(gameObject);
            }

            break;

        case CameraCharacter.InteractionEventType.MouseHoverIn:
            //SetHighlight();
            break;

        case CameraCharacter.InteractionEventType.MouseHoverOut:
            SetNormal();
            break;

        default: break;
        }
    }