コード例 #1
0
    public override void SetBuildings(BuiltBuildings a_Data, bool a_CanBuildShipyard)
    {
        base.SetBuildings(a_Data, a_CanBuildShipyard);

        if (a_Data.Dwelling2Growth)
        {
            if (a_Data.Dwelling2Up)
            {
                m_GargoyleG.gameObject.SetActive(false);
                m_Gargoyle2G.gameObject.SetActive(true);

                m_Dwelling2Up.gameObject.SetActive(false);
            }
            else
            {
                m_GargoyleG.gameObject.SetActive(true);
                m_Gargoyle2G.gameObject.SetActive(false);

                m_Dwelling2.gameObject.SetActive(false);
            }
        }
        else
        {
            m_GargoyleG.gameObject.SetActive(false);
            m_Gargoyle2G.gameObject.SetActive(false);
        }
    }
コード例 #2
0
    public override void SetBuildings(BuiltBuildings a_Data, bool a_CanBuildShipyard)
    {
        base.SetBuildings(a_Data, a_CanBuildShipyard);

        if (a_Data.Dwelling1Growth)
        {
            if (a_Data.Dwelling1Up)
            {
                m_SkeletonG.gameObject.SetActive(false);
                m_Skeleton2G.gameObject.SetActive(true);

                m_Dwelling1Up.gameObject.SetActive(false);
            }
            else
            {
                m_SkeletonG.gameObject.SetActive(true);
                m_Skeleton2G.gameObject.SetActive(false);

                m_Dwelling1.gameObject.SetActive(false);
            }
        }
        else
        {
            m_SkeletonG.gameObject.SetActive(false);
            m_Skeleton2G.gameObject.SetActive(false);
        }
    }
コード例 #3
0
    public override void SetBuildings(BuiltBuildings a_Data, bool a_CanBuildShipyard)
    {
        base.SetBuildings(a_Data, a_CanBuildShipyard);

        if (a_Data.Dwelling3Growth)
        {
            if (a_Data.Dwelling3Up)
            {
                m_GriffinG.gameObject.SetActive(false);
                m_Griffin2G.gameObject.SetActive(true);

                m_Dwelling3Up.gameObject.SetActive(false);
            }
            else
            {
                m_GriffinG.gameObject.SetActive(true);
                m_Griffin2G.gameObject.SetActive(false);

                m_Dwelling3.gameObject.SetActive(false);
            }
        }
        else
        {
            m_GriffinG.gameObject.SetActive(false);
            m_Griffin2G.gameObject.SetActive(false);
        }

        // Brotherhood of the Sword
        if (a_Data.FactionBuilding2)
        {
            m_Tavern.gameObject.SetActive(false);
        }

        if (a_Data.Shipyard)
        {
            if (a_Data.Citadel || a_Data.Castle)
            {
                m_Shipyard.gameObject.SetActive(false);
                m_ShipyardMoat.gameObject.SetActive(true);
            }
            else
            {
                m_Shipyard.gameObject.SetActive(true);
                m_ShipyardMoat.gameObject.SetActive(false);
            }
        }
        else
        {
            m_Shipyard.gameObject.SetActive(false);
            m_ShipyardMoat.gameObject.SetActive(false);
        }

        m_ShipyardMoatShip.gameObject.SetActive(false);
    }
