first commit

This commit is contained in:
Beyhan Oğur
2026-09-03 04:45:36 +03:00
commit d5f52cc3d3
1038 changed files with 169579 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
namespace ClassicAssist.Data.Skills
{
public struct Skill
{
public int ID { get; set; }
public string Name { get; set; }
public bool Invokable { get; set; }
public override bool Equals( object obj )
{
Skill? skill = obj as Skill?;
return ID == skill?.ID;
}
public override int GetHashCode()
{
int hashCode = 1458105184;
hashCode = hashCode * -1521134295 + ID.GetHashCode();
return hashCode;
}
public override string ToString()
{
return Name;
}
public static bool operator ==( Skill left, Skill right )
{
return left.Equals( right );
}
public static bool operator !=( Skill left, Skill right )
{
return !( left == right );
}
}
}
@@ -0,0 +1,85 @@
using System.ComponentModel;
using System.Runtime.CompilerServices;
using ClassicAssist.Annotations;
using ClassicAssist.UO.Data;
namespace ClassicAssist.Data.Skills
{
public class SkillEntry : INotifyPropertyChanged
{
private float _base;
private float _cap;
private double _delta;
private LockStatus _lockStatus;
private Skill _skill;
private float _value;
public float Base
{
get => _base;
set
{
_base = value;
OnPropertyChanged();
}
}
public float Cap
{
get => _cap;
set
{
_cap = value;
OnPropertyChanged();
}
}
public double Delta
{
get => _delta;
set
{
_delta = value;
OnPropertyChanged();
}
}
public LockStatus LockStatus
{
get => _lockStatus;
set
{
_lockStatus = value;
OnPropertyChanged();
}
}
public Skill Skill
{
get => _skill;
set
{
_skill = value;
OnPropertyChanged();
}
}
public float Value
{
get => _value;
set
{
_value = value;
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged( [CallerMemberName] string propertyName = null )
{
PropertyChanged?.Invoke( this, new PropertyChangedEventArgs( propertyName ) );
}
}
}
@@ -0,0 +1,13 @@
using ClassicAssist.UO.Data;
namespace ClassicAssist.Data.Skills
{
public sealed class SkillInfo
{
public float BaseValue { get; internal set; }
public int ID { get; internal set; }
public LockStatus LockStatus { get; internal set; }
public float SkillCap { get; internal set; }
public float Value { get; internal set; }
}
}
@@ -0,0 +1,58 @@
using System.ComponentModel;
using System.Runtime.CompilerServices;
using ClassicAssist.Annotations;
using ClassicAssist.UI.Misc;
namespace ClassicAssist.Data.Skills
{
public class SkillManager : INotifyPropertyChanged
{
private static readonly object _lock = new object();
private static SkillManager _instance;
private ObservableCollectionEx<SkillEntry> _items = new ObservableCollectionEx<SkillEntry>();
private SkillManager()
{
}
public ObservableCollectionEx<SkillEntry> Items
{
get => _items;
set => SetProperty( ref _items, value );
}
public event PropertyChangedEventHandler PropertyChanged;
public static SkillManager GetInstance()
{
// ReSharper disable once InvertIf
if ( _instance == null )
{
lock ( _lock )
{
if ( _instance != null )
{
return _instance;
}
_instance = new SkillManager();
return _instance;
}
}
return _instance;
}
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged( [CallerMemberName] string propertyName = null )
{
PropertyChanged?.Invoke( this, new PropertyChangedEventArgs( propertyName ) );
}
public void SetProperty<T>( ref T obj, T value, [CallerMemberName] string propertyName = "" )
{
obj = value;
OnPropertyChanged( propertyName );
}
}
}