GameObject CreateItem(ShapeColorItemInfo info, bool isInner, Color color) { float x, y, w, h; string name = info.id + "_outer"; if (isInner) { name = info.id + "_inner"; } GameObject obj = new GameObject(name); obj.AddComponent <RectTransform>(); RectTransform rcTran = obj.GetComponent <RectTransform>(); obj.AddComponent <SpriteRenderer>(); SpriteRenderer objSR = obj.GetComponent <SpriteRenderer>(); string pic = info.picOuter; if (isInner) { pic = info.picInner; } Sprite sprite = TextureUtil.CreateSpriteFromAsset(pic); sprite.name = info.id; objSR.sprite = sprite; //objSR.size = new Vector2(sprite.texture.width/100,sprite.texture.height/100); //rcTran.sizeDelta = new Vector2(objSR.size.x, objSR.size.y); float itemPosZ = -5f; obj.transform.position = new Vector3(0, 0, itemPosZ); //color objSR.material = new Material(shaderColor); Material mat = objSR.material; mat.SetColor("_ColorShape", color); //mat.SetTexture("_MainTex", texPic); return(obj); }