Lots of little stuff..
Generics Misc tweaks/fixes
This commit is contained in:
parent
8da138d6ed
commit
455fa28f48
16 changed files with 99 additions and 219 deletions
|
|
@ -1,7 +1,7 @@
|
|||
using System;
|
||||
using System.Text;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.Collections;
|
||||
using System.Text;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Network;
|
||||
|
|
@ -25,7 +25,7 @@ namespace Server.Commands
|
|||
Invoke( from, start, end, args, null );
|
||||
}
|
||||
|
||||
public static void Invoke( Mobile from, Point3D start, Point3D end, string[] args, ArrayList packs )
|
||||
public static void Invoke( Mobile from, Point3D start, Point3D end, string[] args, List<Container> packs )
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ namespace Server.Commands
|
|||
Array.Copy( old, 1, args, 0, args.Length );
|
||||
}
|
||||
|
||||
public static int BuildObjects( Mobile from, Type type, Point3D start, Point3D end, string[] args, string[,] props, ArrayList packs )
|
||||
public static int BuildObjects( Mobile from, Type type, Point3D start, Point3D end, string[] args, string[,] props, List<Container> packs )
|
||||
{
|
||||
Utility.FixPoints( ref start, ref end );
|
||||
|
||||
|
|
@ -270,7 +270,7 @@ namespace Server.Commands
|
|||
return built;
|
||||
}
|
||||
|
||||
public static int Build( Mobile from, Point3D start, Point3D end, ConstructorInfo ctor, object[] values, string[,] props, PropertyInfo[] realProps, ArrayList packs )
|
||||
public static int Build( Mobile from, Point3D start, Point3D end, ConstructorInfo ctor, object[] values, string[,] props, PropertyInfo[] realProps, List<Container> packs )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -299,7 +299,7 @@ namespace Server.Commands
|
|||
|
||||
if ( built is Item )
|
||||
{
|
||||
Container pack = (Container)packs[i];
|
||||
Container pack = packs[i];
|
||||
|
||||
pack.DropItem( (Item)built );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Server;
|
||||
|
|
@ -19,7 +18,7 @@ namespace Server.Commands
|
|||
public static void Convert_OnCommand( CommandEventArgs e )
|
||||
{
|
||||
e.Mobile.SendMessage( "Converting all players to PlayerMobile. You will be disconnected. Please Restart the server after the world has finished saving." );
|
||||
ArrayList mobs = new ArrayList( World.Mobiles.Values );
|
||||
List<Mobile> mobs = new List<Mobile>( World.Mobiles.Values );
|
||||
int count = 0;
|
||||
|
||||
foreach ( Mobile m in mobs )
|
||||
|
|
|
|||
|
|
@ -368,7 +368,7 @@ namespace Server.Commands.Generic
|
|||
if ( e.Arguments.Length == 0 )
|
||||
return;
|
||||
|
||||
ArrayList packs = new ArrayList( list.Count );
|
||||
List<Container> packs = new List<Container>( list.Count );
|
||||
|
||||
for ( int i = 0; i < list.Count; ++i )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1125,10 +1125,6 @@ namespace Server.Commands
|
|||
return;
|
||||
}
|
||||
|
||||
if ( GoGump.MoveToLocation( from, e.ArgString ) )
|
||||
return;
|
||||
|
||||
|
||||
if ( e.Length == 1 )
|
||||
{
|
||||
try
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Engines.Chat
|
||||
|
|
@ -8,7 +8,7 @@ namespace Server.Engines.Chat
|
|||
{
|
||||
private string m_Name;
|
||||
private string m_Password;
|
||||
private ArrayList m_Users, m_Banned, m_Moderators, m_Voices;
|
||||
private List<ChatUser> m_Users, m_Banned, m_Moderators, m_Voices;
|
||||
private bool m_VoiceRestricted;
|
||||
private bool m_AlwaysAvailable;
|
||||
|
||||
|
|
@ -16,10 +16,10 @@ namespace Server.Engines.Chat
|
|||
{
|
||||
m_Name = name;
|
||||
|
||||
m_Users = new ArrayList();
|
||||
m_Banned = new ArrayList();
|
||||
m_Moderators = new ArrayList();
|
||||
m_Voices = new ArrayList();
|
||||
m_Users = new List<ChatUser>();
|
||||
m_Banned = new List<ChatUser>();
|
||||
m_Moderators = new List<ChatUser>();
|
||||
m_Voices = new List<ChatUser>();
|
||||
}
|
||||
|
||||
public Channel( string name, string password ) : this( name )
|
||||
|
|
@ -381,7 +381,7 @@ namespace Server.Engines.Chat
|
|||
{
|
||||
for ( int i = 0; i < m_Users.Count; ++i )
|
||||
{
|
||||
ChatUser user = (ChatUser)m_Users[i];
|
||||
ChatUser user = m_Users[i];
|
||||
|
||||
if ( user == initiator )
|
||||
continue;
|
||||
|
|
@ -397,7 +397,7 @@ namespace Server.Engines.Chat
|
|||
{
|
||||
for ( int i = 0; i < m_Users.Count; ++i )
|
||||
{
|
||||
ChatUser user = (ChatUser)m_Users[i];
|
||||
ChatUser user = m_Users[i];
|
||||
|
||||
if ( user.IsIgnored( from ) )
|
||||
continue;
|
||||
|
|
@ -438,7 +438,7 @@ namespace Server.Engines.Chat
|
|||
{
|
||||
for ( int i = 0; i < m_Users.Count; ++i )
|
||||
{
|
||||
ChatUser user = (ChatUser)m_Users[i];
|
||||
ChatUser user = m_Users[i];
|
||||
|
||||
if ( user == initiator )
|
||||
continue;
|
||||
|
|
@ -454,15 +454,15 @@ namespace Server.Engines.Chat
|
|||
{
|
||||
for ( int i = 0; i < m_Users.Count; ++i )
|
||||
{
|
||||
ChatUser user = (ChatUser)m_Users[i];
|
||||
ChatUser user = m_Users[i];
|
||||
|
||||
ChatSystem.SendCommandTo( to.Mobile, ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username );
|
||||
}
|
||||
}
|
||||
|
||||
private static ArrayList m_Channels = new ArrayList();
|
||||
private static List<Channel> m_Channels = new List<Channel>();
|
||||
|
||||
public static ArrayList Channels
|
||||
public static List<Channel> Channels
|
||||
{
|
||||
get
|
||||
{
|
||||
|
|
@ -474,7 +474,7 @@ namespace Server.Engines.Chat
|
|||
{
|
||||
for ( int i = 0; i < m_Channels.Count; ++i )
|
||||
{
|
||||
Channel channel = (Channel)m_Channels[i];
|
||||
Channel channel = m_Channels[i];
|
||||
|
||||
if ( !channel.IsBanned( user ) )
|
||||
ChatSystem.SendCommandTo( user.Mobile, ChatCommand.AddChannel, channel.Name, "0" );
|
||||
|
|
@ -526,7 +526,7 @@ namespace Server.Engines.Chat
|
|||
{
|
||||
for ( int i = 0; i < m_Channels.Count; ++i )
|
||||
{
|
||||
Channel channel = (Channel)m_Channels[i];
|
||||
Channel channel = m_Channels[i];
|
||||
|
||||
if ( channel.m_Name == name )
|
||||
return channel;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Gumps
|
||||
{
|
||||
|
|
@ -246,113 +245,5 @@ namespace Server.Gumps
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static bool MoveToLocation( Mobile m, string text )
|
||||
{
|
||||
string[] args = text.Split( '.' );
|
||||
|
||||
if ( args.Length == 0 )
|
||||
return false;
|
||||
|
||||
for ( int i = 0; i < args.Length; ++i )
|
||||
args[i].Trim();
|
||||
|
||||
ArrayList trees = new ArrayList();
|
||||
|
||||
// The mobile's map is to be checked first.
|
||||
if ( m.Map == Map.Ilshenar )
|
||||
trees.Add( Ilshenar );
|
||||
else if ( m.Map == Map.Felucca )
|
||||
trees.Add( Felucca );
|
||||
else if ( m.Map == Map.Trammel )
|
||||
trees.Add( Trammel );
|
||||
else if ( m.Map == Map.Malas )
|
||||
trees.Add( Malas );
|
||||
else
|
||||
trees.Add( Tokuno );
|
||||
|
||||
// The other maps follow.
|
||||
if ( !trees.Contains( Trammel ) )
|
||||
trees.Add( Trammel );
|
||||
|
||||
if ( !trees.Contains( Felucca ) )
|
||||
trees.Add( Felucca );
|
||||
|
||||
if ( !trees.Contains( Ilshenar ) )
|
||||
trees.Add( Ilshenar );
|
||||
|
||||
if ( !trees.Contains( Malas ) )
|
||||
trees.Add( Malas );
|
||||
|
||||
if ( !trees.Contains( Tokuno ) )
|
||||
trees.Add( Tokuno );
|
||||
|
||||
LocationTree tree;
|
||||
|
||||
for ( int i = 0; i < trees.Count; ++i )
|
||||
{
|
||||
tree = (LocationTree)trees[i];
|
||||
|
||||
// If a specific tree was requested, it's the only one we need to parse.
|
||||
if ( Insensitive.Equals( args[0], tree.Map.Name ) )
|
||||
{
|
||||
if ( args.Length < 2 )
|
||||
return false;
|
||||
|
||||
return ParseNode( tree.Root, args, 1, m, tree.Map );
|
||||
}
|
||||
}
|
||||
|
||||
for ( int i = 0; i < trees.Count; ++i )
|
||||
{
|
||||
tree = (LocationTree)trees[i];
|
||||
|
||||
// Parse all trees.
|
||||
if ( ParseNode( tree.Root, args, 0, m, tree.Map ) )
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static bool ParseNode( ParentNode node, string[] args, int argsIndex, Mobile m, Map map )
|
||||
{
|
||||
if ( args[argsIndex].Length == 0 )
|
||||
return false;
|
||||
|
||||
for ( int i = 0; i < node.Children.Length; ++i )
|
||||
{
|
||||
object child = node.Children[i];
|
||||
|
||||
if ( child is ParentNode )
|
||||
{
|
||||
if ( Insensitive.Equals( ((ParentNode)child).Name, args[argsIndex] ) )
|
||||
{
|
||||
if ( (argsIndex + 1) >= args.Length )
|
||||
return false;
|
||||
|
||||
if ( args[argsIndex + 1].Length == 0 )
|
||||
return false;
|
||||
|
||||
return ParseNode( (ParentNode)child, args, argsIndex + 1, m, map );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( ParseNode( (ParentNode)child, args, argsIndex, m, map ) )
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if ( child is ChildNode )
|
||||
{
|
||||
if ( Insensitive.Equals( ((ChildNode)child).Name, args[argsIndex] ) )
|
||||
{
|
||||
m.MoveToWorld( ((ChildNode)child).Location, map );
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -75,7 +75,7 @@ namespace Server.Gumps
|
|||
int givenToBankBox = 0;
|
||||
for ( int i = inventory.Items.Count - 1; i >= 0; i-- )
|
||||
{
|
||||
Item item = (Item) inventory.Items[i];
|
||||
Item item = inventory.Items[i];
|
||||
|
||||
if ( item.Deleted )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -109,12 +109,10 @@ namespace Server.Items
|
|||
|
||||
public bool CouldFit( IPoint3D p, Map map )
|
||||
{
|
||||
List<BaseHouse> houses = null;
|
||||
|
||||
return ( CouldFit( p, map, null, ref houses ) == AddonFitResult.Valid );
|
||||
return ( CouldFit( p, map, null, null ) == AddonFitResult.Valid );
|
||||
}
|
||||
|
||||
public AddonFitResult CouldFit( IPoint3D p, Map map, Mobile from, ref List<BaseHouse> houses )
|
||||
public AddonFitResult CouldFit( IPoint3D p, Map map, Mobile from, ref BaseHouse house )
|
||||
{
|
||||
if ( Deleted )
|
||||
return AddonFitResult.Blocked;
|
||||
|
|
@ -125,7 +123,7 @@ namespace Server.Items
|
|||
|
||||
if ( !map.CanFit( p3D.X, p3D.Y, p3D.Z, c.ItemData.Height, false, true, ( c.Z == 0 ) ) )
|
||||
return AddonFitResult.Blocked;
|
||||
else if ( !CheckHouse( from, p3D, map, c.ItemData.Height, ref houses ) )
|
||||
else if ( !CheckHouse( from, p3D, map, c.ItemData.Height, ref house ) )
|
||||
return AddonFitResult.NotInHouse;
|
||||
|
||||
if ( c.NeedsWall )
|
||||
|
|
@ -137,44 +135,38 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
foreach ( BaseHouse house in houses )
|
||||
ArrayList doors = house.Doors;
|
||||
|
||||
for ( int i = 0; i < doors.Count; ++i )
|
||||
{
|
||||
ArrayList doors = house.Doors;
|
||||
BaseDoor door = doors[i] as BaseDoor;
|
||||
|
||||
for ( int i = 0; i < doors.Count; ++i )
|
||||
if ( door != null && door.Open )
|
||||
return AddonFitResult.DoorsNotClosed;
|
||||
|
||||
Point3D doorLoc = door.GetWorldLocation();
|
||||
int doorHeight = door.ItemData.CalcHeight;
|
||||
|
||||
foreach ( AddonComponent c in m_Components )
|
||||
{
|
||||
BaseDoor door = doors[i] as BaseDoor;
|
||||
|
||||
if ( door != null && door.Open )
|
||||
return AddonFitResult.DoorsNotClosed;
|
||||
|
||||
Point3D doorLoc = door.GetWorldLocation();
|
||||
int doorHeight = door.ItemData.CalcHeight;
|
||||
|
||||
foreach ( AddonComponent c in m_Components )
|
||||
{
|
||||
Point3D addonLoc = new Point3D( p.X + c.Offset.X, p.Y + c.Offset.Y, p.Z + c.Offset.Z );
|
||||
int addonHeight = c.ItemData.CalcHeight;
|
||||
|
||||
if ( Utility.InRange( doorLoc, addonLoc, 1 ) && (addonLoc.Z == doorLoc.Z || ((addonLoc.Z + addonHeight) > doorLoc.Z && (doorLoc.Z + doorHeight) > addonLoc.Z)) )
|
||||
return AddonFitResult.DoorTooClose;
|
||||
}
|
||||
Point3D addonLoc = new Point3D( p.X + c.Offset.X, p.Y + c.Offset.Y, p.Z + c.Offset.Z );
|
||||
int addonHeight = c.ItemData.CalcHeight;
|
||||
|
||||
if ( Utility.InRange( doorLoc, addonLoc, 1 ) && (addonLoc.Z == doorLoc.Z || ((addonLoc.Z + addonHeight) > doorLoc.Z && (doorLoc.Z + doorHeight) > addonLoc.Z)) )
|
||||
return AddonFitResult.DoorTooClose;
|
||||
}
|
||||
}
|
||||
|
||||
return AddonFitResult.Valid;
|
||||
}
|
||||
|
||||
public static bool CheckHouse( Mobile from, Point3D p, Map map, int height, ref List<BaseHouse> list )
|
||||
public static bool CheckHouse( Mobile from, Point3D p, Map map, int height, ref BaseHouse house )
|
||||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt( p, map, height );
|
||||
house = BaseHouse.FindHouseAt( p, map, height );
|
||||
|
||||
if ( from == null || house == null || !house.IsOwner( from ) )
|
||||
return false;
|
||||
|
||||
if ( !list.Contains( house ) )
|
||||
list.Add( house );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -73,9 +73,9 @@ namespace Server.Items
|
|||
|
||||
Server.Spells.SpellHelper.GetSurfaceTop( ref p );
|
||||
|
||||
List<BaseHouse> houses = new List<BaseHouse>();
|
||||
List<BaseHouse> house;
|
||||
|
||||
AddonFitResult res = addon.CouldFit( p, map, from, ref houses );
|
||||
AddonFitResult res = addon.CouldFit( p, map, from, ref house );
|
||||
|
||||
if ( res == AddonFitResult.Valid )
|
||||
addon.MoveToWorld( new Point3D( p ), map );
|
||||
|
|
@ -93,9 +93,7 @@ namespace Server.Items
|
|||
if ( res == AddonFitResult.Valid )
|
||||
{
|
||||
m_Deed.Delete();
|
||||
|
||||
foreach ( BaseHouse h in houses )
|
||||
h.Addons.Add( addon );
|
||||
house.Addons.Add( addon );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Multis;
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ namespace Server.Mobiles
|
|||
private string m_ShopName;
|
||||
private Mobile m_Owner;
|
||||
|
||||
private ArrayList m_Items;
|
||||
private List<Item> m_Items;
|
||||
private int m_Gold;
|
||||
|
||||
private DateTime m_ExpireTime;
|
||||
|
|
@ -27,7 +27,7 @@ namespace Server.Mobiles
|
|||
m_VendorName = vendorName;
|
||||
m_ShopName = shopName;
|
||||
|
||||
m_Items = new ArrayList();
|
||||
m_Items = new List<Item>();
|
||||
|
||||
m_ExpireTime = DateTime.Now + GracePeriod;
|
||||
m_ExpireTimer = new ExpireTimer( this, GracePeriod );
|
||||
|
|
@ -58,7 +58,7 @@ namespace Server.Mobiles
|
|||
set{ m_Owner = value; }
|
||||
}
|
||||
|
||||
public ArrayList Items
|
||||
public List<Item> Items
|
||||
{
|
||||
get{ return m_Items; }
|
||||
}
|
||||
|
|
@ -104,7 +104,7 @@ namespace Server.Mobiles
|
|||
writer.Write( (string) m_VendorName );
|
||||
writer.Write( (string) m_ShopName );
|
||||
|
||||
writer.WriteItemList( m_Items, true );
|
||||
writer.Write( m_Items, true );
|
||||
writer.Write( (int) m_Gold );
|
||||
|
||||
writer.WriteDeltaTime( m_ExpireTime );
|
||||
|
|
@ -120,7 +120,7 @@ namespace Server.Mobiles
|
|||
m_VendorName = reader.ReadString();
|
||||
m_ShopName = reader.ReadString();
|
||||
|
||||
m_Items = reader.ReadItemList();
|
||||
m_Items = reader.ReadStrongItemList();
|
||||
m_Gold = reader.ReadInt();
|
||||
|
||||
m_ExpireTime = reader.ReadDeltaTime();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Collections;
|
||||
|
||||
namespace Server.Multis
|
||||
{
|
||||
|
|
@ -142,7 +142,7 @@ namespace Server.Multis
|
|||
for ( int i = 0; i < m_Columns.Length; ++i )
|
||||
m_Columns[i] = new ColumnInfo( i, types[i], names[i] );
|
||||
|
||||
ArrayList records = new ArrayList();
|
||||
List<DataRecord> records = new List<DataRecord>();
|
||||
|
||||
string[] values;
|
||||
|
||||
|
|
@ -172,7 +172,7 @@ namespace Server.Multis
|
|||
records.Add( new DataRecord( this, data ) );
|
||||
}
|
||||
|
||||
m_Records = (DataRecord[]) records.ToArray( typeof( DataRecord ) );
|
||||
m_Records = records.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
using Server.Commands;
|
||||
using Server.Gumps;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
using Server.Targeting;
|
||||
using Server.Commands;
|
||||
|
||||
namespace Server.Multis
|
||||
{
|
||||
|
|
@ -32,13 +32,13 @@ namespace Server.Multis
|
|||
private Item m_Signpost; // Item supporting the hanger.
|
||||
private int m_SignpostGraphic; // ItemID number of the chosen signpost.
|
||||
private int m_LastRevision; // Latest revision number.
|
||||
private ArrayList m_Fixtures; // List of fixtures (teleporters and doors) associated with this house.
|
||||
private List<Item> m_Fixtures; // List of fixtures (teleporters and doors) associated with this house.
|
||||
private FoundationType m_Type; // Graphic type of this foundation.
|
||||
private Mobile m_Customizer; // Who is currently customizing this -or- null if not customizing.
|
||||
|
||||
public FoundationType Type { get { return m_Type; } set { m_Type = value; } }
|
||||
public int LastRevision { get { return m_LastRevision; } set { m_LastRevision = value; } }
|
||||
public ArrayList Fixtures { get { return m_Fixtures; } }
|
||||
public List<Item> Fixtures { get { return m_Fixtures; } }
|
||||
public Item SignHanger { get { return m_SignHanger; } }
|
||||
public Item Signpost { get { return m_Signpost; } }
|
||||
public int SignpostGraphic { get { return m_SignpostGraphic; } set { m_SignpostGraphic = value; } }
|
||||
|
|
@ -126,7 +126,7 @@ namespace Server.Multis
|
|||
|
||||
for( int i = 0; i < m_Fixtures.Count; ++i )
|
||||
{
|
||||
Item item = (Item)m_Fixtures[i];
|
||||
Item item = m_Fixtures[i];
|
||||
|
||||
if( item != null )
|
||||
item.Delete();
|
||||
|
|
@ -154,7 +154,7 @@ namespace Server.Multis
|
|||
|
||||
for( int i = 0; i < m_Fixtures.Count; ++i )
|
||||
{
|
||||
Item item = (Item)m_Fixtures[i];
|
||||
Item item = m_Fixtures[i];
|
||||
|
||||
if( Doors.Contains( item ) )
|
||||
continue;
|
||||
|
|
@ -177,7 +177,7 @@ namespace Server.Multis
|
|||
return;
|
||||
|
||||
for( int i = 0; i < m_Fixtures.Count; ++i )
|
||||
((Item)m_Fixtures[i]).Map = this.Map;
|
||||
m_Fixtures[i].Map = this.Map;
|
||||
}
|
||||
|
||||
public void ClearFixtures( Mobile from )
|
||||
|
|
@ -189,7 +189,7 @@ namespace Server.Multis
|
|||
|
||||
for( int i = 0; i < m_Fixtures.Count; ++i )
|
||||
{
|
||||
((Item)m_Fixtures[i]).Delete();
|
||||
m_Fixtures[i].Delete();
|
||||
Doors.Remove( m_Fixtures[i] );
|
||||
}
|
||||
|
||||
|
|
@ -199,7 +199,7 @@ namespace Server.Multis
|
|||
public void AddFixtures( Mobile from, MultiTileEntry[] list )
|
||||
{
|
||||
if( m_Fixtures == null )
|
||||
m_Fixtures = new ArrayList();
|
||||
m_Fixtures = new List<Item>();
|
||||
|
||||
uint keyValue = 0;
|
||||
|
||||
|
|
@ -367,7 +367,7 @@ namespace Server.Multis
|
|||
|
||||
for( int i = 0; i < m_Fixtures.Count; ++i )
|
||||
{
|
||||
Item fixture = (Item)m_Fixtures[i];
|
||||
Item fixture = m_Fixtures[i];
|
||||
|
||||
if( fixture is HouseTeleporter )
|
||||
{
|
||||
|
|
@ -575,7 +575,7 @@ namespace Server.Multis
|
|||
{
|
||||
m_SignpostGraphic = 9;
|
||||
|
||||
m_Fixtures = new ArrayList();
|
||||
m_Fixtures = new List<Item>();
|
||||
|
||||
int x = Components.Min.X;
|
||||
int y = Components.Height - 1 - Components.Center.Y;
|
||||
|
|
@ -647,7 +647,7 @@ namespace Server.Multis
|
|||
writer.Write( m_SignHanger );
|
||||
|
||||
writer.Write( (int)m_LastRevision );
|
||||
writer.WriteItemList( m_Fixtures, true );
|
||||
writer.Write( m_Fixtures, true );
|
||||
|
||||
CurrentState.Serialize( writer );
|
||||
DesignState.Serialize( writer );
|
||||
|
|
@ -702,7 +702,7 @@ namespace Server.Multis
|
|||
m_SignpostGraphic = 9;
|
||||
|
||||
m_LastRevision = reader.ReadInt();
|
||||
m_Fixtures = reader.ReadItemList();
|
||||
m_Fixtures = reader.ReadStrongItemList();
|
||||
|
||||
m_Current = new DesignState( this, reader );
|
||||
m_Design = new DesignState( this, reader );
|
||||
|
|
@ -1957,16 +1957,19 @@ namespace Server.Multis
|
|||
m_Level = 1;
|
||||
}
|
||||
|
||||
private static Hashtable m_Table = new Hashtable();
|
||||
private static Dictionary<Mobile, DesignContext> m_Table = new Dictionary<Mobile, DesignContext>();
|
||||
|
||||
public static Hashtable Table { get { return m_Table; } }
|
||||
public static Dictionary<Mobile, DesignContext> Table { get { return m_Table; } }
|
||||
|
||||
public static DesignContext Find( Mobile from )
|
||||
{
|
||||
if( from == null )
|
||||
return null;
|
||||
|
||||
return (DesignContext)m_Table[from];
|
||||
DesignContext d;
|
||||
m_Table.TryGetValue( from, out d );
|
||||
|
||||
return d;
|
||||
}
|
||||
|
||||
public static bool Check( Mobile m )
|
||||
|
|
@ -1989,7 +1992,7 @@ namespace Server.Multis
|
|||
|
||||
m_Table[from] = c;
|
||||
|
||||
if( from is PlayerMobile )
|
||||
if ( from is PlayerMobile )
|
||||
((PlayerMobile)from).DesignContext = c;
|
||||
|
||||
foundation.Customizer = from;
|
||||
|
|
@ -2002,11 +2005,11 @@ namespace Server.Multis
|
|||
if( state == null )
|
||||
return;
|
||||
|
||||
ArrayList fixtures = foundation.Fixtures;
|
||||
List<Item> fixtures = foundation.Fixtures;
|
||||
|
||||
for( int i = 0; fixtures != null && i < fixtures.Count; ++i )
|
||||
{
|
||||
Item item = (Item)fixtures[i];
|
||||
Item item = fixtures[i];
|
||||
|
||||
state.Send( item.RemovePacket );
|
||||
}
|
||||
|
|
@ -2017,10 +2020,10 @@ namespace Server.Multis
|
|||
|
||||
public static void Remove( Mobile from )
|
||||
{
|
||||
if( from == null )
|
||||
return;
|
||||
DesignContext context = Find( from );
|
||||
|
||||
DesignContext context = (DesignContext)m_Table[from];
|
||||
if ( context == null )
|
||||
return;
|
||||
|
||||
m_Table.Remove( from );
|
||||
|
||||
|
|
@ -2037,11 +2040,11 @@ namespace Server.Multis
|
|||
if( state == null )
|
||||
return;
|
||||
|
||||
ArrayList fixtures = context.Foundation.Fixtures;
|
||||
List<Item> fixtures = context.Foundation.Fixtures;
|
||||
|
||||
for( int i = 0; fixtures != null && i < fixtures.Count; ++i )
|
||||
{
|
||||
Item item = (Item)fixtures[i];
|
||||
Item item = fixtures[i];
|
||||
|
||||
item.SendInfoTo( state );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,10 +73,11 @@ namespace Server.Multis
|
|||
Point3D start = new Point3D( center.X + mcl.Min.X, center.Y + mcl.Min.Y, center.Z );
|
||||
|
||||
// These are storage lists. They hold items and mobiles found in the map for further processing
|
||||
ArrayList items = new ArrayList(), mobiles = new ArrayList();
|
||||
List<Item> items = new List<Item>();
|
||||
List<Mobile> mobiles = new List<Mobile>();
|
||||
|
||||
// These are also storage lists. They hold location values indicating the yard and border locations.
|
||||
ArrayList yard = new ArrayList(), borders = new ArrayList();
|
||||
List<Point2D> yard = new List<Point2D>(), borders = new List<Point2D>();
|
||||
|
||||
/* RULES:
|
||||
*
|
||||
|
|
@ -132,7 +133,7 @@ namespace Server.Multis
|
|||
|
||||
for ( int i = 0; i < sector.Mobiles.Count; ++i )
|
||||
{
|
||||
Mobile m = (Mobile)sector.Mobiles[i];
|
||||
Mobile m = sector.Mobiles[i];
|
||||
|
||||
if ( m.X == tileX && m.Y == tileY )
|
||||
mobiles.Add( m );
|
||||
|
|
@ -184,7 +185,7 @@ namespace Server.Multis
|
|||
|
||||
for ( int j = 0; j < items.Count; ++j )
|
||||
{
|
||||
Item item = (Item)items[j];
|
||||
Item item = items[j];
|
||||
ItemData id = item.ItemData;
|
||||
|
||||
if ( addTileTop > item.Z && (item.Z + id.CalcHeight) > addTileZ )
|
||||
|
|
@ -205,7 +206,7 @@ namespace Server.Multis
|
|||
|
||||
for ( int j = 0; j < mobiles.Count; ++j )
|
||||
{
|
||||
Mobile m = (Mobile)mobiles[j];
|
||||
Mobile m = mobiles[j];
|
||||
|
||||
if ( addTileTop > m.Z && (m.Z + 16) > addTileZ )
|
||||
toMove.Add( m );
|
||||
|
|
@ -272,7 +273,7 @@ namespace Server.Multis
|
|||
|
||||
for ( int i = 0; i < borders.Count; ++i )
|
||||
{
|
||||
Point2D borderPoint = (Point2D)borders[i];
|
||||
Point2D borderPoint = borders[i];
|
||||
|
||||
Tile landTile = map.Tiles.GetLandTile( borderPoint.X, borderPoint.Y );
|
||||
int landID = landTile.ID & 0x3FFF;
|
||||
|
|
@ -316,7 +317,7 @@ namespace Server.Multis
|
|||
|
||||
for ( int i = 0; i < yard.Count; ++i )
|
||||
{
|
||||
Point2D yardPoint = (Point2D)yard[i];
|
||||
Point2D yardPoint = yard[i];
|
||||
|
||||
IPooledEnumerable eable = map.GetMultiTilesAt( yardPoint.X, yardPoint.Y );
|
||||
|
||||
|
|
|
|||
|
|
@ -557,7 +557,7 @@ namespace Server.Items
|
|||
{
|
||||
for ( int i = 0; i < entries.Length; ++i )
|
||||
{
|
||||
HousePlacementEntry e = (HousePlacementEntry)entries[i];
|
||||
HousePlacementEntry e = entries[i];
|
||||
|
||||
object obj = m_Table[e.m_Type];
|
||||
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@
|
|||
***************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using Server.Network;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server
|
||||
{
|
||||
|
|
@ -37,9 +37,9 @@ namespace Server
|
|||
public static Race Human { get { return m_Races[0]; } }
|
||||
public static Race Elf { get { return m_Races[1]; } }
|
||||
|
||||
private static ArrayList m_AllRaces = new ArrayList();
|
||||
private static List<Race> m_AllRaces = new List<Race>( 2 );
|
||||
|
||||
public static ArrayList AllRaces { get { return m_AllRaces; } }
|
||||
public static List<Race> AllRaces { get { return m_AllRaces; } }
|
||||
|
||||
private int m_RaceID, m_RaceIndex;
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ namespace Server
|
|||
|
||||
for( int i = 0; i < m_AllRaces.Count; ++i )
|
||||
{
|
||||
Race race = (Race)m_AllRaces[i];
|
||||
Race race = m_AllRaces[i];
|
||||
|
||||
m_RaceNames[i] = race.Name;
|
||||
m_RaceValues[i] = race;
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Server
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue