package emu.grasscutter.data.excels;

import java.util.ArrayList;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
import emu.grasscutter.data.common.FightPropData;

@ResourceType(name = "EquipAffixExcelConfigData.json")
public class EquipAffixData extends GameResource {

	private int affixId;
    private int id;
    private int level;
    private long nameTextMapHash;
    private String openConfig;
    private FightPropData[] addProps;
    private float[] paramList;
    
	@Override
	public int getId() {
		return affixId;
	}
	
	public int getMainId() {
		return id;
	}

	public int getLevel() {
		return level;
	}

	public long getNameTextMapHash() {
		return nameTextMapHash;
	}

	public String getOpenConfig() {
		return openConfig;
	}

	public FightPropData[] getAddProps() {
		return addProps;
	}

	public float[] getParamList() {
		return paramList;
	}

	@Override
	public void onLoad() {
		ArrayList<FightPropData> parsed = new ArrayList<FightPropData>(getAddProps().length);
		for (FightPropData prop : getAddProps()) {
			if (prop.getPropType() != null || prop.getValue() == 0f) {
				prop.onLoad();
				parsed.add(prop);
			}
		}
		this.addProps = parsed.toArray(new FightPropData[parsed.size()]);
	}
}