Beispiel #1
0
    public void OnCreateItem()
    {
        //作成に必要なもの<ID, 数>
        Dictionary <string, int> requirementDict = _itemData.ParseRequirementStr();

        //作れるかチェック
        bool canCreate = true;

        foreach (string reqDataId in requirementDict.Keys)
        {
            //自分の持ってる数
            int numOwn = PlayerData.GetItemNum(reqDataId);
            if (numOwn >= requirementDict [reqDataId])
            {
                canCreate &= true;
            }
            //数が足りないのでbreak;
            else
            {
                canCreate = false;
            }
        }

        //特定のアイテムの作成条件をチェック
        canCreate = this.canCreateItem();

        //作れるなら素材消費
        if (canCreate)
        {
            foreach (string reqDataId in requirementDict.Keys)
            {
                //自分の持ってる数
                PlayerData.UseItem(reqDataId, requirementDict [reqDataId]);
            }

            //PlayerDataに追加
            PlayerData.AddItem(_itemData);

            //NotifyUiで表示
            UiController.Instance.NotifyPop("created " + _itemData.Name + " x1");
        }        //if
    }
Beispiel #2
0
    public void InitItemCraftingData(AbstractData itemData)
    {
        gameObject.SetActive(true);
        _itemData = itemData;

        string atlasName = "";

        if (_itemData.GetType() == typeof(SwordData))
        {
            atlasName = "WeaponAtlas";
        }

        //アイテムの画像設置
        itemImage.sprite = GameManager.Instance.GetSpriteFromPath(atlasName, _itemData.Image);
        //アスペクトをONのまま横サイズをFixさせながらリサイズ。
        itemImage.preserveAspect = true;
        itemImage.SetNativeSize();
        Vector2 imgSize = itemImage.GetComponent <RectTransform>().sizeDelta;

        imgSize.x = 100;
        itemImage.GetComponent <RectTransform> ().sizeDelta = imgSize;

        //素材設置<ID, 数>
        Dictionary <string, int> requirementDict = _itemData.ParseRequirementStr();

        foreach (string id in requirementDict.Keys)
        {
            int          value        = requirementDict [id];
            MaterialItem materialItem = (MaterialItem)Instantiate(materialItemPrefab);
            materialItem.SetUpMaterialItem(id);
            materialItem.materialNum.text = id + " x" + value;
            materialItem.transform.SetParent(MaterialListPos);
            materialItem.transform.localPosition = Vector3.zero;
            materialItem.transform.localScale    = Vector3.one;
        }
    }