コード例 #1
0
ファイル: Game.cs プロジェクト: mizzouse/FreeInfantry
        /// <summary>
        /// Handles a flag request from a client
        /// </summary>
        static public void Handle_CS_PlayerFlag(CS_PlayerFlag pkt, Player player)
        {               //Allow the player's arena to handle it
            if (player._arena == null)
            {
                Log.write(TLog.Error, "Player {0} sent update packet with no arena.", player);
                return;
            }

            if (player.IsSpectator)
            {
                Log.write(TLog.Warning, "Player {0} attempted to activate a flag from spec.", player);
                return;
            }

            //Find the associated flag
            LioInfo.Flag flag = player._server._assets.getLioByID(pkt.flagID) as LioInfo.Flag;

            //If it doesn't exist, nevermind
            if (flag == null)
            {
                Log.write(TLog.Warning, "Player {0} attempted to use flag which doesn't exist.", player);
            }
            else
            {
                player._arena.handleEvent(delegate(Arena arena)
                {
                    player._arena.handlePlayerFlag(player, pkt.bPickup, pkt.bSuccess, flag);
                }
                                          );
            }
        }
コード例 #2
0
 public bool playerFlagAction(Player player, bool bPickup, bool bInPlace, LioInfo.Flag flag)
 {
     return(true);
 }
コード例 #3
0
 /// <summary>
 /// Handles a player's flag request
 /// </summary>
 public virtual void handlePlayerFlag(Player from, bool bPickup, bool bInPlace, LioInfo.Flag flag)
 {
 }