// // using System.Collections.Generic; using System.Xml; using System.Xml.Linq; public class MinEventActionTeleport : MinEventActionTargetedBase { private string location; public override void Execute(MinEventParams _params) { // var player = GameManager.Instance.GetPersistentLocalPlayer(); var player = _params.Self as EntityPlayer; if (player == null) return; if (string.IsNullOrEmpty(location)) return; var destination = PortalManager.Instance.GetDestination(location); if (destination == Vector3i.zero) return; // No portal player.SetPosition(destination); //player.Teleport(destination); } public override bool ParseXmlAttribute(XAttribute _attribute) { var flag = base.ParseXmlAttribute(_attribute); if (!flag) { var name = _attribute.Name.LocalName; if (name != null) { if (name == "location") { location = _attribute.Value; return true; } } } return flag; } }