/// <summary> /// creates a portal of the specified weenie at the position provided /// </summary> public static void SpawnPortal(PortalWcid weenieClassId, Position newPosition, float despawnTime) { WorldObject portal = WorldObjectFactory.CreateNewWorldObject((uint)weenieClassId); portal.Positions.Add(PositionType.Location, newPosition); LandblockManager.AddObject(portal); // Create portal decay ActionChain despawnChain = new ActionChain(); despawnChain.AddDelaySeconds(despawnTime); despawnChain.AddAction(portal, () => portal.CurrentLandblock.RemoveWorldObject(portal.Guid, false)); despawnChain.EnqueueChain(); }
/// <summary> /// creates a portal of the specified weenie at the position provided /// </summary> public static void SpawnPortal(PortalWcid weenieClassId, Position newPosition, float despawnTime) { AceObject aceO = DatabaseManager.World.GetAceObjectByWeenie((ushort)weenieClassId); aceO.AceObjectPropertiesPositions.Add(PositionType.Location, newPosition); WorldObject portal = new Portal(aceO); portal.Guid = GuidManager.NewItemGuid(); LandblockManager.AddObject(portal); // Create portal decay ActionChain despawnChain = new ActionChain(); despawnChain.AddDelaySeconds(despawnTime); despawnChain.AddAction(portal, () => portal.CurrentLandblock.RemoveWorldObject(portal.Guid, false)); despawnChain.EnqueueChain(); }