first commit
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
using System.Threading;
|
||||
using System.Windows.Threading;
|
||||
using ClassicAssist.Shared;
|
||||
using ClassicAssist.Shared.Resources;
|
||||
using ClassicAssist.UI.ViewModels;
|
||||
using ClassicAssist.UI.Views;
|
||||
using ClassicAssist.UO.Objects;
|
||||
using UOC = ClassicAssist.Shared.UO.Commands;
|
||||
|
||||
namespace ClassicAssist.Data.Hotkeys.Commands
|
||||
{
|
||||
[HotkeyCommand( Name = "Grid Container Viewer" )]
|
||||
public class EntityCollectionViewerHotkey : HotkeyCommand
|
||||
{
|
||||
public override void Execute()
|
||||
{
|
||||
int serial = UOC.GetTargeSerialAsync( Strings.Target_container___ ).Result;
|
||||
|
||||
Entity entity = Engine.Items.GetItem( serial ) ?? (Entity) Engine.Mobiles.GetMobile( serial );
|
||||
|
||||
if ( entity == null )
|
||||
{
|
||||
UOC.SystemMessage( Strings.Cannot_find_item___ );
|
||||
return;
|
||||
}
|
||||
|
||||
ItemCollection collection = new ItemCollection( entity.Serial );
|
||||
|
||||
switch ( entity )
|
||||
{
|
||||
case Item item:
|
||||
if ( item.Container == null )
|
||||
{
|
||||
UOC.WaitForContainerContents( item.Serial, 1000 );
|
||||
}
|
||||
|
||||
collection = item.Container;
|
||||
break;
|
||||
case Mobile mobile:
|
||||
collection = new ItemCollection( entity.Serial ) { mobile.GetEquippedItems() };
|
||||
break;
|
||||
}
|
||||
|
||||
Thread t = new Thread( () =>
|
||||
{
|
||||
EntityCollectionViewer window = new EntityCollectionViewer
|
||||
{
|
||||
DataContext = new EntityCollectionViewerViewModel( collection )
|
||||
};
|
||||
|
||||
window.Show();
|
||||
Dispatcher.Run();
|
||||
} ) { IsBackground = true };
|
||||
|
||||
t.SetApartmentState( ApartmentState.STA );
|
||||
t.Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using static ClassicAssist.Shared.UO.Commands;
|
||||
|
||||
namespace ClassicAssist.Data.Hotkeys.Commands
|
||||
{
|
||||
[HotkeyCommand( Name = "Object Inspector" )]
|
||||
public class ObjectInspector : HotkeyCommand
|
||||
{
|
||||
public override async void Execute()
|
||||
{
|
||||
await InspectObjectAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
#region License
|
||||
|
||||
// Copyright (C) 2020 Reetus
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#endregion
|
||||
|
||||
using System.Threading;
|
||||
using System.Windows.Threading;
|
||||
using ClassicAssist.Shared;
|
||||
using ClassicAssist.UI.Views;
|
||||
|
||||
namespace ClassicAssist.Data.Hotkeys.Commands
|
||||
{
|
||||
[HotkeyCommand( Name = "Show Chat Window" )]
|
||||
public class ShowChatWindowCommand : HotkeyCommand
|
||||
{
|
||||
public override void Execute()
|
||||
{
|
||||
Engine.Dispatcher.Invoke( () =>
|
||||
{
|
||||
Thread t = new Thread( () =>
|
||||
{
|
||||
ChatWindow window = new ChatWindow();
|
||||
|
||||
window.Show();
|
||||
Dispatcher.Run();
|
||||
} )
|
||||
{ IsBackground = true };
|
||||
|
||||
t.SetApartmentState( ApartmentState.STA );
|
||||
t.Start();
|
||||
} );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
#region License
|
||||
|
||||
// Copyright (C) 2020 Reetus
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#endregion
|
||||
|
||||
using System.Threading;
|
||||
using ClassicAssist.UI.Views;
|
||||
|
||||
namespace ClassicAssist.Data.Hotkeys.Commands
|
||||
{
|
||||
[HotkeyCommand( Category = "Commands", Name = "Show GIF Capture" )]
|
||||
public class ShowGIFCaptureWindow : HotkeyCommand
|
||||
{
|
||||
private GIFRecorderWindow _window;
|
||||
|
||||
public override void Execute()
|
||||
{
|
||||
Thread t = new Thread( () =>
|
||||
{
|
||||
_window = new GIFRecorderWindow();
|
||||
_window.ShowDialog();
|
||||
} );
|
||||
|
||||
t.SetApartmentState( ApartmentState.STA );
|
||||
t.IsBackground = true;
|
||||
t.Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Windows.Media;
|
||||
using ClassicAssist.Misc;
|
||||
using ICSharpCode.AvalonEdit.CodeCompletion;
|
||||
using ICSharpCode.AvalonEdit.Document;
|
||||
using ICSharpCode.AvalonEdit.Editing;
|
||||
|
||||
namespace ClassicAssist.Data.Macros
|
||||
{
|
||||
public class PythonCompletionData : ICompletionData
|
||||
{
|
||||
public PythonCompletionData( string text, string description, string insertText )
|
||||
{
|
||||
Description = description;
|
||||
Text = insertText;
|
||||
Content = text;
|
||||
}
|
||||
|
||||
public void Complete( TextArea textArea, ISegment completionSegment, EventArgs insertionRequestEventArgs )
|
||||
{
|
||||
DocumentLine line = textArea.Document.Lines[textArea.Caret.Line - 1];
|
||||
|
||||
textArea.Document.Replace(
|
||||
new TextSegment { StartOffset = line.Offset, EndOffset = line.EndOffset, Length = line.Length }, Text );
|
||||
}
|
||||
|
||||
public ImageSource Image => Properties.Resources.python.ToImageSource();
|
||||
public string Text { get; }
|
||||
|
||||
public object Content { get; }
|
||||
public object Description { get; }
|
||||
public double Priority { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using ClassicAssist.UI.Misc;
|
||||
|
||||
namespace ClassicAssist.Data.Skills
|
||||
{
|
||||
public class SkillComparer : IComparer
|
||||
{
|
||||
private readonly ListSortDirection _direction;
|
||||
private readonly SkillsGridViewColumn.Enums _sortField;
|
||||
|
||||
public SkillComparer( ListSortDirection direction, SkillsGridViewColumn.Enums sortField )
|
||||
{
|
||||
_direction = direction;
|
||||
_sortField = sortField;
|
||||
}
|
||||
|
||||
public int Compare( object x, object y )
|
||||
{
|
||||
SkillEntry first = (SkillEntry) x;
|
||||
SkillEntry second = (SkillEntry) y;
|
||||
|
||||
if ( first == null || second == null )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int result;
|
||||
|
||||
switch ( _sortField )
|
||||
{
|
||||
case SkillsGridViewColumn.Enums.Name:
|
||||
result = string.Compare( first.Skill.Name, second.Skill.Name, StringComparison.Ordinal );
|
||||
break;
|
||||
case SkillsGridViewColumn.Enums.Value:
|
||||
result = first.Value.CompareTo( second.Value );
|
||||
break;
|
||||
case SkillsGridViewColumn.Enums.Base:
|
||||
result = first.Base.CompareTo( second.Base );
|
||||
break;
|
||||
case SkillsGridViewColumn.Enums.Delta:
|
||||
result = first.Delta.CompareTo( second.Delta );
|
||||
|
||||
if ( result == 0 )
|
||||
{
|
||||
result = first.Base.CompareTo( second.Base );
|
||||
}
|
||||
|
||||
break;
|
||||
case SkillsGridViewColumn.Enums.Cap:
|
||||
result = first.Cap.CompareTo( second.Cap );
|
||||
break;
|
||||
case SkillsGridViewColumn.Enums.LockStatus:
|
||||
result = first.LockStatus.CompareTo( second.LockStatus );
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
|
||||
if ( _direction == ListSortDirection.Descending )
|
||||
{
|
||||
result = -result;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user