コード例 #4
0
    public override void SetBuildings(BuiltBuildings a_Data, bool a_CanBuildShipyard)
    {
        base.SetBuildings(a_Data, a_CanBuildShipyard);

        if (a_Data.Dwelling1Growth)
        {
            if (a_Data.Dwelling1Up)
            {
                m_ImpG.gameObject.SetActive(false);
                m_Imp2G.gameObject.SetActive(true);

                m_Dwelling1Up.gameObject.SetActive(false);
            }
            else
            {
                m_ImpG.gameObject.SetActive(true);
                m_Imp2G.gameObject.SetActive(false);

                m_Dwelling1.gameObject.SetActive(false);
            }
        }
        else
        {
            m_ImpG.gameObject.SetActive(false);
            m_Imp2G.gameObject.SetActive(false);
        }

        if (a_Data.Dwelling3Growth)
        {
            if (a_Data.Dwelling3Up)
            {
                m_HellhoundG.gameObject.SetActive(false);
                m_Hellhound2G.gameObject.SetActive(true);

                m_Dwelling3Up.gameObject.SetActive(false);
            }
            else
            {
                m_HellhoundG.gameObject.SetActive(true);
                m_Hellhound2G.gameObject.SetActive(false);

                m_Dwelling3.gameObject.SetActive(false);
            }
        }
        else
        {
            m_HellhoundG.gameObject.SetActive(false);
            m_Hellhound2G.gameObject.SetActive(false);
        }
    }
コード例 #5
0
    public override void SetBuildings(BuiltBuildings a_Data, bool a_CanBuildShipyard)
    {
        base.SetBuildings(a_Data, a_CanBuildShipyard);

        if (a_Data.Dwelling1Growth)
        {
            if (a_Data.Dwelling1Up)
            {
                m_WarrenG.gameObject.SetActive(false);
                m_Warren2G.gameObject.SetActive(true);

                m_Dwelling1Up.gameObject.SetActive(false);
            }
            else
            {
                m_WarrenG.gameObject.SetActive(true);
                m_Warren2G.gameObject.SetActive(false);

                m_Dwelling1.gameObject.SetActive(false);
            }
        }
        else
        {
            m_WarrenG.gameObject.SetActive(false);
            m_Warren2G.gameObject.SetActive(false);
        }

        if (a_Data.MageGuild5 && a_Data.FactionBuilding1)
        {
            m_ManaVortexMageGuild5.gameObject.SetActive(true);
            m_FactionBuilding1.gameObject.SetActive(false);
        }
        else
        {
            m_ManaVortexMageGuild5.gameObject.SetActive(false);
        }
    }
コード例 #6
0
    public override void SetBuildings(BuiltBuildings a_Data, bool a_CanBuildShipyard)
    {
        base.SetBuildings(a_Data, a_CanBuildShipyard);

        m_VillageHouses.SetActive(true);
        m_TownHouses.SetActive(a_Data.TownHall);
        m_CityHouses.SetActive(a_Data.CityHall);
        m_CapitolHouses.SetActive(a_Data.Capitol);

        // Fountain of Fortune replacing Mystic Pond
        if (a_Data.FactionBuilding2)
        {
            m_FactionBuilding1.gameObject.SetActive(false);
        }

        if (a_Data.Dwelling2Growth)
        {
            if (a_Data.Dwelling2Up)
            {
                m_DwarfG.gameObject.SetActive(false);
                m_Dwarf2G.gameObject.SetActive(true);

                m_Dwelling2Up.gameObject.SetActive(false);
            }
            else
            {
                m_DwarfG.gameObject.SetActive(true);
                m_Dwarf2G.gameObject.SetActive(false);

                m_Dwelling2.gameObject.SetActive(false);
            }
        }
        else
        {
            m_DwarfG.gameObject.SetActive(false);
            m_Dwarf2G.gameObject.SetActive(false);
        }

        if (a_Data.Dwelling5Growth)
        {
            if (a_Data.Dwelling5Up)
            {
                m_DendroidG.gameObject.SetActive(false);
                m_Dendroid2G.gameObject.SetActive(true);

                m_Dwelling5Up.gameObject.SetActive(false);
            }
            else
            {
                m_DendroidG.gameObject.SetActive(true);
                m_Dendroid2G.gameObject.SetActive(false);

                m_Dwelling5.gameObject.SetActive(false);
            }
        }
        else
        {
            m_DendroidG.gameObject.SetActive(false);
            m_Dendroid2G.gameObject.SetActive(false);
        }
    }
