public void setContent(final FieldProvider fieldProvider) { String dialog = ""; if (fieldProvider instanceof SpellLevel) { dialog = "spellDetailPopup"; this.m_property = "describedSpell"; } else if (fieldProvider instanceof Item || fieldProvider instanceof ReferenceItem || fieldProvider instanceof MerchantInventoryItem || fieldProvider instanceof ReferenceItemFieldProvider) { Item item = null; ReferenceItem refItem; if (fieldProvider instanceof Item) { refItem = (ReferenceItem) ((Item) fieldProvider).getReferenceItem(); item = (Item) fieldProvider; } else if (fieldProvider instanceof ReferenceItem) { refItem = (ReferenceItem) fieldProvider; } else if (fieldProvider instanceof MerchantInventoryItem) { refItem = (ReferenceItem) ((MerchantInventoryItem) fieldProvider).getItem().getReferenceItem(); } else { if (!(fieldProvider instanceof ReferenceItemFieldProvider)) { return; } refItem = ((ReferenceItemFieldProvider) fieldProvider).getReferenceItem(); } final ReferenceItemDisplayer refItemDisplayer = refItem.getReferenceItemDisplayer(); final ArrayList<String> characteristicsDesc = refItemDisplayer.getCharacteristicsString(); final ArrayList<String> effectsDesc = refItemDisplayer.getEffectsString(); if (effectsDesc == null && characteristicsDesc == null) { dialog = "itemSimplePopup"; } else { dialog = "itemDetailPopup"; } this.m_property = "itemPopupDetail"; } else if (fieldProvider instanceof Skill) { dialog = "skillDescription2"; } if (this.m_property != null && !this.m_property.isEmpty() && fieldProvider != null && !fieldProvider.equals( PropertiesProvider.getInstance().getObjectProperty(this.m_property))) { PropertiesProvider.getInstance().setPropertyValue(this.m_property, fieldProvider); } if (!dialog.isEmpty() && !dialog.equals(this.m_lastDialog)) { final ElementMap map = Xulor.getInstance().getEnvironment().getElementMap("worldAndFightBarDialog"); if (map != null) { this.m_popupDialog = (PopupElement) map.getElement(dialog); } this.m_lastDialog = dialog; } }
/** Deletes the object and it's children */ public void deleteObject() { if (this.getObject() != null) { this.getObject().deleteObject(); this.setObject(null); } super.deleteObject(); }