예제 #1
0
    //类别按钮响应
    void OnClickTypeItem(MapEditorType mapTypeData)
    {
        GameObject detailLayoutObj = GameObject.Find("DetailLayout");

        //删除旧的子节点
        while (detailLayoutObj.transform.childCount > 0)
        {
            DestroyImmediate(detailLayoutObj.transform.GetChild(0).gameObject);
        }

        //重新设置layout大小
        int           cellSize  = 100;
        int           typeNum   = mapTypeData.children.Count;
        RectTransform transRect = detailLayoutObj.GetComponent <RectTransform>();

        transRect.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, 0, cellSize * typeNum);

        GameObject baseItemMod = Resources.Load <GameObject>("DesignTools/BaseItem");

        foreach (MapEditorItem childItem in mapTypeData.children)
        {
            GameObject newBaseItem = Instantiate(baseItemMod) as GameObject;
            newBaseItem.transform.SetParent(detailLayoutObj.transform);
            newBaseItem.GetComponent <Image>().overrideSprite = Resources.Load <Sprite>(childItem.icon);

            Text ItemLabel = newBaseItem.transform.GetChild(0).GetComponent <Text>();
            ItemLabel.text = childItem.name;

            Button        itemButton     = newBaseItem.GetComponent <Button>();
            MapEditorItem newMapItemData = childItem;
            itemButton.onClick.AddListener(delegate() { OnClickDetailItem(newMapItemData); });
        }
    }
예제 #2
0
    public void OnButtonResTool()
    {
        if (SelectedGO)
        {
            Transform tf = SelectedGO.transform.FindChild("SelectedReg");
            DestroyImmediate(tf.gameObject);
            SelectedGO = null;
        }
        rtDialog.transform.parent.localPosition = Vector3.zero;
        rtDialog.transform.parent.gameObject.SetActive(true);

        List <MapEditorType> ListMapData = MapDataProccess.instance.allEditorData.editorData;

        for (int i = 0; i < contents.Length; ++i)
        {
            for (int j = contents[i].transform.childCount - 1; j >= 0; j--)
            {
                Destroy(contents[i].transform.GetChild(j).gameObject);
            }
        }

        for (int k = 0; k < ListMapData.Count; k++)
        {
            MapEditorType mapData = ListMapData[k];
            FillContents(k, mapData);
        }

        BETween.anchoredPosition(rtDialog.gameObject, 0.3f, new Vector3(0, -500), new Vector3(0, 0)).method = BETweenMethod.easeOut;
        rtDialog.anchoredPosition = new Vector3(0, -500);
        BETween.alpha(rtDialog.gameObject, 0.3f, 0, 1.0f).method = BETweenMethod.easeOut;
        BETween.alpha(rtDialog.transform.parent.gameObject, 0.3f, 0.0f, 0.3f).method = BETweenMethod.easeOut;
    }
예제 #3
0
    private void FillContents(int id, MapEditorType mapResType)
    {
        toggleButtons[id].transform.Find("Label").GetComponent <Text>().text = mapResType.name;
        List <MapEditorItem> list = mapResType.children;

        for (int i = 0; i < list.Count; ++i)
        {
            MapResItem script = AddResToolItem(prefabResItem, id, i);
            script.Init(list[i], mapResType.type);
        }
    }
예제 #4
0
    void CreateTypePanel()
    {
        GameObject    typeLayoutObj = GameObject.Find("TypeLayout");
        int           cellSize      = 100;
        int           typeNum       = allEditorData.editorData.Count;
        RectTransform typeRect      = typeLayoutObj.GetComponent <RectTransform>();

        typeRect.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, 0, cellSize * typeNum);
        GameObject baseItemMod = Resources.Load <GameObject>("DesignTools/BaseItem");

        foreach (MapEditorType editorTypeData in allEditorData.editorData)
        {
            GameObject newBaseItem = Instantiate(baseItemMod) as GameObject;
            newBaseItem.transform.SetParent(typeLayoutObj.transform);
            newBaseItem.GetComponent <Image>().overrideSprite = Resources.Load <Sprite>(editorTypeData.icon);

            Text itemLabel = newBaseItem.transform.GetChild(0).GetComponent <Text>();
            itemLabel.text = editorTypeData.name;

            Button        itemButton     = newBaseItem.GetComponent <Button>();
            MapEditorType newMapTypeData = editorTypeData;
            itemButton.onClick.AddListener(delegate() { OnClickTypeItem(newMapTypeData); });
        }
    }