private void OnTriggerEnter2D(Collider2D collision) { if (collision.tag == "Door") { door = collision.GetComponent <DoorTeleporter>(); } }
private void Start() { DoorTeleporter Teleporter = GetComponentInChildren <DoorTeleporter>(); Teleporter.LinkedDoorTeleporter = LinkedDoor.GetComponentInChildren <DoorTeleporter>(); Teleporter.TeleportSoundPrefab = TeleportSoundPrefab; }
private void OnTriggerExit2D(Collider2D collision) { if (collision.tag == "Door") { if (door == collision.GetComponent <DoorTeleporter>()) { door = null; } } }
public static string Construct(Item item) { string s; int itemID = item.ItemID; if (item is BaseAddon) { for (int i = 0; i < ((BaseAddon)item).Components.Count; i++) { if (((BaseAddon)item).Components[i].Offset == Point3D.Zero) { itemID = ((BaseAddon)item).Components[i].ItemID; break; } } } if (item is LocalizedStatic) { Add("LabelNumber", ((LocalizedStatic)item).Number.ToString()); } else if (item is LocalizedSign) { Add("LabelNumber", ((LocalizedSign)item).Number.ToString()); } else if (item is AnkhWest) { Add("Bloodied", (item.ItemID == 0x1D98).ToString()); } else if (item is AnkhNorth) { Add("Bloodied", (item.ItemID == 0x1E5D).ToString()); } else if (item is MarkContainer) { Add("Bone", ((MarkContainer)item).Bone.ToString()); Add("Locked", ((MarkContainer)item).AutoLock.ToString()); if (((MarkContainer)item).TargetMap != null) { Add("TargetMap", ((MarkContainer)item).TargetMap.ToString()); } } else if (item is WarningItem) { Add("Range", ((WarningItem)item).Range.ToString()); if (VS(((WarningItem)item).WarningString)) { Add("WarningString", ((WarningItem)item).WarningString); } Add("WarningNumber", ((WarningItem)item).WarningNumber.ToString()); if (item is HintItem) { if (VS(((HintItem)item).HintString)) { Add("HintString", ((HintItem)item).HintString); } Add("HintNumber", ((HintItem)item).HintNumber.ToString()); } Add("Range", ((WarningItem)item).ResetDelay.ToString()); } else if (item is SerpentPillar) { if (VS(((SerpentPillar)item).Word)) { Add("Word", ((SerpentPillar)item).Word); } Add("DestStart", ((SerpentPillar)item).Destination.Start.ToString()); Add("DestEnd", ((SerpentPillar)item).Destination.End.ToString()); } else if (item.GetType().IsSubclassOf(typeof(BaseBeverage))) { Add("Content", ((BaseBeverage)item).Content.ToString()); } else if (item.GetType().IsSubclassOf(typeof(BaseDoor))) { if ((item.ItemID == 0x3B1)) { Add("Facing", "WestSS"); } else if ((item.ItemID == 0x3B2)) { Add("Facing", "SouthSW"); } else if ((item.ItemID == 1663) || (item.ItemID == 1743) || (item.ItemID == 1695) || (item.ItemID == 1711) || (item.ItemID == 1759) || (item.ItemID == 1775) || (item.ItemID == 2115) || (item.ItemID == 2160) || (item.ItemID == 1727) || (item.ItemID == 846) || (item.ItemID == 830) || (item.ItemID == 798) || (item.ItemID == 242) || (item.ItemID == 814) || (item.ItemID == 862) || (item.ItemID == 2134) || (item.ItemID == 2094) || (item.ItemID == 1679) || (item.ItemID == 8183)) { Add("Facing", "NorthCCW"); } else if ((item.ItemID == 1661) || (item.ItemID == 1741) || (item.ItemID == 1693) || (item.ItemID == 1709) || (item.ItemID == 1757) || (item.ItemID == 1773) || (item.ItemID == 2113) || (item.ItemID == 2158) || (item.ItemID == 1725) || (item.ItemID == 844) || (item.ItemID == 828) || (item.ItemID == 796) || (item.ItemID == 240) || (item.ItemID == 812) || (item.ItemID == 860) || (item.ItemID == 2132) || (item.ItemID == 2092) || (item.ItemID == 1677) || (item.ItemID == 8181)) { Add("Facing", "SouthCW"); } else { Add("Facing", GetFacing(((BaseDoor)item).Offset).ToString()); } } if (item is BaseLight) { if (!((BaseLight)item).Burning) { Add("Unlit", String.Empty); } if (!((BaseLight)item).Protected) { Add("Unprotected", String.Empty); } } else if (item is Spawner) { Spawner sp = (Spawner)item; for (int i = 0; i < sp.SpawnNames.Count; i++) { if (VS(sp.SpawnNames[i])) { Add("Spawn", sp.SpawnNames[i]); } } // if( sp.MinDelay > TimeSpan.Zero ) Add("MinDelay", sp.MinDelay.ToString()); // if( sp.MaxDelay > TimeSpan.Zero ) Add("MaxDelay", sp.MaxDelay.ToString()); // if( sp.NextSpawn > TimeSpan.Zero ) //Add("NextSpawn", sp.NextSpawn.ToString()); // if( sp.Count > 0 ) Add("Count", sp.Count.ToString()); // if( sp.Team > 0 ) //Add("Team", sp.Team.ToString()); // if( sp.HomeRange > 0 ) Add("HomeRange", sp.HomeRange.ToString()); // if( sp.Running ) Add("Running", sp.Running.ToString()); // if( sp.Group ) Add("Group", sp.Group.ToString()); } else if (item is RecallRune) { RecallRune rune = (RecallRune)item; if (VS(rune.Description)) { Add("Description", rune.Description); } Add("Marked", rune.Marked.ToString()); if (rune.TargetMap != null) { Add("TargetMap", rune.TargetMap.ToString()); } Add("Target", rune.Target.ToString()); } else if (item is DoorTeleporter) { DoorTeleporter tp = (DoorTeleporter)item; Add("PointDest", tp.PointDest.ToString()); if (tp.MapDest != null) { Add("MapDest", tp.MapDest.ToString()); } Add("Creatures", tp.Creatures.ToString()); Add("SourceEffect", tp.SourceEffect.ToString()); Add("DestEffect", tp.DestEffect.ToString()); Add("SoundID", tp.SoundID.ToString()); Add("Delay", tp.Delay.ToString()); } else if (item is PublicDoor) { PublicDoor tp = (PublicDoor)item; Add("PointDest", tp.PointDest.ToString()); if (tp.MapDest != null) { Add("MapDest", tp.MapDest.ToString()); } } else if (item is moongates) { moongates tp = (moongates)item; Add("PointDest", tp.PointDest.ToString()); if (tp.MapDest != null) { Add("MapDest", tp.MapDest.ToString()); } Add("Creatures", tp.Creatures.ToString()); Add("SourceEffect", tp.SourceEffect.ToString()); Add("DestEffect", tp.DestEffect.ToString()); Add("SoundID", tp.SoundID.ToString()); Add("Delay", tp.Delay.ToString()); } else if (item is Teleporter) { Teleporter tp = (Teleporter)item; if (item is SkillTeleporter) { SkillTeleporter st = (SkillTeleporter)item; Add("Skill", st.Skill.ToString()); // "RequiredFixedPoint" == Required * 0.1 ? Add("Required", st.Required.ToString()); if (VS(st.MessageString)) { Add("MessageString", st.MessageString); } Add("MessageNumber", st.MessageNumber.ToString()); } else if (item is QuestTransporter) { QuestTransporter st = (QuestTransporter)item; Add("TeleportName", st.TeleportName); Add("Required", st.Required); if (VS(st.MessageString)) { Add("MessageString", st.MessageString); } } else if (item is KeywordTeleporter) { KeywordTeleporter kt = (KeywordTeleporter)item; if (VS(kt.Substring)) { Add("Substring", kt.Substring); } Add("Keyword", kt.Keyword.ToString()); Add("Range", kt.Range.ToString()); } Add("PointDest", tp.PointDest.ToString()); if (tp.MapDest != null) { Add("MapDest", tp.MapDest.ToString()); } Add("Creatures", tp.Creatures.ToString()); Add("SourceEffect", tp.SourceEffect.ToString()); Add("DestEffect", tp.DestEffect.ToString()); Add("SoundID", tp.SoundID.ToString()); Add("Delay", tp.Delay.ToString()); } else if (item is FillableContainer) { Add("ContentType", ((FillableContainer)item).ContentType.ToString()); } if (item.Light != LightType.ArchedWindowEast) { Add("Light", item.Light.ToString()); } if (item.Hue > 0) { Add("Hue", item.Hue.ToString()); } if (VS(item.Name)) { Add("Name", item.Name); } if (item.Amount > 1) { Add("Amount", item.Amount.ToString()); } s = String.Format("{0} {1}", ConstructType(item), itemID); if (List.Count > 0) { s += " ("; for (int i = 0; i < List.Count; i++) { if (List[i][1] == String.Empty) { s += String.Format("{0}{1}", List[i][0], (i < List.Count - 1 ? "; " : String.Empty)); } else { s += String.Format("{0}={1}{2}", List[i][0], List[i][1], (i < List.Count - 1 ? "; " : String.Empty)); } } s += ")"; } List.Clear(); return(s); }