Esempio n. 1
0
    public void ProgressRound(BuildingBlueprintSingle builtBuilding)
    {
        Income.Value       = Income.Value + builtBuilding.IncomeGenerated;
        CurrentMoney.Value = CurrentMoney.Value + Income.Value;
        TurnsTaken.Value   = TurnsTaken.Value + 1;

        ChooseBlueprint( );
    }
Esempio n. 2
0
    void ChooseBlueprint( )
    {
        List <ProportionValue <BuildingBlueprintSingle> > values = new List <ProportionValue <BuildingBlueprintSingle> >( );

        for (int i = 0; i < Candidates.Count; i++)
        {
            values.Add(ProportionValue.Create(Candidates[i].ChanceToChoose, Candidates[i]));
        }

        CurrentBlueprint = values.ChooseByRandom( );
        NewBlueprint?.Invoke(CurrentBlueprint);
    }
Esempio n. 3
0
        public void CreateBuildingAtLocationSingle(GridPos buildLoc, BuildingBlueprintSingle buildingBlueprint)
        {
            var prefab = container.InstantiatePrefab(buildingBlueprint.BuildingPrefab);

            prefab.transform.SetParent(null);
            prefab.transform.position = buildLoc.pos;
            prefab.transform.rotation = Quaternion.identity;

            foreach (var blueprintLocs in buildingBlueprint.Positions)
            {
                var col     = container.InstantiatePrefab(colliderBlock);
                var gridobj = col.GetComponentInChildren <GridObject>( );
                gridobj.gridPos = buildLoc + blueprintLocs;
                col.transform.SetParent(prefab.transform);
                col.transform.position = gridobj.gridPos.pos;
                world.AddObjectToBuilt(gridobj);
            }
        }
Esempio n. 4
0
    void InstanceNewModel(BuildingBlueprintSingle newBlueprint)
    {
        if (gameobjectInstance != null)
        {
            Destroy(gameobjectInstance);
        }

        if (newBlueprint.BuildingPrefab != null)
        {
            gameobjectInstance = Instantiate(newBlueprint.BuildingPrefab);
            var renderers = gameobjectInstance.GetComponentsInChildren <MeshRenderer>( );
            foreach (var meshRenderer in renderers)
            {
                var mats = meshRenderer.materials;
                for (int i = 0; i < mats.Length; i++)
                {
                    meshRenderer.materials[i] = Ghostmat;
                }
            }
        }

        UpdateGhostPreview( );
    }