コード例 #7
0
    public virtual void SetBuildings(BuiltBuildings a_BuiltBuildings, bool a_CanBuildShipyard)
    {
        m_BuiltBuildings   = a_BuiltBuildings;
        m_CanBuildShipyard = a_CanBuildShipyard;

        if (m_BuiltBuildings.Capitol)
        {
            m_VillageHall.gameObject.SetActive(false);
            m_TownHall.gameObject.SetActive(false);
            m_CityHall.gameObject.SetActive(false);
            m_Capitol.gameObject.SetActive(true);
        }
        else if (m_BuiltBuildings.CityHall)
        {
            m_VillageHall.gameObject.SetActive(false);
            m_TownHall.gameObject.SetActive(false);
            m_CityHall.gameObject.SetActive(true);
            m_Capitol.gameObject.SetActive(false);
        }
        else if (m_BuiltBuildings.TownHall)
        {
            m_VillageHall.gameObject.SetActive(false);
            m_TownHall.gameObject.SetActive(true);
            m_CityHall.gameObject.SetActive(false);
            m_Capitol.gameObject.SetActive(false);
        }
        else
        {
            m_VillageHall.gameObject.SetActive(true);
            m_TownHall.gameObject.SetActive(false);
            m_CityHall.gameObject.SetActive(false);
            m_Capitol.gameObject.SetActive(false);
        }

        if (m_BuiltBuildings.Castle)
        {
            m_Fort.gameObject.SetActive(false);
            m_Citadel.gameObject.SetActive(false);
            m_Castle.gameObject.SetActive(true);
        }
        else if (m_BuiltBuildings.Citadel)
        {
            m_Fort.gameObject.SetActive(false);
            m_Citadel.gameObject.SetActive(true);
            m_Castle.gameObject.SetActive(false);
        }
        else if (m_BuiltBuildings.Fort)
        {
            m_Fort.gameObject.SetActive(true);
            m_Citadel.gameObject.SetActive(false);
            m_Castle.gameObject.SetActive(false);
        }
        else
        {
            m_Fort.gameObject.SetActive(false);
            m_Citadel.gameObject.SetActive(false);
            m_Castle.gameObject.SetActive(false);
        }

        m_Tavern.gameObject.SetActive(m_BuiltBuildings.Tavern);

        m_Blacksmith.gameObject.SetActive(m_BuiltBuildings.Blacksmith);
        m_Market.gameObject.SetActive(m_BuiltBuildings.Market);
        m_Silo.gameObject.SetActive(m_BuiltBuildings.Silo);
        m_ArtifactMerchants?.gameObject.SetActive(m_BuiltBuildings.ArtifactMerchants);

        if (m_BuiltBuildings.MageGuild5)
        {
            m_MageGuild1.gameObject.SetActive(false);
            m_MageGuild2.gameObject.SetActive(false);
            m_MageGuild3.gameObject.SetActive(false);
            m_MageGuild4?.gameObject.SetActive(false);
            m_MageGuild5?.gameObject.SetActive(true);
        }
        else if (m_BuiltBuildings.MageGuild4)
        {
            m_MageGuild1.gameObject.SetActive(false);
            m_MageGuild2.gameObject.SetActive(false);
            m_MageGuild3.gameObject.SetActive(false);
            m_MageGuild4?.gameObject.SetActive(true);
            m_MageGuild5?.gameObject.SetActive(false);
        }
        else if (m_BuiltBuildings.MageGuild3)
        {
            m_MageGuild1.gameObject.SetActive(false);
            m_MageGuild2.gameObject.SetActive(false);
            m_MageGuild3.gameObject.SetActive(true);
            m_MageGuild4?.gameObject.SetActive(false);
            m_MageGuild5?.gameObject.SetActive(false);
        }
        else if (m_BuiltBuildings.MageGuild2)
        {
            m_MageGuild1.gameObject.SetActive(false);
            m_MageGuild2.gameObject.SetActive(true);
            m_MageGuild3.gameObject.SetActive(false);
            m_MageGuild4?.gameObject.SetActive(false);
            m_MageGuild5?.gameObject.SetActive(false);
        }
        else if (m_BuiltBuildings.MageGuild1)
        {
            m_MageGuild1.gameObject.SetActive(true);
            m_MageGuild2.gameObject.SetActive(false);
            m_MageGuild3.gameObject.SetActive(false);
            m_MageGuild4?.gameObject.SetActive(false);
            m_MageGuild5?.gameObject.SetActive(false);
        }
        else
        {
            m_MageGuild1.gameObject.SetActive(false);
            m_MageGuild2.gameObject.SetActive(false);
            m_MageGuild3.gameObject.SetActive(false);
            m_MageGuild4?.gameObject.SetActive(false);
            m_MageGuild5?.gameObject.SetActive(false);
        }

        m_Shipyard?.gameObject.SetActive(m_BuiltBuildings.Shipyard);
        m_ShipyardShip?.gameObject.SetActive(false);
        m_Grail.gameObject.SetActive(m_BuiltBuildings.Grail);

        m_FactionBuilding1.gameObject.SetActive(m_BuiltBuildings.FactionBuilding1);
        m_FactionBuilding2?.gameObject.SetActive(m_BuiltBuildings.FactionBuilding2);
        m_FactionBuilding3?.gameObject.SetActive(m_BuiltBuildings.FactionBuilding3);
        m_FactionBuilding4?.gameObject.SetActive(m_BuiltBuildings.FactionBuilding4);

        if (m_BuiltBuildings.Dwelling1Up)
        {
            m_Dwelling1.gameObject.SetActive(false);
            m_Dwelling1Up.gameObject.SetActive(true);
        }
        else
        {
            m_Dwelling1.gameObject.SetActive(m_BuiltBuildings.Dwelling1);
            m_Dwelling1Up.gameObject.SetActive(false);
        }

        if (m_BuiltBuildings.Dwelling2Up)
        {
            m_Dwelling2.gameObject.SetActive(false);
            m_Dwelling2Up.gameObject.SetActive(true);
        }
        else
        {
            m_Dwelling2.gameObject.SetActive(m_BuiltBuildings.Dwelling2);
            m_Dwelling2Up.gameObject.SetActive(false);
        }

        if (m_BuiltBuildings.Dwelling3Up)
        {
            m_Dwelling3.gameObject.SetActive(false);
            m_Dwelling3Up.gameObject.SetActive(true);
        }
        else
        {
            m_Dwelling3.gameObject.SetActive(m_BuiltBuildings.Dwelling3);
            m_Dwelling3Up.gameObject.SetActive(false);
        }

        if (m_BuiltBuildings.Dwelling4Up)
        {
            m_Dwelling4.gameObject.SetActive(false);
            m_Dwelling4Up.gameObject.SetActive(true);
        }
        else
        {
            m_Dwelling4.gameObject.SetActive(m_BuiltBuildings.Dwelling4);
            m_Dwelling4Up.gameObject.SetActive(false);
        }

        if (m_BuiltBuildings.Dwelling5Up)
        {
            m_Dwelling5.gameObject.SetActive(false);
            m_Dwelling5Up.gameObject.SetActive(true);
        }
        else
        {
            m_Dwelling5.gameObject.SetActive(m_BuiltBuildings.Dwelling5);
            m_Dwelling5Up.gameObject.SetActive(false);
        }

        if (m_BuiltBuildings.Dwelling6Up)
        {
            m_Dwelling6.gameObject.SetActive(false);
            m_Dwelling6Up.gameObject.SetActive(true);
        }
        else
        {
            m_Dwelling6.gameObject.SetActive(m_BuiltBuildings.Dwelling6);
            m_Dwelling6Up.gameObject.SetActive(false);
        }

        if (m_BuiltBuildings.Dwelling7Up)
        {
            m_Dwelling7.gameObject.SetActive(false);
            m_Dwelling7Up.gameObject.SetActive(true);
        }
        else
        {
            m_Dwelling7.gameObject.SetActive(m_BuiltBuildings.Dwelling7);
            m_Dwelling7Up.gameObject.SetActive(false);
        }

        UpdateHall();
    }
