public override bool NewRightClick(int i, int j) { TileEntities.Teleporter teleporter = Utility.GetTileEntity <TileEntities.Teleporter>(i, j); if (teleporter == null) { return(false); } PanelUI.Instance.HandleUI(teleporter); return(true); }
public override void SpecialDraw(int i, int j, SpriteBatch spriteBatch) { TileEntities.Teleporter teleporter = Utility.GetTileEntity <TileEntities.Teleporter>(i, j); if (teleporter == null || !Main.tile[i, j].IsTopLeft()) { return; } Vector2 position = new Point16(i, j).ToScreenCoordinates(); spriteBatch.Draw(Teleportation.teleporterGlow[3], position + new Vector2(8, 2), new Rectangle(0, teleporter.Active ? 6 : 0, 96, 6), Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f); }
public override bool PreDraw(int i, int j, SpriteBatch spriteBatch) { TileEntities.Teleporter teleporter = Utility.GetTileEntity <TileEntities.Teleporter>(i, j); if (teleporter == null || !Main.tile[i, j].IsTopLeft() || !teleporter.Active) { return(true); } Vector2 position = new Point16(i + 1, j).ToScreenCoordinates(); spriteBatch.Draw(Teleportation.teleporterEffect, position + new Vector2(8, 2), null, Color.White * 0.75f, 0f, new Vector2(10, 100), new Vector2(2, 1), SpriteEffects.None, 0f); return(true); }
public override void KillMultiTile(int i, int j, int frameX, int frameY) { TileEntities.Teleporter teleporter = Utility.GetTileEntity <TileEntities.Teleporter>(i, j); if (teleporter != null) { PanelUI.Instance.CloseUI(teleporter); teleporter.Kill(i, j); if (Main.netMode != NetmodeID.Server) { foreach (BaseElement element in PanelUI.Instance.Children) { if (element is TeleporterPanel panel) { panel.UpdateGrid(); } } } } }
public override void ModifyLight(int i, int j, ref float r, ref float g, ref float b) { TileEntities.Teleporter teleporter = Utility.GetTileEntity <TileEntities.Teleporter>(i, j); if (teleporter == null) { return; } if (teleporter.Active) { r = 1.0f; g = 0.863f; b = 0.0f; } else { r = 0.2f; g = 0.2f; b = 0.8f; } }