當前位置: 首頁>>代碼示例>>C#>>正文


C# Player.NoWorldMessage方法代碼示例

本文整理匯總了C#中fCraft.Player.NoWorldMessage方法的典型用法代碼示例。如果您正苦於以下問題:C# Player.NoWorldMessage方法的具體用法?C# Player.NoWorldMessage怎麽用?C# Player.NoWorldMessage使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在fCraft.Player的用法示例。


在下文中一共展示了Player.NoWorldMessage方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: Join

        internal static void Join( Player player, Command cmd ) {
            string worldName = cmd.Next();
            if( worldName == null ) {
                cdJoin.PrintUsage( player );
                return;
            }

            World[] worlds = WorldManager.FindWorlds( worldName );

            SearchingForWorldEventArgs e = new SearchingForWorldEventArgs( player, worldName, worlds.ToList(), true );
            WorldManager.RaiseSearchingForWorldEvent( e );
            worlds = e.Matches.ToArray();

            if( worlds.Length > 1 ) {
                player.ManyMatchesMessage( "world", worlds );

            } else if( worlds.Length == 1 ) {
                World world = worlds[0];
                switch( world.AccessSecurity.CheckDetailed( player.Info ) ) {
                    case SecurityCheckResult.Allowed:
                    case SecurityCheckResult.WhiteListed:
                        if( world.IsFull ) {
                            player.Message( "Cannot join {0}&S: world is full.", world.GetClassyName() );
                            return;
                        }
                        player.StopSpectating();
                        if( !player.Session.JoinWorldNow( world, false, true ) ) {
                            player.Message( "ERROR: Failed to join world. See log for details." );
                        }
                        break;
                    case SecurityCheckResult.BlackListed:
                        player.Message( "Cannot join world {0}&S: you are blacklisted",
                                        world.GetClassyName(), world.AccessSecurity.MinRank.GetClassyName() );
                        break;
                    case SecurityCheckResult.RankTooLow:
                        player.Message( "Cannot join world {0}&S: must be {1}+",
                                        world.GetClassyName(), world.AccessSecurity.MinRank.GetClassyName() );
                        break;
                }

            } else {
                // no worlds found - see if player meant to type in "/join" and not "/tp"
                Player[] players = Server.FindPlayers( player, worldName );
                if( players.Length == 1 ) {
                    player.StopSpectating();
                    player.ParseMessage( "/tp " + players[0].Name, false );
                } else {
                    player.NoWorldMessage( worldName );
                }
            }
        }
開發者ID:fragmer,項目名稱:fCraft,代碼行數:51,代碼來源:WorldCommands.cs

示例2: FindWorldOrPrintMatches

        public static World FindWorldOrPrintMatches( Player player, string worldName ) {
            if( player == null ) throw new ArgumentNullException( "player" );
            if( worldName == null ) throw new ArgumentNullException( "worldName" );
            List<World> matches = new List<World>( FindWorlds( worldName ) );
            SearchingForWorldEventArgs e = new SearchingForWorldEventArgs( player, worldName, matches, false );
            RaiseSearchingForWorldEvent( e );
            matches = e.Matches;

            if( matches.Count == 0 ) {
                player.NoWorldMessage( worldName );
                return null;
            } else if( matches.Count > 1 ) {
                player.ManyMatchesMessage( "world", matches.ToArray() );
                return null;
            } else {
                return matches[0];
            }
        }
開發者ID:fragmer,項目名稱:fCraft,代碼行數:18,代碼來源:WorldManager.cs


注:本文中的fCraft.Player.NoWorldMessage方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。