コード例 #1
0
ファイル: OutBound.cs プロジェクト: Bayonetta5/Solution
        public static void DeleteCharacter()
        {
            DeleteCharacter P = new DeleteCharacter
            {
                CharacterIndex = MirScenes.SceneFunctions.DeleteIndex,
            };

            Network.Enqueue(P);
        }
コード例 #2
0
 public void CheckForDeletedCharacters()
 {
     for (int n = 0; n < Characters.Count; n++)
     {
         if (CanDelete(n))
         {
             // Invoca o evento e remove o personagem.
             DeleteCharacter?.Invoke(Characters[n].AccountId, Characters[n].CharacterId);
             // Remove da lista?
             Characters.RemoveAt(n);
         }
     }
 }
コード例 #3
0
ファイル: Client.cs プロジェクト: homiedopie/SharpFly
        public void OnDeleteCharacter(IncomingPacket packet)
        {
            DeleteCharacter request = new DeleteCharacter(packet);

            Account account = ClusterServer.LoginDatabase.Accounts[this.Username];

            if (request.Password == request.PasswordConfirmation)
            {
                CharacterSlot slot = ClusterServer.ClusterDatabase.CharacterSlots.FirstOrDefault(s => s.CharacterId == request.CharacterId && s.AccountId == account.Id);
                if (slot != null)
                {
                    ClusterServer.ClusterDatabase.DeleteCharacterSlot(slot);
                    SharpFly_Utility_Library.Database.ClusterDatabase.Queries.CharacterSlot.Instance.DeleteCharacterSlot(slot);
                }
            }

            SendCharacterList(0);
        }
コード例 #4
0
        public MainPage()
        {
            MAINPAGE = this;

            ApplicationViewTitleBar titleBar = ApplicationView.GetForCurrentView().TitleBar;

            titleBar.BackgroundColor               = Colors.Black;
            titleBar.ForegroundColor               = Colors.White;
            titleBar.ButtonBackgroundColor         = Colors.Black;
            titleBar.ButtonForegroundColor         = Colors.White;
            titleBar.InactiveBackgroundColor       = Colors.Black;
            titleBar.InactiveForegroundColor       = App.Colors.BUTTON_CLICK.Color;
            titleBar.ButtonInactiveBackgroundColor = Colors.Black;
            titleBar.ButtonHoverBackgroundColor    = App.Colors.BUTTON_IDLE_LEFT.Color;
            titleBar.ButtonHoverForegroundColor    = Colors.White;

            InitializeComponent();
            NavCharacter.SetPageType(PageType.CHARACTER);
            NavBase.SetPageType(PageType.BASE);
            NavCombat.SetPageType(PageType.COMBAT);
            NavSkills.SetPageType(PageType.SKILLS);
            NavFeats.SetPageType(PageType.FEATS);
            NavInventory.SetPageType(PageType.INVENTORY);
            NavSpells.SetPageType(PageType.SPELLS);
            NavParty.SetPageType(PageType.PARTY);
            NavSettings.SetPageType(PageType.SETTINGS);
            NavSettings1.SetPageType(PageType.SETTINGS);

            NewCharacter.SetLoadType(LoadType.NEW);
            LoadCharacter.SetLoadType(LoadType.LOAD);
            DeleteCharacter.SetLoadType(LoadType.DELETE);
            SortOptions.SetLoadType(LoadType.SORT);
            NavCharactersMenu.SetLoadType(LoadType.MENU);

            LoadCharacters();

            //ChangePage(NavCharacter);
        }
コード例 #5
0
ファイル: InBound.cs プロジェクト: jkloop45/Solution
        public static void DeleteCharacter(DeleteCharacter P)
        {
            switch (P.Result)
            {
            case 0:
                SceneFunctions.ShowMessage("An error occured when trying delete your character.");
                break;

            case 1:
                SceneFunctions.ShowMessage("Deleting characters is currently disabled.");
                break;

            case 2:
                SceneFunctions.ShowMessage("The character you selected does not exist.\n Contact a GM for assistance.");
                break;

            case 3:
                for (int I = 0; I < SelectScene.CharacterList.Count; I++)
                {
                    if (SelectScene.CharacterList[I].Index == SceneFunctions.DeleteIndex)
                    {
                        SelectScene.CharacterList.RemoveAt(I);
                        break;
                    }
                }

                SelectScene.UpdateSelectButtons();
                SceneFunctions.ShowMessage("Your character was deleted successfully.");
                break;

#if DEBUG
            default:
                throw new NotImplementedException();
#endif
            }
        }
コード例 #6
0
        public async Task <IActionResult> Delete([FromBody] DeleteCharacter command)
        {
            await _commandDispatcher.DispatchAsync(command);

            return(NoContent());
        }
コード例 #7
0
        public bool Execute(JHSNetworkMessage netMsg)
        {
            if (DbManager == null)
            {
                DbManager = AccountManager.Instance;
            }

            DeleteCharacter packet = netMsg.ReadMessage <DeleteCharacter>();

            if (packet != null)
            {
                uint       connectionId = netMsg.conn.connectionId;
                AccountOBJ user         = DbManager.GetOnlineByConnectionId(connectionId);
                if (user != null)
                {
                    lock (user)
                    {
                        if (user.Skins.Count <= 1)
                        {
                            netMsg.conn.Send(NetworkConstants.DELETE_CHARACTER, new DeleteCharacterResponse()
                            {
                                STATUS = NOT_DELETE_LAST_CHARACTER
                            });
                            return(true);
                        }
                        CharacterOBJ character = user.GetPlayer(packet.PlayerId);
                        if (character != null)
                        {
                            ConfiModel model = ConfigManager.GetModel(character.SkinId);
                            if (model == null)
                            {
                                netMsg.conn.Send(NetworkConstants.DELETE_CHARACTER, new DeleteCharacterResponse()
                                {
                                    STATUS = ITEM_CONFIG_WRONG
                                });
                                return(true);
                            }
                            uint playerId = character.PlayerId;
                            if (DbService.RemoveEntity(character.GetEntity()) && user.Skins.Remove(playerId))
                            {
                                user.Silver += model.SilverPrice;
                                user.ResetNotification();
                                DbService.SubmitUpdate2Queue(user);
                                netMsg.conn.Send(NetworkConstants.DELETE_CHARACTER, new DeleteCharacterResponse()
                                {
                                    STATUS = SUCCESS, PlayerId = playerId, Gold = (uint)user.Gold, Silver = (uint)user.Silver
                                });
                            }
                            else
                            {
                                netMsg.conn.Send(NetworkConstants.DELETE_CHARACTER, new DeleteCharacterResponse()
                                {
                                    STATUS = PLAYER_NOT_FOUND
                                });
                            }
                        }
                        else
                        {
                            netMsg.conn.Send(NetworkConstants.DELETE_CHARACTER, new DeleteCharacterResponse()
                            {
                                STATUS = PLAYER_NOT_FOUND
                            });
                        }
                    }
                }
            }
            return(true);
        }
コード例 #8
0
        private void OnDeleteConfirmed()
        {
            DeleteCharacter?.Invoke(this.deleting.Character);

            OnDeleteCancelled();
        }
コード例 #9
0
 void Start()
 {
     deleteCharacter = new DeleteCharacter(DeleteCharacterResponse);
 }
コード例 #10
0
        /// <inheritdoc />
        public void HandlePacket(Player player, Span <byte> packet)
        {
            DeleteCharacter message = packet;

            this.deleteCharacterAction.DeleteCharacter(player, message.Name, message.SecurityCode);
        }