void StopLocalService()
 {
     if (localService != null)
     {
         localService.Close();
         localService = null;
     }
 }
        void RunLocalService()
        {
            if (localService == null)
            {
                localService        = new LocalCombatManagerService(MainUI.CombatState, (ushort)MobileSettings.Instance.LocalServicePort, MobileSettings.Instance.LocalServicePasscode);
                localService.HPMode = Character.HPMode.Default;
                localService.StateActionCallback = act =>
                {
                    InvokeOnMainThread(act);
                };
                localService.UIActionTaken += (sender, e) =>
                {
                    InvokeOnMainThread(() =>
                    {
                        switch (e.Action)
                        {
                        case LocalCombatManagerService.UIAction.BringToFront:
                            break;

                        case LocalCombatManagerService.UIAction.Minimize:

                        case LocalCombatManagerService.UIAction.Goto:
                            UIGoto((String)e.Data);
                            break;

                        case LocalCombatManagerService.UIAction.ShowCombatListWindow:
                            break;

                        case LocalCombatManagerService.UIAction.HideCombatListWindow:
                            break;
                        }
                    }
                                       );
                };
                localService.Start();
            }
        }