Esempio n. 1
0
    public void Activate(MadLevelIcon icon)
    {
        if (activeIcon != null && icon != activeIcon)
        {
            DeactivateActiveIcon();
        }

        activeIcon = icon;

        switch (twoStepActivationType)
        {
        case TwoStepActivationType.Disabled:
            if (!icon.locked)
            {
                icon.LoadLevel();
            }
            break;

        case TwoStepActivationType.OnlyOnMobiles:
            if (SystemInfo.deviceType == DeviceType.Handheld)
            {
                if (!icon.hasFocus)
                {
                    icon.hasFocus = true;
                    if (onIconActivate != null)
                    {
                        onIconActivate(icon, icon.level.name);
                    }
                }
                else if (!icon.locked)
                {
                    icon.LoadLevel();
                }
            }
            else if (!icon.locked)
            {
                icon.LoadLevel();
            }
            break;

        case TwoStepActivationType.Always:
            if (!icon.hasFocus)
            {
                icon.hasFocus = true;
                if (onIconActivate != null)
                {
                    onIconActivate(icon, icon.level.name);
                }
            }
            else if (!icon.locked)
            {
                icon.LoadLevel();
            }
            break;

        default:
            Debug.LogError("Uknown option: " + twoStepActivationType);
            break;
        }
    }
Esempio n. 2
0
    // second tier of icon activation. Will go through loadLevel condition
    private IEnumerator Activate2nd(MadLevelIcon icon)
    {
        switch (loadLevel)
        {
        case LoadLevel.Immediately:
            icon.LoadLevel();
            break;

        case LoadLevel.WithDelay:
            yield return(new WaitForSeconds(loadLevelLoadLevelDelay));

            icon.LoadLevel();
            break;

        case LoadLevel.SendMessage:
            if (loadLevelMessageReceiver == null)
            {
                Debug.LogError("No send message receiver", this);
                break;
            }

            if (string.IsNullOrEmpty(loadLevelMessageName))
            {
                Debug.LogError("No sent message name", this);
                break;
            }

            if (loadLevelMessageIncludeChildren)
            {
                loadLevelMessageReceiver.BroadcastMessage(loadLevelMessageName, icon);
            }
            else
            {
                loadLevelMessageReceiver.SendMessage(loadLevelMessageName, icon);
            }
            break;

        case LoadLevel.DoNotLoad:
            // don't do anything
            break;

        default:
            Debug.LogError("Unknown LoadLevel option: " + loadLevel);
            break;
        }
    }
Esempio n. 3
0
    // second tier of icon activation. Will go through loadLevel condition
    private IEnumerator Activate2nd(MadLevelIcon icon) {
        switch (loadLevel) {
            case LoadLevel.Immediately:
                icon.LoadLevel();
                break;

            case LoadLevel.WithDelay:
                yield return new WaitForSeconds(loadLevelLoadLevelDelay);
                icon.LoadLevel();
                break;

            case LoadLevel.SendMessage:
                if (loadLevelMessageReceiver == null) {
                    Debug.LogError("No send message receiver", this);
                    break;
                }

                if (string.IsNullOrEmpty(loadLevelMessageName)) {
                    Debug.LogError("No sent message name", this);
                    break;
                }

                if (loadLevelMessageIncludeChildren) {
                    loadLevelMessageReceiver.BroadcastMessage(loadLevelMessageName, icon);
                } else {
                    loadLevelMessageReceiver.SendMessage(loadLevelMessageName, icon);
                }
                break;

            default:
                Debug.LogError("Unknown LoadLevel option: " + loadLevel);
                break;
        }
    }