Package org.freerealm.settlement.improvement

Examples of org.freerealm.settlement.improvement.SettlementImprovementType


        return cityImprovement;
    }

    public void setPrerequisitesFromNode(SettlementImprovementManager cityImprovementManager, Node node) {
        int idValue = Integer.parseInt(node.getAttributes().getNamedItem("id").getNodeValue());
        SettlementImprovementType cityImprovement = cityImprovementManager.getImprovement(idValue);
        new PrerequisitesXMLHelper().initializePrerequisites(cityImprovementManager, cityImprovement, XMLConverterUtility.findNode(node, "Prerequisites"));
    }
View Full Code Here


    public String toXML() {
        StringBuffer xml = new StringBuffer();
        xml.append("<CityImprovements>\n");
        for (Iterator<SettlementImprovementType> iterator = cityImprovementManager.getImprovementsIterator(); iterator.hasNext();) {
            SettlementImprovementType cityImprovement = iterator.next();
            xml.append(new CityImprovementTypeImpXMLConverter().toXML(cityImprovement) + "\n");
        }
        xml.append("</CityImprovements>");
        return xml.toString();
    }
View Full Code Here

    }

    public void initializeFromNode(Realm realm, Node node) {
        for (Node cityImprovementsNode = node.getFirstChild(); cityImprovementsNode != null; cityImprovementsNode = cityImprovementsNode.getNextSibling()) {
            if (cityImprovementsNode.getNodeType() == Node.ELEMENT_NODE) {
                SettlementImprovementType cityImprovement = new CityImprovementTypeImpXMLConverter().initializeFromNode(realm, cityImprovementsNode);
                cityImprovementManager.addImprovement(cityImprovement);
            }
        }
        for (Node cityImprovementsNode = node.getFirstChild(); cityImprovementsNode != null; cityImprovementsNode = cityImprovementsNode.getNextSibling()) {
            if (cityImprovementsNode.getNodeType() == Node.ELEMENT_NODE) {
View Full Code Here

        xml.append("<productionQueue>\n");
        Iterator<SettlementBuildable> iterator = settlement.getProductionQueueIterator();
        while (iterator.hasNext()) {
            SettlementBuildable settlementBuildable = iterator.next();
            if (settlementBuildable instanceof SettlementImprovementType) {
                SettlementImprovementType cityImprovementType = (SettlementImprovementType) settlementBuildable;
                xml.append("<queueItem>\n");
                xml.append("<type>SETTLEMENT_IMPROVEMENT</type>\n");
                xml.append("<id>" + cityImprovementType.getId() + "</id>\n");
                xml.append("</queueItem>\n");
            } else if (settlementBuildable instanceof UnitType) {
                UnitType unitType = (UnitType) settlementBuildable;
                xml.append("<queueItem>\n");
                xml.append("<type>UNIT</type>\n");
View Full Code Here

                            Node queueItemTypeNode = XMLConverterUtility.findNode(queueItemNode, "type");
                            String queueItemType = queueItemTypeNode.getFirstChild().getNodeValue();
                            Node queueItemIdNode = XMLConverterUtility.findNode(queueItemNode, "id");
                            int id = Integer.parseInt(queueItemIdNode.getFirstChild().getNodeValue());
                            if (queueItemType.equals("SETTLEMENT_IMPROVEMENT")) {
                                SettlementImprovementType cityImprovementType = realm.getSettlementImprovementManager().getImprovement(id);
                                settlement.addToProductionQueue(cityImprovementType);
                            } else if (queueItemType.equals("UNIT")) {
                                UnitType unitType = realm.getUnitTypeManager().getUnitType(id);
                                settlement.addToProductionQueue(unitType);
                            }
                        }
                    }
                } else if (subNode.getNodeName().equals("contiuousProduction")) {
                    if (subNode.getFirstChild() != null) {
                        Boolean contiuousProductionValue = new Boolean(subNode.getFirstChild().getNodeValue());
                        settlement.setContiuousProduction(contiuousProductionValue);
                    }
                } else if (subNode.getNodeName().equals("improvements")) {
                    settlement.clearImprovements();
                    for (Node improvementNode = subNode.getFirstChild(); improvementNode != null; improvementNode = improvementNode.getNextSibling()) {
                        if (improvementNode.getNodeType() == Node.ELEMENT_NODE) {
                            Node improvementTypeIdNode = XMLConverterUtility.findNode(improvementNode, "type");
                            int improvementId = Integer.parseInt(improvementTypeIdNode.getFirstChild().getNodeValue());
                            Node improvementEnabledNode = XMLConverterUtility.findNode(improvementNode, "enabled");
                            boolean enabled = Boolean.valueOf(improvementEnabledNode.getFirstChild().getNodeValue());
                            Node workersNode = XMLConverterUtility.findNode(improvementNode, "workers");
                            int workers = 0;
                            if (workersNode != null) {
                                workers = Integer.parseInt(workersNode.getFirstChild().getNodeValue());
                            }
                            SettlementImprovementType improvementType = realm.getSettlementImprovementManager().getImprovement(improvementId);
                            SettlementImprovement improvement = new SettlementImprovement();
                            improvement.setType(improvementType);
                            improvement.setEnabled(enabled);
                            improvement.setNumberOfWorkers(workers);
                            settlement.addImprovement(improvement);
View Full Code Here

                if (prerequisite instanceof ImprovementPrerequisite) {
                    ImprovementPrerequisite improvementPrerequisite = (ImprovementPrerequisite) prerequisite;
                    xml.append("<ImprovementPrerequisite>\n");
                    Iterator<SettlementImprovementType> iterator = improvementPrerequisite.getPrerequisiteImprovementsIterator();
                    while (iterator.hasNext()) {
                        SettlementImprovementType cityImprovementType = iterator.next();
                        xml.append("<improvementType>" + cityImprovementType.getId() + "</improvementType>\n");
                    }
                    xml.append("</ImprovementPrerequisite>");
                } else if (prerequisite instanceof PopulationPrerequisite) {
                    PopulationPrerequisite populationPrerequisite = (PopulationPrerequisite) prerequisite;
                    xml.append("<PopulationPrerequisite>\n");
View Full Code Here

                    if (prerequisiteNode.getNodeName().equals("ImprovementPrerequisite")) {
                        Vector<SettlementImprovementType> prerequisiteImprovements = new Vector<SettlementImprovementType>();
                        for (Node improvementSubNode = prerequisiteNode.getFirstChild(); improvementSubNode != null; improvementSubNode = improvementSubNode.getNextSibling()) {
                            if (improvementSubNode.getNodeType() == Node.ELEMENT_NODE) {
                                int prerequisiteBuildingId = Integer.parseInt(improvementSubNode.getFirstChild().getNodeValue());
                                SettlementImprovementType prerequisiteBuilding = cityImprovementManager.getImprovement(prerequisiteBuildingId);
                                prerequisiteImprovements.add(prerequisiteBuilding);
                            }
                        }
                        ImprovementPrerequisite improvementPrerequisite = new ImprovementPrerequisite(prerequisiteImprovements);
                        settlementBuildable.addPrerequisite(improvementPrerequisite);
View Full Code Here

    // <editor-fold defaultstate="collapsed" desc="City improvement methods">
    public boolean hasImprovementType(SettlementImprovementType improvementType) {
        Iterator<SettlementImprovement> improvementsIterator = getImprovementsIterator();
        while (improvementsIterator.hasNext()) {
            SettlementImprovementType checkImprovementType = improvementsIterator.next().getType();
            if (checkImprovementType.equals(improvementType)) {
                return true;
            }
        }
        return false;
    }
View Full Code Here

    public int getImprovementUpkeep() {
        int upkeep = 0;
        Iterator<SettlementImprovement> improvementsIterator = getImprovementsIterator();
        while (improvementsIterator.hasNext()) {
            SettlementImprovementType improvement = improvementsIterator.next().getType();
            upkeep = upkeep + improvement.getUpkeepCost();
        }
        return upkeep;
    }
View Full Code Here

    public Iterator<SettlementImprovementType> getBuildableImprovements() {
        Vector<SettlementImprovementType> buildableImprovements = new Vector<SettlementImprovementType>();
        Iterator<SettlementImprovementType> iterator = realm.getCityImprovementManager().getImprovementsIterator();
        while (iterator.hasNext()) {
            SettlementImprovementType cityImprovement = iterator.next();
            if (canBuild(cityImprovement)) {
                buildableImprovements.add(cityImprovement);
            }
        }
        return buildableImprovements.iterator();
View Full Code Here

TOP

Related Classes of org.freerealm.settlement.improvement.SettlementImprovementType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.