/* * Copyright (C) 2010-2016 JPEXS, All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3.0 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ package com.jpexs.decompiler.flash.tags.base; import com.jpexs.decompiler.flash.SWF; import com.jpexs.decompiler.flash.tags.DefineScalingGridTag; import com.jpexs.decompiler.flash.tags.Tag; import com.jpexs.helpers.ByteArrayRange; /** * * @author JPEXS */ public abstract class CharacterTag extends Tag implements CharacterIdTag { protected String className; public CharacterTag(SWF swf, int id, String name, ByteArrayRange data) { super(swf, id, name, data); } public void setClassName(String className) { this.className = className; } public String getClassName() { return className; } @Override public String getName() { String nameAppend = ""; if (exportName != null) { nameAppend = ": " + exportName; } if (className != null) { nameAppend = ": " + className; } return tagName + " (" + getCharacterId() + nameAppend + ")"; } @Override public String getExportFileName() { String result = super.getExportFileName(); return result + "_" + getCharacterId() + (exportName != null ? "_" + exportName : "") + (className != null ? "_" + className : ""); } public String getCharacterExportFileName() { return getCharacterId() + (exportName != null ? "_" + exportName : "") + (className != null ? "_" + className : ""); } protected String exportName; public void setExportName(String exportName) { if ("".equals(exportName)) { exportName = null; } this.exportName = exportName; } public String getExportName() { return exportName; } public DefineScalingGridTag getScalingGridTag() { return (DefineScalingGridTag) swf.getCharacterIdTag(getCharacterId(), DefineScalingGridTag.ID); } }