本文整理汇总了C#中Server.Items.MegaSpawner.CheckAddItem方法的典型用法代码示例。如果您正苦于以下问题:C# MegaSpawner.CheckAddItem方法的具体用法?C# MegaSpawner.CheckAddItem怎么用?C# MegaSpawner.CheckAddItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Server.Items.MegaSpawner
的用法示例。
在下文中一共展示了MegaSpawner.CheckAddItem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SpawnEntry
public static void SpawnEntry( MegaSpawner megaSpawner, int index )
{
if ( !(bool) megaSpawner.ActivatedList[index] )
return;
Type spawnType = ScriptCompiler.FindTypeByName( (string) megaSpawner.EntryList[index] );
if ( spawnType != null )
{
object check = null;
try
{
object o = Activator.CreateInstance( spawnType );
check = o;
if ( o is Item )
{
Item item = (Item) o;
if ( item.Stackable )
{
int min = (int) megaSpawner.MinStackAmountList[index];
int max = (int) megaSpawner.MaxStackAmountList[index];
int stack = Utility.Random( min, ( max - min ) );
item.Amount = stack;
}
if ( megaSpawner.RootParent is Container )
( (Container) megaSpawner.RootParent ).DropItem( item );
else if ( megaSpawner.ContainerSpawn != null )
megaSpawner.ContainerSpawn.DropItem( item );
else
item.MoveToWorld( GetSpawnPosition( megaSpawner ), megaSpawner.Map );
item.Movable = (bool) megaSpawner.MovableList[index];
megaSpawner.OverrideSpawnedEntries.Add( item );
megaSpawner.OverrideLastMovedList.Add( item.LastMoved );
AddToRespawnEntries( megaSpawner, item );
}
else if ( o is Mobile )
{
Mobile m = (Mobile) o;
Map map = megaSpawner.Map;
Point3D loc = ( m is BaseVendor ? megaSpawner.Location : GetSpawnPosition( megaSpawner ) );
m.Map = map;
m.Location = loc;
if ( m is BaseCreature )
{
BaseCreature creature = (BaseCreature) m;
creature.Location = GetSpawnPosition( megaSpawner );
creature.Home = megaSpawner.Location;
creature.RangeHome = megaSpawner.OverrideWalkRange;
creature.CantWalk = !(bool) megaSpawner.MovableList[index];
// Genova: customização no sistema para traduzir nome da criatura.
TraducaoDeNomesMobiles.AplicarAlteracoesCriatura(creature, spawnType.ToString(), creature.Title);
}
megaSpawner.OverrideSpawnedEntries.Add( m );
megaSpawner.OverrideLastMovedList.Add( DateTime.Now );
AddToRespawnEntries( megaSpawner, m );
}
megaSpawner.CheckAddItem( index, o );
}
catch
{
if ( check is Item )
( (Item) check ).Delete();
else if ( check is Mobile )
( (Mobile) check ).Delete();
}
}
}