private void CreateBuildables()
 {
     BuildConfig.BuildableBlueprint[] blueprints = _buildConfig.buildables;
     BuildConfig.BuildUIData          _uiData    = _buildConfig._uiData;
     for (int i = 0; i < blueprints.Length; i++)
     {
         BuildConfig.BuildableBlueprint blueprint = blueprints[i];
         BuildableUIItem uiItem = GameObject.Instantiate(_uiData._itemPrefabUI, _buildView._buildableParent.transform, false) as BuildableUIItem;
         uiItem.SetContent(blueprint, i);
         _buildItems[blueprint.key] = uiItem;
     }
     OnBuildTypeChange(_buildingSystem._currentBuildType);
 }
Example #2
0
    public void SetContent(BuildConfig.BuildableBlueprint blueprint, int positionOffset)
    {
        //do cool ass render texture building prototypes (like fortnite)
        _text.text   = blueprint.currencyCost.ToString();
        _hotKey.text = blueprint.buildHotKey.ToString().Replace("Alpha", "");
        RenderTexture texture = new RenderTexture(128, 128, 16, RenderTextureFormat.ARGB32);

        texture.Create();
        _renderCam.targetTexture       = texture;
        _renderCam.clearFlags          = CameraClearFlags.Color;
        _renderCam.transform.position += new Vector3(positionOffset * 5, 0, 0);
        _renderImage.texture           = texture;

        _prototype = GameObject.Instantiate(blueprint.prefab) as Buildable;
        _prototype.RemovePhysics();
        _prototype.gameObject.SetActive(true);
        _prototype.transform.parent = _renderCam.transform;
        SetLayerRecursively(_prototype.gameObject, 10);
        _prototype.transform.position = Vector3.zero;

        ToggleItem(false);

        Singleton.instance.gui.screenFader.StartCoroutine(Refresh());
    }