horadryn
Apprentice
Posts: 8
Likes Given: 2
Likes Received: 0 in 0 posts
Joined: Nov 2012
Reputation: 0
|
RE: [UPDATED]Paperdoll & Web
Can someone translate this?
Code:
using System;
using System.Collections;
namespace Server.Engines.MyRunUO
{
public class LayerComparer : IComparer
{
private static Layer PlateArms = (Layer)255;
private static Layer ChainTunic = (Layer)254;
private static Layer LeatherShorts = (Layer)253;
private static Layer[] m_DesiredLayerOrder = new Layer[]
{
Layer.Cloak,
Layer.Bracelet,
Layer.Ring,
Layer.Shirt,
Layer.Pants,
Layer.InnerLegs,
Layer.Shoes,
LeatherShorts,
Layer.Arms,
Layer.InnerTorso,
LeatherShorts,
PlateArms,
Layer.MiddleTorso,
Layer.OuterLegs,
Layer.Neck,
Layer.Waist,
Layer.Gloves,
Layer.OuterTorso,
Layer.OneHanded,
Layer.TwoHanded,
Layer.FacialHair,
Layer.Hair,
Layer.Helm,
Layer.Talisman
};
private static int[] m_TranslationTable;
public static int[] TranslationTable
{
get{ return m_TranslationTable; }
}
static LayerComparer()
{
m_TranslationTable = new int[256];
for ( int i = 0; i < m_DesiredLayerOrder.Length; ++i )
m_TranslationTable[(int)m_DesiredLayerOrder[i]] = m_DesiredLayerOrder.Length - i;
}
public static bool IsValid( Item item )
{
return ( m_TranslationTable[(int)item.Layer] > 0 );
}
public static readonly IComparer Instance = new LayerComparer();
public LayerComparer()
{
}
public Layer Fix( int itemID, Layer oldLayer )
{
if ( itemID == 0x1410 || itemID == 0x1417 ) // platemail arms
return PlateArms;
if ( itemID == 0x13BF || itemID == 0x13C4 ) // chainmail tunic
return ChainTunic;
if ( itemID == 0x1C08 || itemID == 0x1C09 ) // leather skirt
return LeatherShorts;
if ( itemID == 0x1C00 || itemID == 0x1C01 ) // leather shorts
return LeatherShorts;
return oldLayer;
}
public int Compare( object x, object y )
{
Item a = (Item)x;
Item b = (Item)y;
Layer aLayer = a.Layer;
Layer bLayer = b.Layer;
aLayer = Fix( a.ItemID, aLayer );
bLayer = Fix( b.ItemID, bLayer );
return m_TranslationTable[(int)bLayer] - m_TranslationTable[(int)aLayer];
}
}
}
|
|
06-15-2014 09:14 PM |
|
|