Пример #1
0
    public void BuildBuildingMemento(BuildingMemento buildingMemento)
    {
        string buildingId   = buildingMemento.playerID;
        string buildingType = buildingMemento.type;
        int    cellIndex    = buildingMemento.cellIndex;

        Vector3 buildindex = hexGrid.GetCellPos(cellIndex);

        buildindex.y = 0.2f;

        //Instantiate the prefab from the resources folder
        GameObject building = (GameObject)Instantiate(Resources.Load(buildingType), buildindex, Quaternion.identity);

        building.name = buildingMemento.uniqueID.ToString();
        char buildingChar = buildingId[0];

        buildingStorage.PlayerBuildingList(buildingChar).Add(building);
        hexGrid.SetBuildingObject(buildingMemento.cellIndex, building);

        buildingStats.SetPlayerID(building, buildingMemento.playerID);
        buildingStats.SetType(building, buildingMemento.type);
        buildingStats.SetUniqueID(building, buildingMemento.uniqueID);
        buildingStats.SetCellIndex(building, buildingMemento.cellIndex);

        buildingStats.SetCurrHealth(building, buildingMemento.currhealth);
        buildingStats.SetMaxHealth(building, buildingMemento.maxhealth);
        buildingStats.SetRange(building, buildingMemento.range);
        buildingStats.SetRangedAttackDmg(building, buildingMemento.rangedattackdmg);
        buildingStats.SetDefense(building, buildingMemento.defense);
        buildingStats.SetVision(building, buildingMemento.vision);
        buildingStats.SetUpgrades(building, buildingMemento.upgrades);
        buildingStats.SetPermaEffects(building, buildingMemento.permaEffects);
        buildingStats.SetTempEffects(building, buildingMemento.tempEffects);

        buildingStats.SetCurrConstruction(building, buildingMemento.currConstruction);
        buildingStats.SetCurrConstructionTimer(building, buildingMemento.currConstructionTimer);
        buildingStats.SetCurrRecruitment(building, buildingMemento.currRecruitment);
        buildingStats.SetCurrRecruitmentTimer(building, buildingMemento.currRecruitmentTimer);
        buildingStats.SetIsRecruitmentQueued(building, buildingMemento.isRecruitmentQueued);

        loadMap.CreateHealthLabel(buildingMemento.cellIndex, buildingMemento.currhealth, building.name);
    }