Inheritance: MonoBehaviour
Beispiel #1
0
 void FindWielder()
 {
     if (wielder == null && transform.parent != null)
     {
         Transform t = transform.parent;
         while (t != null && wielder == null)
         {
             wielder = t.GetComponent <Character>();
             if (wielder == null)
             {
                 t = t.parent;
             }
         }
         InstantiatedItem iit = GetComponent <InstantiatedItem>();
         baseItem = iit != null ? iit.item : null;
         if (wielder == null)
         {
             Debug.LogError("No wielder");
         }
         if (equippedSlots == null || equippedSlots.Length == 0)
         {
             wielder.Equip(this);
         }
     }
 }
Beispiel #2
0
    public InstantiatedItem Instantiate(Vector3 where, Quaternion rot)
    {
        Transform        t   = Instantiate(prefab, where, rot) as Transform;
        InstantiatedItem iit =
            t.GetComponent <InstantiatedItem>() ??
            t.gameObject.AddComponent <InstantiatedItem>();

        iit.item = this;
        return(iit);
    }
Beispiel #3
0
    public bool InsertInstantiatedItem(InstantiatedItem iit, int stack = -1)
    {
        Item it = iit.item;

        if (InsertItem(it, stack, 1) == 1)
        {
            Destroy(iit.gameObject);
            return(true);
        }
        return(false);
    }
Beispiel #4
0
    public InstantiatedItem InstantiateItem(
        int idx,
        Vector3?where  = null,
        Quaternion?rot = null
        )
    {
        if (idx < 0 || counts[idx] <= 0)
        {
            return(null);
        }
        if (items[idx].prefab == null)
        {
            return(null);
        }
        InstantiatedItem iit =
            items[idx].Instantiate(
                (where != null ? where.Value : Vector3.zero),
                (rot != null ? rot.Value : Quaternion.identity)
                );

        RemoveItem(idx, 1);
        return(iit);
    }
Beispiel #5
0
 public bool InsertInstantiatedItem(InstantiatedItem iit, int stack=-1)
 {
     Item it = iit.item;
     if(InsertItem(it, stack, 1) == 1) {
         Destroy(iit.gameObject);
         return true;
     }
     return false;
 }