Exemplo n.º 1
0
        void R_IntelPickedUp(NetConnection server, NetBuffer data, ushort numArgs)
        {
            Team   team        = (Team)data.ReadByte();
            ushort playerOwner = data.ReadUInt16();

            bool showedAltMessage = false;

            ClientPlayer owner;

            if (Players.TryGetValue(playerOwner, out owner))
            {
                if (team == Team.A)
                {
                    redIntel.ForcePickup(owner);
                    if (owner == OurPlayer)
                    {
                        redIntel.IsIconVisible = false;
                    }
                }
                else
                {
                    blueIntel.ForcePickup(owner);
                    if (owner == OurPlayer)
                    {
                        blueIntel.IsIconVisible = false;
                    }
                }

                if (owner == OurPlayer)
                {
                    OurPlayerHasIntel = true;
                    showedAltMessage  = true;
                }
            }
            else
            {
                DashCMD.WriteError("[CTFGamemode] Failed to replicate intel pickup! Intel owner {0} does not exist!", playerOwner);
            }

            if (!showedAltMessage)
            {
                string teamStr = team == Team.A ? "Red" : "Blue";
                Screen.ShowAnnouncement(string.Format("The {0} intel has been picked up!", teamStr), 5f, false);
            }

            intelAudioSource?.Play();
        }