別のプロジェクトにあるメソッドが使えません。
Q&A
解決したいこと
UnityとC#、vsです。
別のプロジェクトにあるメソッドを使うためにGetcomponentを使いましたが、使えるメソッドと使えないメソッドがあり、その違いが判らず、困っています。違いと解決方法を教えてください。
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
使いたいメソッドが書いてある方
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ItemManager : MonoBehaviour
{
    // アイテムデータベース
    [SerializeField]
    private ItemDataBase itemDataBase;
    // アイテム数管理
    private Dictionary<WeponDate, int> numOfWepon = new Dictionary<WeponDate, int>();
    private Dictionary<AccesaryDate, int> numOfAccessory = new Dictionary<AccesaryDate, int>();
    private Dictionary<ProtectDate, int> numOfProtect = new Dictionary<ProtectDate, int>();
    private Dictionary<OtherItemDate, int> numOfOtherItem = new Dictionary<OtherItemDate, int>();
    // Use this for initialization
    void Start()
    {
        //任意のアイテム番号の、アイテムの個数を設定する関数。
        void SetWeponNumber(int objectnumber, int numofwepon)
        {
            numOfWepon[GetWeponByNumber(objectnumber)] = numofwepon;
        }
    }
    // 名前でアイテムを取得
    public WeponDate GetWepon(string searchName)
    {
        return itemDataBase.GetWeponLists().Find(itemName => itemName.GetItemName() == searchName);
    }
    //serch by number
    public WeponDate GetWeponByNumber(int searchNumber)
    {
        return itemDataBase.GetWeponLists().Find(objectNumber => objectNumber.GetobjectNumber() == searchNumber);
    }
}
メソッドを呼び出すほう
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CreateSlotScript : MonoBehaviour
{
    private void Start()
    {
        GetComponent<ItemManager>().GetWeponByNumber(1010101);
    }
    void Update()
    {
    }
}
この時、GetWeponと、GetWeponByNumberメソッドは呼び出せるのですが、 
SetWeponNumberは候補に出てこないため、呼び出せません。解決策を教えてください。
0 likes