示例#1
0
    public void ListClick(string type)
    {
        // Make item list

        foreach (Transform child in transform) {
            GameObject.Destroy(child.gameObject);
        }

        Slots.Clear(); // Clear all element
        Items.Clear();
        Content.GetComponent<RectTransform> ().localPosition = new Vector3 (0, 0, 1);
        Content.GetComponent<RectTransform> ().sizeDelta = new Vector3(790, 350 * (listNum / 3.5f), 1); // Modify ListUI height
        int count = 0;
        for (int i = 1, j = jNum; i <= spriteNum[count] && j != 382; i++, j++) // i means image number, j means dataList number
        {
            if (i < spriteNum [count]) { // Assign path
                spritePath = pathArr [count];
            } else if (i == spriteNum[count]){
                count++;
                i = 1;
            }else if (spriteNum[count] == 0){
                break;
            }else {
                i = spriteNum[count];
            }

            GameObject slot = (GameObject)Instantiate(slots); // Make slot(item) list
            //GameObject itemButton;
            slot.GetComponent<Slot>().slotNumber = slotAmount;
            slot.gameObject.transform.GetChild (2).GetComponent<ClickButton> ().itemNumber = slotAmount;
            //itemButton.GetComponent<ClickButton> ().itemNumber = slotAmount;
            Slots.Add(slot);
            slot.transform.parent = this.gameObject.transform;
            slot.name = "slot" + i;
            slot.gameObject.transform.GetChild(0).GetComponent<Image>().sprite = Resources.Load<Sprite>(spritePath+i);

            if (type == "weapon") { // Check weapon or equipment data
                _weaponData = DataManager.Instance.weaponData.list [j-1];
                slot.gameObject.transform.GetChild (1).GetComponent<Text> ().text = _weaponData.itemNo;
                ItemClass item = new ItemClass (_weaponData.type, spritePath+i);
                Items.Add (item);
                //Debug.Log (Items.Add[i]);
            } else {
                _equipmentData = DataManager.Instance.equipmentData.list [j-1];
                slot.gameObject.transform.GetChild (1).GetComponent<Text> ().text = _equipmentData.itemNo;
                Items.Add(new ItemClass(_equipmentData.type, spritePath+i));
            }
            //Debug.Log (Items [0].itemType);
            slot.GetComponent<RectTransform>().localScale = new Vector3(1, 1, 1);
            slot.GetComponent<RectTransform>().localPosition = new Vector3(x, y, 0);
            y -= 105;
            slotAmount++;
        }
    }
示例#2
0
    /// <summary>
    /// 주인공 정보를 ScriptableObject만듬
    /// </summary>
    static void MakeWeaponData()
    {
        //SciprtableObject를 생성
        WeaponData data = ScriptableObject.CreateInstance<WeaponData>();
        //ScriptableObject를 파일로 만듬
        AssetDatabase.CreateAsset((ScriptableObject)data, weaponExportPath);
        //수정 불가능하게 설정(에디터에서 수정 하게 하려면 주석처리)
        data.hideFlags = HideFlags.NotEditable;

        //자료를 삭제(초기화)
        data.list.Clear();

        //CSVRead
        List<Dictionary<string,object>> csvData = CSVReader.Read("CSV/Weapon");

        for (int i = 0; i < csvData.Count; i++)
        {
            WeaponData.Attribute temp = new WeaponData.Attribute();
            // ItemNo, Type, isMelee , feature,itemHP itemDamage  itemCriticalChance itemCriticalHit
            // itemAttackSpeed  Slot1  Velue1 Slot2  Velue2
            temp.itemNo = (string)csvData[i]["ItemNo"];
            temp.type = (string)csvData[i]["Type"];
            temp.isMelee = (string)csvData[i]["isMelee"];
            temp.feature = (string)csvData[i]["Feature"];
            temp.itemHP = (int)csvData[i]["itemHP"];
            temp.itemDamage = (int)csvData[i]["itemDamage"];
            temp.itemCriticalChance = (float)csvData[i]["itemCriticalChance"];
            temp.itemCriticalHit = (float)csvData[i]["itemCriticalHit"];
            temp.itemAttackSpeed = (float)csvData[i]["itemAttackSpeed"];
            temp.slot1 = (string)csvData [i] ["Slot1"];
            temp.value1 = (int)csvData [i] ["Velue1"];
            temp.slot2 = (string)csvData [i] ["Slot2"];
            temp.value2 = (int)csvData [i] ["Velue2"];

            data.list.Add(temp);

        }
        //위에서 생성된 SciprtableObject의 파일을 찾음
        ScriptableObject obj =
            AssetDatabase.LoadAssetAtPath(weaponExportPath, typeof(ScriptableObject)) as ScriptableObject;
        //디스크에 쓰기
        EditorUtility.SetDirty(obj);
    }