private void DropMarerial(MaterialItemData obj)
    {
        SetMaterialState state = inputMachine.getState(SetMaterialState.NAME) as SetMaterialState;

        state.material = obj;
        inputMachine.setState(SetMaterialState.NAME);
    }
    protected override void Init()
    {
        ItemSkin           = transform.Find("item").gameObject;
        MaterialController = UITool.GetUIComponent <RectTransform>(transform, "Controller");
        MaterialController.gameObject.SetActive(true);
        MaterialController.SetParent(ContentRectTrans.parent);
        MaterialController.localScale = Vector3.one;
        materialDelete = UITool.GetUIComponent <Button>(MaterialController, "Delete");
        materialDelete.onClick.AddListener(RemoveMaterial);
        cancelDelete = UITool.GetUIComponent <Image>(MaterialController, "Delete/cancelDelete");
        UDragScroll uscr = ItemSkin.AddComponent <UDragScroll>();

        uscr.scroRect = ScroRect;
        ItemSkin.AddComponent <MaterailImageItemFunc>();
        specialitem               = new MaterialItemData("", "", "");
        specialitemBottom         = new MaterialItemData("", "", "");
        specialitemBottom.special = true;
        specialitem.special       = true;
        SetData(100, 130, _arrangement, 100, 100, 10, 30, 1);
        //for (int i = 0; i < 1; i++)
        //{
        //    Msgs.Add(new ItemData());
        //}
        //RefreshDisplay(Msgs,false,true);
        //skinClone.SetActive(false);
        //Display(Msgs);
    }
    private void RemoveMaterial(MyEvent obj)
    {
        MaterialEvent    e    = obj as MaterialEvent;
        MaterialItemData data = e.data as MaterialItemData;

        Debug.LogWarning("Remove " + data.stringId);
        //int count = originalInputData.uimaterialList.Count;
        mainpageData.uimaterialList.Remove(data);
        //if(count == originalInputData.uimaterialList.Count){
        //    Debug.LogWarning("33#3");
        //}
    }
    public void SetDraggingIcon(MaterialItemData itemdata)
    {
        DraggingIcon = new GameObject("Material", typeof(RectTransform), typeof(RawImage)).GetComponent <RectTransform>();
        DraggingIcon.SetParent(GlobalConfig.UIParentObj.transform);
        DraggingIcon.SetAsLastSibling();
        DraggingIcon.localScale = Vector3.one;
        RawImage image = DraggingIcon.GetComponent <RawImage>();

        image.raycastTarget = false;
        SetTextureTool.SetTexture(image, itemdata.textureURL, itemdata.seekId);
        if (deleDropMaterial != null)
        {
            deleDropMaterial(itemdata);
        }
    }
    private void tempDo()
    {
        List <MaterialItemData> list = new List <MaterialItemData>();

        list.Add(new MaterialItemData());
        //list.Add(new MaterialItemData("1", "local", "3D/texture2D/wallfloor.assetbundle"));
        //list.Add(new MaterialItemData("2", "local", "3D/texture2D/wallfloor2.assetbundle"));
        //list.Add(new MaterialItemData("3", "local", "3D/texture2D/wallfloor3.assetbundle"));
        //list.Add(new MaterialItemData("4", "local", "3D/texture2D/wallfloor4.assetbundle"));
        //list.Add(new MaterialItemData("5", "local", "3D/texture2D/wallfloor5.assetbundle"));
        for (int i = 0; i < list.Count; i++)
        {
            MaterialItemData item    = list[i];
            Product          product = new Product(item.seekId, item.stringId, item.textureURL);
            mainpageData.AddProduct(product);
        }
        mainpageData.uimaterialList.AddRange(list);
        materialScroll.AddMaterial(list);
    }
    private void OnSelected(MyEvent obj)
    {
        UnityIOSMsg.removeListioner(IOSEvent.SelectGoods, OnSelected);
        object[]                 objs      = obj.data as object[];
        List <Product>           products  = objs[0] as List <Product>;
        List <SelectProductData> goodsList = objs[1] as List <SelectProductData>;

        for (int i = 0; i < products.Count; i++)
        {
            mainpageData.AddProduct(products[i]);
        }

        selectList.Clear();
        selectMaterialList.Clear();
        for (int i = 0; i < goodsList.Count; i++)
        {
            Product product = mainpageData.getProduct(goodsList[i].seekId);
            if (product.productType == "FloorTiles" || product.productType == "Wallpapers")
            {
                selectMaterialList.Add(goodsList[i]);
            }
            else if (product.productType == "3D")
            {
                selectList.Add(goodsList[i]);
            }
        }
        if (selectMaterialList.Count == 0)
        {
            return;
        }
        List <MaterialItemData> list = new List <MaterialItemData>();

        for (int i = 0; i < selectMaterialList.Count; i++)
        {
            SelectProductData item = selectMaterialList[i];
            bool contine           = false;
            for (int k = 0; k < list.Count; k++)
            {
                if (list[k].seekId == item.seekId)
                {
                    contine = true;
                    break;
                }
            }
            for (int k = 0; k < mainpageData.uimaterialList.Count; k++)
            {
                if (mainpageData.uimaterialList[k].seekId == item.seekId)
                {
                    contine = true;
                    break;
                }
            }
            if (contine == true)
            {
                continue;
            }
            Product          product = mainpageData.getProduct(item.seekId);
            MaterialItemData data    = new MaterialItemData(product.id, product.seekId, product.modelTexture);
            Debug.LogWarning("Add " + data.stringId);
            list.Add(data);
        }
        if (list.Count != 0)
        {
            mainpageData.uimaterialList.AddRange(list);
            materialScroll.AddMaterial(list);
        }
    }