public object FindHouseName( BaseHouse house ) { int multiID = house.ItemID & 0x3FFF; HousePlacementEntry[] entries; entries = HousePlacementEntry.ClassicHouses; for ( int i = 0; i < entries.Length; ++i ) { if ( entries[i].MultiID == multiID ) return entries[i].Description; } entries = HousePlacementEntry.TwoStoryFoundations; for ( int i = 0; i < entries.Length; ++i ) { if ( entries[i].MultiID == multiID ) return entries[i].Description; } entries = HousePlacementEntry.ThreeStoryFoundations; for ( int i = 0; i < entries.Length; ++i ) { if ( entries[i].MultiID == multiID ) return entries[i].Description; } return house.GetType().Name; }
public static HousePlacementEntry Find( BaseHouse house ) { object obj = m_Table[house.GetType()]; if ( obj is HousePlacementEntry ) { return ((HousePlacementEntry)obj); } else if ( obj is ArrayList ) { ArrayList list = (ArrayList)obj; for ( int i = 0; i < list.Count; ++i ) { HousePlacementEntry e = (HousePlacementEntry)list[i]; if ( e.m_MultiID == (house.ItemID & 0x3FFF) ) return e; } } else if ( obj is Hashtable ) { Hashtable table = (Hashtable)obj; obj = table[house.ItemID & 0x3FFF]; if ( obj is HousePlacementEntry ) return (HousePlacementEntry)obj; } return null; }
public static HousePlacementEntry Find(BaseHouse house) { object obj = m_Table[house.GetType()]; if (obj is HousePlacementEntry) { return ((HousePlacementEntry)obj); } if (obj is ArrayList) { var list = (ArrayList)obj; return list.Cast<HousePlacementEntry>().FirstOrDefault(e => e.MultiID == house.ItemID); } if (obj is Hashtable) { var table = (Hashtable)obj; obj = table[house.ItemID]; if (obj is HousePlacementEntry) { return (HousePlacementEntry)obj; } } return null; }