예제 #1
0
 public PhoneApp(PhoneAppIcon appIcon, string appName, Type appHandler = null, bool disabled = false)
 {
     AppIcon    = appIcon;
     AppName    = appName;
     AppHandler = appHandler;
     Disabled   = disabled;
 }
예제 #2
0
        public async Task OnTick()
        {
            await Task.FromResult(0);

            for (int i = 0; i < 9; i++)
            {
                PhoneAppIcon appIcon = PhoneAppHolder.Apps[i].AppIcon;
                if (PhoneAppHolder.Apps[i].Disabled)
                {
                    appIcon = PhoneAppIcon.APP_EMPTY;
                }
                phoneScaleform.CallFunction("SET_DATA_SLOT", 1, i, (int)appIcon);
            }

            phoneScaleform.CallFunction("DISPLAY_VIEW", 1, selected);
            phoneScaleform.CallFunction("SET_HEADER", PhoneAppHolder.Apps[selected].Disabled ? "" : PhoneAppHolder.Apps[selected].AppName);

            phoneScaleform.CallFunction("SET_SOFT_KEYS", (int)PhoneSelectSlot.SLOT_RIGHT, true, (int)PhoneSelectIcon.ICON_BACK);
            phoneScaleform.CallFunction("SET_SOFT_KEYS", (int)PhoneSelectSlot.SLOT_LEFT, true,
                                        PhoneAppHolder.Apps[selected].Disabled ? (int)PhoneSelectIcon.ICON_BLANK : (int)PhoneSelectIcon.ICON_SELECT);

            bool pressed = false;

            if (Game.IsControlJustPressed(0, Control.PhoneUp))
            {
                Navigate(PhoneInputDirection.UP);
                pressed = true;
            }
            else if (Game.IsControlJustPressed(0, Control.PhoneRight))
            {
                Navigate(PhoneInputDirection.RIGHT);
                pressed = true;
            }
            else if (Game.IsControlJustPressed(0, Control.PhoneDown))
            {
                Navigate(PhoneInputDirection.DOWN);
                pressed = true;
            }
            else if (Game.IsControlJustPressed(0, Control.PhoneLeft))
            {
                Navigate(PhoneInputDirection.LEFT);
                pressed = true;
            }
            else if (Game.IsControlJustPressed(0, Control.PhoneSelect))
            {
                if (!PhoneAppHolder.Apps[selected].Disabled)
                {
                    PhoneAppStarter.InitApp((IPhoneApp)Activator.CreateInstance(PhoneAppHolder.Apps[selected].AppHandler));
                }
                pressed = true;
            }
            else if (Game.IsControlJustPressed(0, Control.PhoneCancel))
            {
                PhoneStarter.StopPhone();
            }

            if (pressed)
            {
                Audio.ReleaseSound(Audio.PlaySoundFrontend("Menu_Navigate", "Phone_SoundSet_Default"));
            }
        }