コード例 #1
0
        //public override bool ChatMessage(ClientInfo _cInfo, EnumGameMessages _type, string _msg, string _mainName, bool _localizeMain, string _secondaryName, bool _localizeSecondary) { }

        //public override void CalcChunkColorsDone(Chunk _chunk) { }

        //public override void GameStartDone() { }

        public override void PlayerSpawnedInWorld(ClientInfo cInfo, RespawnType respawnReason, Vector3i pos)
        {
            try
            {
                //Log spawns explictly
                Synapse.PlayerTracker(cInfo, respawnReason);

                //check for respawn events
                switch (respawnReason)
                {
                case RespawnType.Died:
                    Synapse.DeadIsDead(cInfo);
                    break;

                case RespawnType.Teleport:
                    Synapse.PlayerTeleported(cInfo, pos);
                    break;

                case RespawnType.EnterMultiplayer:
                    Synapse.NewPlayer(cInfo, pos);
                    break;

                case RespawnType.JoinMultiplayer:
                    Synapse.ReturnPlayer(cInfo, pos);
                    break;
                }
            }
            catch (Exception e)
            {
                Log.Out($"{Config.ModPrefix} Error in {GetType().Name}.{MethodBase.GetCurrentMethod().Name}: {e}");
            }
        }
コード例 #2
0
        public override void PlayerDisconnected(ClientInfo cInfo, bool bShutdown)
        {
            try
            {
                //Player Data Cache
                PersistentContainer.Instance.Players[cInfo.playerId, true]?.SetOffline(cInfo);

                //Log disconnects explictly
                Synapse.PlayerTracker(cInfo, RespawnType.Unknown, false);
            }
            catch (Exception e)
            {
                Log.Out($"{Config.ModPrefix} Error in {GetType().Name}.{MethodBase.GetCurrentMethod().Name}: {e}");
            }
        }