fCraft.MessageBlockHandler.Player_Moved C# (CSharp) Method

Player_Moved() private static method

private static Player_Moved ( object sender, Events e ) : void
sender object
e Events
return void
        private static void Player_Moved( object sender, Events.PlayerMovedEventArgs e )
        {
            try {
                if ( ( e.OldPosition.X != e.NewPosition.X ) || ( e.OldPosition.Y != e.NewPosition.Y ) || ( e.OldPosition.Z != ( e.NewPosition.Z ) ) ) {
                    lock ( e.Player.MessageBlockLock ) {
                        if ( e.Player.WorldMap == null )
                            return;
                        if ( e.Player.WorldMap.MessageBlocks != null ) {
                            lock ( e.Player.WorldMap.MessageBlocks ) {
                                foreach ( MessageBlock mb in e.Player.WorldMap.MessageBlocks ) {
                                    if ( e.Player.WorldMap == null )
                                        return;
                                    if ( mb.IsInRange( e.Player ) ) {
                                        string M = mb.GetMessage();
                                        if ( M == "" )
                                            return;
                                        if ( e.Player.LastUsedMessageBlock == null ) {
                                            e.Player.LastUsedMessageBlock = DateTime.UtcNow;
                                            e.Player.Message( M );
                                            return;
                                        }
                                        if ( ( DateTime.UtcNow - e.Player.LastUsedMessageBlock ).TotalSeconds > 4 ) {
                                            e.Player.Message( M );
                                            e.Player.LastUsedMessageBlock = DateTime.UtcNow;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            } catch ( Exception ex ) { Logger.Log( LogType.Error, "MessageBlock_Moving: " + ex ); }
        }