public EOChatBubble(NPCRenderer following) : base(EOGame.Instance) { m_ref = following; m_isChar = false; DrawOrder = following.NPC.Index + (int)ControlDrawLayer.BaseLayer + 1; //use index for draw order _initLabel(); Visible = false; EOGame.Instance.Components.Add(this); }
public static void Show(PacketAPI api, NPCRenderer shopKeeper) { if (Instance != null) return; Instance = new ShopDialog(api, shopKeeper.NPC.Data.ID); //request from server is based on the map index if (!api.RequestShop(shopKeeper.NPC.Index)) { Instance.Close(); Instance = null; EOGame.Instance.DoShowLostConnectionDialogAndReturnToMainMenu(); } }
public EONPCSpriteSheet(INativeGraphicsManager gfxManager, NPCRenderer npcToWatch) { _gfxManager = gfxManager; _npcRenderer = npcToWatch; }
public void AddOtherNPC(NPCData data) { lock (_npcListLock) { var fileData = World.Instance.ENF.GetNPCRecordByID(data.ID); NPCRenderer newNpcRenderer = new NPCRenderer(new NPC(data, fileData)); newNpcRenderer.Initialize(); newNpcRenderer.Visible = true; _npcRenderers.Add(newNpcRenderer); } }
private void _renderSpellOnNPC(short spellID, NPCRenderer renderer) { if (spellID < 1) return; var spellInfo = World.Instance.ESF.GetSpellRecordByID(spellID); renderer.ShowSpellAnimation(spellInfo.Graphic); }