Esempio n. 1
0
        public void OnDestroy()
        {
            orig_OnDestroy();

            ReferenceHub refHub = ReferenceHub.GetHub(gameObject);

            if (string.IsNullOrEmpty(refHub.characterClassManager.UserId) || !refHub.characterClassManager.UserId.Contains('@'))
            {
                return;
            }
            else
            {
                try
                {
                    Base.Debug("Triggering PlayerLeaveEvent");
                    PluginManager.TriggerEvent <IEventHandlerPlayerLeave>(new PlayerLeaveEvent(new PheggPlayer(this.gameObject)));
                }
                catch (Exception e)
                {
                    Base.Error($"Error triggering PlayerLeaveEvent: {e.InnerException}");
                }
            }

            //if (refHub.characterClassManager.IsAnyScp() && refHub.characterClassManager.CurClass != RoleType.Scp0492)
            //{
            //    bool HasBeenReplaced = false;

            //    foreach(var p in ReferenceHub.GetAllHubs())
            //    {
            //        if(p.Value.characterClassManager.CurClass == RoleType.Spectator && p.Value.serverRoles.over)
            //    }

            //    if (!HasBeenReplaced && SCP.ContainsKey(refHub.characterClassManager.CurClass))
            //    {
            //        SCPData data = new SCPData
            //        {
            //            roleType = refHub.characterClassManager.CurClass,
            //            health = refHub.playerStats.Health,
            //            artHealth = refHub.playerStats.syncArtificialHealth,
            //            position = refHub.playerMovementSync.RealModelPosition,

            //        };

            //        if(data.roleType == RoleType.Scp079)
            //        {
            //            data.exp = refHub.scp079PlayerScript.Exp;
            //            data.mana = refHub.scp079PlayerScript.Mana;
            //        }

            //        SCP.Add(data.roleType, data);
            //    }
            //}



            if (PlayerManager.players.Count - 1 < 1 && RoundSummary.RoundInProgress())
            {
                PMRoundSummary.RoundFix();
            }
        }
Esempio n. 2
0
            public void OnDestroy()
            {
                orig_OnDestroy();

                CharacterClassManager player = this.GetComponent <CharacterClassManager>();
                NicknameSync          name   = this.GetComponent <NicknameSync>();

                if (string.IsNullOrEmpty(player.UserId) || !player.UserId.Contains('@'))
                {
                    return;
                }
                else
                {
                    try
                    {
                        Base.Debug("Triggering PlayerLeaveEvent");
                        PluginManager.TriggerEvent <IEventHandlerPlayerLeave>(new PlayerLeaveEvent(new PheggPlayer(this.gameObject)));
                    }
                    catch (Exception e)
                    {
                        Base.Error($"Error triggering PlayerLeaveEvent: {e.InnerException.ToString()}");
                    }
                }

                if (PlayerManager.players.Count - 1 < 1 && RoundSummary.RoundInProgress())
                {
                    PMRoundSummary.RoundFix();
                }
            }