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


C# UInt16.CopyTo方法代碼示例

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


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

示例1: packGameDefinition

        //Entirely untested
        public static UInt16[] packGameDefinition(
            HostGun.CommandCode game_type,
            UInt16 game_id,
            int game_time_minutes,
            int tags,
            int reloads,
            int sheild,
            int mega,

            bool extended_tagging,
            bool unlimited_ammo,
            bool unlimited_mega,
            bool friendly_fire,
            bool medic_mode,
            bool rapid_tags,
            bool hunters_hunted,
            bool hunters_hunted_direction,

            bool zones,
            bool bases_are_teams,
            bool tagged_players_are_disabled,
            bool base_areas_revive_players,
            bool base_areas_are_hospitals,
            bool base_areas_fire_at_players,
            int number_of_teams_in_game,
            char[] game_type_name)
        {
            //assert(game_type_name.Length == 4);
            Debug.Assert(number_of_teams_in_game >= 0 && number_of_teams_in_game <= 3);
            byte flags =
                (byte)((extended_tagging ? 1 : 0) << 7
                    | (unlimited_ammo ? 1 : 1) << 6
                    | (unlimited_mega ? 1 : 1) << 5
                    | (friendly_fire ? 1 : 0) << 4
                    | (medic_mode ? 1 : 0) << 3
                    | (rapid_tags ? 1 : 0) << 2
                    | (hunters_hunted ? 1 : 0) << 1
                    | (hunters_hunted_direction ? 1 : 0) << 0);
            byte flags2 =
                (byte)((zones ? 1 : 0) << 7
                    | (bases_are_teams ? 1 : 0) << 6
                    | (tagged_players_are_disabled ? 1 : 0) << 5
                    | (base_areas_revive_players ? 1 : 0) << 4
                    | (base_areas_are_hospitals ? 1 : 0) << 3
                    | (base_areas_fire_at_players ? 1 : 0) << 2
                    | (number_of_teams_in_game & 0x03));
            String flags_string = String.Format("{0:x}{1:x}",flags,flags2);
            Console.WriteLine(flags_string);
            /*flags = 0x78;
            flags2 = 0xA3;
            flags_string = String.Format("{0:x}{1:x}",flags,flags2);
            Console.WriteLine(flags_string);*/

            UInt16[] values = new UInt16[] {
                (UInt16)game_type,
                game_id,//Game ID
                DecimalToDecimalHex((byte)game_time_minutes), //game time minutes
                DecimalToDecimalHex((byte)tags), //tags
                DecimalToDecimalHex((byte)reloads), //reloads
                DecimalToDecimalHex((byte)sheild), //sheild
                DecimalToDecimalHex((byte)mega), //mega
                flags,
                flags2,
            };
            if (game_type_name != null && game_type_name.Length > 0) {
                UInt16[] values2 = new UInt16[values.Length + game_type_name.Length];

                values.CopyTo(values2,0);
                game_type_name.CopyTo(values2,values.Length);
            }

            return values;
        }
開發者ID:afaucher,項目名稱:LazerTagHost,代碼行數:74,代碼來源:PacketPacker.cs


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