Example #1
0
    public void setResourceType(PrimitiveResourceType type)
    {
        this.type = type;

        Color color = new PrimitiveResourceTypeData(type).getColor(); //Color.black; //type.Color

        // if (type == PrimitiveResourceType.GOLD){
        //     color = new Color(0.99f, 0.94f, 0f, 1);
        // }else if (type == PrimitiveResourceType.DIAMOND){
        //     color = new Color(0.60f, 0.85f, 0.91f, 1);
        // }else if (type == PrimitiveResourceType.COPPER){
        //     color = new Color(0.72f, 0.39f, 0.23f, 1);
        // }else if (type == PrimitiveResourceType.ALUMINIUM){
        //     color = new Color(1f, 1f, 1f, 1);
        // }else if (type == PrimitiveResourceType.IRON){
        //     color = new Color(0.81f, 0.81f, 0.81f, 1);
        // }

        if (transform.childCount > 0)
        {
            transform.GetChild(0).gameObject.GetComponent <SpriteRenderer>().color = color;
        }
        else
        {
            GetComponent <SpriteRenderer>().color = color;
        }
    }
    public void resourceTypeSelectorChange2(Dropdown change)
    {
        Dropdown.OptionData   opt  = resourceTypeSelector.options[change.value];
        PrimitiveResourceType type = PrimitiveResourceTypeData.fromString(opt.text);

        resourceTypeSelector.captionImage.color = new PrimitiveResourceTypeData(type).getColor();
        parent.GetComponent <StarterController>().setResourceType(type);
    }
    private void loadResourceTypeSelector()
    {
        resourceTypeSelector.ClearOptions();
        foreach (PrimitiveResourceType res in Enum.GetValues(typeof(PrimitiveResourceType)))
        {
            PrimitiveResourceTypeData data = new PrimitiveResourceTypeData(res);
            Color color = data.getColor();

            var texture = new Texture2D(1, 1);
            texture.SetPixel(0, 0, color); // setting to this pixel some color
            texture.Apply();

            Sprite sprite            = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0, 0));
            Dropdown.OptionData item = new Dropdown.OptionData(res.ToString(), sprite);
            resourceTypeSelector.options.Add(item);
        }
    }