コード例 #8
0
    public void Initialize(ScenarioObject a_ScenarioObject, GameReferences a_GameReferences, Vector2Int a_ShipyardSpot)
    {
        m_GameReferences = a_GameReferences;

        m_SpriteRenderer.sortingOrder = -32767 + a_ScenarioObject.SortOrder;

        PlayerIndex   = a_ScenarioObject.Town.Owner;
        IsUnderground = a_ScenarioObject.IsUnderground;

        ShipyardSpot     = a_ShipyardSpot;
        CanBuildShipyard = a_ShipyardSpot != Vector2Int.zero;

        // Neutral objects are 255
        if (PlayerIndex == 255)
        {
            PlayerIndex = 8;
        }

        switch (a_ScenarioObject.Template.Name)
        {
        case "avcranx0":
        case "avcranz0":
        case "avcrand0":
            if (PlayerIndex != 8)
            {
                Faction = m_GameSettings.Players.First(a_Player => a_Player.Index == PlayerIndex).Faction;
            }
            else
            {
                Faction = m_Factions.Factions[Random.Range(0, m_Factions.Factions.Count)];
            }
            break;

        case "avccasx0":
        case "avccasz0":
        case "avccast0":
            Faction = m_Factions.Factions[0];
            break;

        case "avcramx0":
        case "avcramz0":
        case "avcramp0":
            Faction = m_Factions.Factions[1];
            break;

        case "avctowx0":
        case "avctowz0":
        case "avctowr0":
            Faction = m_Factions.Factions[2];
            break;

        case "avcinfx0":
        case "avcinfz0":
        case "avcinft0":
            Faction = m_Factions.Factions[3];
            break;

        case "avcnecx0":
        case "avcnecz0":
        case "avcnecr0":
            Faction = m_Factions.Factions[4];
            break;

        case "avcdunx0":
        case "avcdunz0":
        case "avcdung0":
            Faction = m_Factions.Factions[5];
            break;

        case "avcstrx0":
        case "avcstrz0":
        case "avcstro0":
            Faction = m_Factions.Factions[6];
            break;

        case "avcftrx0":
        case "avcforz0":
        case "avcftrt0":
            Faction = m_Factions.Factions[7];
            break;

        case "avchforx":
        case "avchforz":
        case "avchfor0":
            Faction = m_Factions.Factions[8];
            break;
        }

        m_SpriteRenderer.material.SetColor("_PlayerColor", m_PlayerColors.Colors[PlayerIndex]);

        if (a_ScenarioObject.Town.HasCustomBuildings)
        {
            Buildings = a_ScenarioObject.Town.CustomBuildings;
        }
        else
        {
            Buildings        = new BuiltBuildings();
            Buildings.Tavern = true;

            if (a_ScenarioObject.Town.HasFort)
            {
                Buildings.Fort      = true;
                Buildings.Dwelling1 = true;

                int _Random = Random.Range(0, 3);

                if (_Random == 0)
                {
                    Buildings.Dwelling2 = true;
                }
            }
        }

        if (Buildings.Capitol)
        {
            m_Renderer.SetSprites(Faction.MapVisualDataCapitol.m_Sprites);
            m_ShadowRenderer.SetSprites(Faction.MapVisualDataCapitol.m_ShadowSprites);
        }
        else if (Buildings.Fort)
        {
            m_Renderer.SetSprites(Faction.MapVisualData.m_Sprites);
            m_ShadowRenderer.SetSprites(Faction.MapVisualData.m_ShadowSprites);
        }
        else
        {
            m_Renderer.SetSprites(Faction.MapVisualDataNoFort.m_Sprites);
            m_ShadowRenderer.SetSprites(Faction.MapVisualDataNoFort.m_ShadowSprites);
        }

        if (a_ScenarioObject.Town.Name != "")
        {
            gameObject.name = a_ScenarioObject.Town.Name;
        }
        else
        {
            gameObject.name = Faction.name;
        }

        if (PlayerIndex == m_GameSettings.LocalPlayerIndex)
        {
            m_GameReferences.LocalOwnership.AddTown(this);
        }
    }