コード例 #1
0
        private void OnEntityKilled(EggHuntEvent egg)
        {
            if (!_isEggHuntActive || egg is HalloweenHunt)
            {
                return;
            }

            _isEggHuntActive = false;
            MagicPanel?.Call("UpdatePanel", Name, (int)UpdateEnum.Image);
        }
コード例 #2
0
 public override void DestroyShared()
 {
     base.DestroyShared();
     if (base.isServer)
     {
         EggHuntEvent.serverEvent = null;
         return;
     }
     EggHuntEvent.clientEvent = null;
 }
コード例 #3
0
 public override void ServerInit()
 {
     base.ServerInit();
     if ((bool)serverEvent && base.isServer)
     {
         serverEvent.Kill();
         serverEvent = null;
     }
     serverEvent = this;
     Invoke(StartEvent, warmupTime);
 }
コード例 #4
0
 public override void ServerInit()
 {
     base.ServerInit();
     if (EggHuntEvent.serverEvent && base.isServer)
     {
         EggHuntEvent.serverEvent.Kill(BaseNetworkable.DestroyMode.None);
         EggHuntEvent.serverEvent = null;
     }
     EggHuntEvent.serverEvent = this;
     base.Invoke(new Action(this.StartEvent), this.warmupTime);
 }
コード例 #5
0
    public List <EggHuntEvent.EggHunter> GetTopHunters()
    {
        List <EggHuntEvent.EggHunter> list = Facepunch.Pool.GetList <EggHuntEvent.EggHunter>();

        foreach (KeyValuePair <ulong, EggHuntEvent.EggHunter> _eggHunter in this._eggHunters)
        {
            list.Add(_eggHunter.Value);
        }
        EggHuntEvent.Sort(list);
        return(list);
    }
コード例 #6
0
 public override void DestroyShared()
 {
     base.DestroyShared();
     if (base.isServer)
     {
         serverEvent = null;
     }
     else
     {
         clientEvent = null;
     }
 }
コード例 #7
0
        private void OnEntitySpawned(EggHuntEvent egg)
        {
            NextTick(() =>
            {
                if (!CanShowPanel(egg))
                {
                    return;
                }

                _isEggHuntActive = true;
                MagicPanel?.Call("UpdatePanel", Name, (int)UpdateEnum.Image);
            });
        }
コード例 #8
0
        private bool CanShowPanel(EggHuntEvent egg)
        {
            if (egg is HalloweenHunt)
            {
                return(false);
            }

            object result = Interface.Call("MagicPanelCanShow", Name, egg);

            if (result is bool)
            {
                return((bool)result);
            }

            return(true);
        }
コード例 #9
0
ファイル: DiscordEvents.cs プロジェクト: laseb/purge-rust-5x
        private void OnEntityKill(EggHuntEvent entity)
        {
            if (entity == null)
            {
                return;
            }

            var    winners = entity.GetTopHunters();
            string winner;

            if (winners.Count > 0)
            {
                winner = winners[0].displayName.Replace("*", "*");
            }
            else
            {
                winner = "No winner";
            }

            bool isHalloween = entity is HalloweenHunt;

            if (isHalloween)
            {
                if (_configData.HalloweenSettings.Enabled)
                {
                    if (_configData.GlobalSettings.LoggingEnabled)
                    {
                        Puts("Halloween Hunt Event has ended. The winner is " + winner);
                    }

                    SendMessage(Lang("HalloweenWinner", null, winner), _configData.HalloweenSettings.WebhookURL);
                }
            }
            else
            {
                if (_configData.EasterSettings.Enabled)
                {
                    if (_configData.GlobalSettings.LoggingEnabled)
                    {
                        Puts("Egg Hunt Event has ended. The winner is " + winner);
                    }

                    SendMessage(Lang("EasterWinner", null, winner), _configData.EasterSettings.WebhookURL);
                }
            }
        }
コード例 #10
0
ファイル: DiscordEvents.cs プロジェクト: laseb/purge-rust-5x
 private void OnEntitySpawned(EggHuntEvent entity)
 {
     HandleEntity(entity);
 }
コード例 #11
0
 static EggHuntEvent()
 {
     EggHuntEvent.serverEvent     = null;
     EggHuntEvent.clientEvent     = null;
     EggHuntEvent.durationSeconds = 180f;
 }