Example #1
0
        public Item Post(ItemBasic item, bool readOnlyAtLibrary)
        {
            if (item == null)
            {
                throw new ArgumentNullException(nameof(item));
            }

            var user   = _folioUserService.ByUserName(AppSettings["foliousername"]);
            var source = new Source
            {
                Id       = user.Id,
                Personal = user.Personal
            };

            item.CirculationNotes.Add(new CirculationNote
            {
                NoteType = "Check in",
                Note     = _chillinTextRepository.ByTextField("checkInNote").CheckInNote,
                Source   = source
            });

            if (readOnlyAtLibrary)
            {
                item.CirculationNotes.Add(new CirculationNote
                {
                    NoteType = "Check out",
                    Note     = _chillinTextRepository.ByTextField("checkOutNote").CheckOutNote,
                    Source   = source
                });
            }

            var response = _folioRepository.Post(path, _jsonService.SerializeObject(item));

            return(_jsonService.DeserializeObject <Item>(response));
        }
Example #2
0
    private void OnTriggerStay(Collider other)
    {
        if (!IsAttacking)
        {
            return;
        }
        if ((layerMask.value & 1 << other.gameObject.layer) > 0)
        {
            if (other.gameObject.transform.root.GetComponent <PlayerHitten>())
            {
                if (other.gameObject.transform.root.GetComponent <PlayerIdentity>().PlayerID == PlayerID)
                {
                    return;
                }
                PlayerHitten     hitten        = other.gameObject.transform.root.GetComponent <PlayerHitten>();
                BulletHitInfo_AF bulletHitInfo = new BulletHitInfo_AF();
                bulletHitInfo.hitTransform = other.transform;
                bulletHitInfo.bulletForce  = (other.ClosestPoint(transform.position) - transform.position).normalized * velocity;
                // bulletHitInfo.hitNormal = raycastHit.normal;
                bulletHitInfo.hitPoint = other.ClosestPoint(transform.position);

                if (!playerHittens.Contains(hitten))
                {
                    hitten.OnDamaged(damage, PlayerID);
                    hitten.OnHit(bulletHitInfo);
                    playerHittens.Add(hitten);
                    Instantiate(HitParticle, bulletHitInfo.hitPoint, Quaternion.identity);
                    audioSource.PlayOneShot(HitSFX, volume);
                }
            }
            else if (other.gameObject.transform.root.GetComponent <CreatureBasic>())
            {
                other.gameObject.transform.root.GetComponent <CreatureBasic>().Death();
                other.GetComponent <Rigidbody>().AddForceAtPosition((other.ClosestPoint(transform.position) - transform.position).normalized * velocity * 2, other.ClosestPoint(transform.position));
                Instantiate(HitParticle, other.ClosestPoint(transform.position), Quaternion.identity);
                audioSource.PlayOneShot(HitSFX, volume);
            }


            if (other.gameObject.tag == "Item")
            {
                if (other.gameObject.GetComponent <ItemBasic>())
                {
                    ItemBasic itemBasic = other.gameObject.GetComponent <ItemBasic>();

                    // 記得取消
                    // itemBasic.OnUse();

                    if (!itemBasic.IsHolded)
                    {
                        BulletHitInfo_AF bulletHitInfo = new BulletHitInfo_AF();
                        bulletHitInfo.hitTransform = other.transform;
                        bulletHitInfo.bulletForce  = (other.ClosestPoint(transform.position) - transform.position).normalized * velocity / 30;
                        bulletHitInfo.hitPoint     = other.ClosestPoint(transform.position);
                        itemBasic.AddForce(bulletHitInfo);
                    }
                }
            }
        }
    }
Example #3
0
    IEnumerator explosion()
    {
        yield return(new WaitForSecondsRealtime(delay));

        Collider[] colliders = Physics.OverlapSphere(transform.position, radius, layerMask);

        BulletHitInfo_AF bulletHitInfo = new BulletHitInfo_AF();

        foreach (Collider collider in colliders)
        {
            if ((layerMask.value & 1 << collider.gameObject.layer) > 0)
            {
                if (collider.gameObject.transform.root.GetComponent <PlayerHitten>())
                {
                    PlayerHitten hitten = collider.gameObject.transform.root.GetComponent <PlayerHitten>();
                    bulletHitInfo.hitTransform = collider.transform;
                    bulletHitInfo.bulletForce  = (collider.ClosestPoint(transform.position) - transform.position).normalized * velocity;
                    // bulletHitInfo.hitNormal = raycastHit.normal;
                    bulletHitInfo.hitPoint = collider.ClosestPoint(transform.position);

                    if (!playerHittens.Contains(hitten))
                    {
                        hitten.OnDamaged(damage, PlayerID);
                    }

                    hitten.OnHit(bulletHitInfo);

                    playerHittens.Add(hitten);
                }
                else if (collider.gameObject.transform.root.GetComponent <CreatureBasic>())
                {
                    collider.gameObject.transform.root.GetComponent <CreatureBasic>().Death();
                    collider.GetComponent <Rigidbody>().AddForceAtPosition((collider.ClosestPoint(transform.position) - transform.position).normalized * velocity * 2, collider.ClosestPoint(transform.position));
                }
            }

            if (collider.gameObject.tag == "Item")
            {
                Debug.Log(collider.gameObject.name);
                if (collider.gameObject.GetComponent <ItemBasic>())
                {
                    ItemBasic itemBasic = collider.gameObject.GetComponent <ItemBasic>();

                    // 記得取消
                    // itemBasic.OnUse();

                    if (itemBasic.IsHolded)
                    {
                        continue;
                    }
                    bulletHitInfo.hitTransform = collider.transform;
                    bulletHitInfo.bulletForce  = (collider.ClosestPoint(transform.position) - transform.position).normalized * velocity;
                    bulletHitInfo.hitPoint     = collider.ClosestPoint(transform.position);
                    itemBasic.AddForce(bulletHitInfo);
                }
            }
        }
        yield return(null);
    }
Example #4
0
    // reduce quantity if present, otherwise remove item
    public void removeItem(ItemAbstract item)
    {
        if (mode == "blueprint")
        {
            item = ItemAbstract.newItem(item.getType(), item.getTier() - 3);
        }
        // like in addItem, first we search for the item
        string itemText = ItemDefinitions.itemToString(item);

        print("removing item: " + itemText);
        if (iconsMode)
        {
            for (int i = 0; i < transform.GetChild(0).childCount; i++)
            {
                ItemBasic indexItem     = transform.GetChild(0).GetChild(i).GetComponent <ItemBasic>();
                string    labelItemText = indexItem.itemString;
                // if it matches, we found it
                if (labelItemText == itemText)
                {
                    transform.GetChild(0).GetChild(i).
                    GetComponent <IconHandler>().decOne();
                    return;
                }
            }
        }
        else
        {
            for (int i = 0; i < transform.GetChild(0).childCount; i++)
            {
                UnityEngine.UI.Text indexItem = transform.GetChild(0).GetChild(i).GetChild(0).
                                                GetComponent <UnityEngine.UI.Text>();
                string labelItemText = indexItem.text.Substring(0, indexItem.text.Length - 4);
                int    numItems      = int.Parse(indexItem.text.Substring(indexItem.text.Length - 2, 1));
                // if it matches, we found it
                if (labelItemText == itemText)
                {
                    // first figure out how many we now have
                    int x = numItems;
                    x--;

                    // we have none left, so remove this item
                    if (x == 0)
                    {
                        GameObject.Destroy(indexItem.transform.parent.gameObject);
                        return;
                    }

                    // refresh the label
                    indexItem.text = itemText + " (" + x + ")";
                    return;
                }
            }
        }
    }
Example #5
0
    public bool findItem(ItemAbstract item)
    {
        //if (mode == "blueprint")
        //item = ItemAbstract.newItem(item.getType(), item.getTier() - 3);

        // First, convert item to a string
        string itemText = ItemDefinitions.itemToString(item);

        // Now, search through items we have for a matching one
        // It's in the format "ObjectName (x)", so we trim the (x) part
        if (!iconsMode)
        {
            for (int i = 0; i < transform.GetChild(0).childCount; i++)
            {
                UnityEngine.UI.Text indexItem = transform.GetChild(0).GetChild(i).GetChild(0).
                                                GetComponent <UnityEngine.UI.Text>();
                string labelItemText = indexItem.text.Substring(0, indexItem.text.Length - 4);
                int    numItems      = int.Parse(indexItem.text.Substring(indexItem.text.Length - 2, 1));
                // if this is the item:
                if (labelItemText == itemText)
                {
                    return(true);
                }
            }
        }
        else
        {
            for (int i = 0; i < transform.GetChild(0).childCount; i++)
            {
                ItemBasic indexItem     = transform.GetChild(0).GetChild(i).GetComponent <ItemBasic>();
                string    labelItemText = indexItem.itemString;
                int       numItems      = indexItem.itemQuantity;
                // if this is the item:
                if (labelItemText == itemText)
                {
                    return(true);
                }
            }
        }
        return(false);
    }
Example #6
0
    void OnPick(ItemBasic item)
    {
        for (int i = 0; i < images.Length; i++)
        {
            Destroy(images[i]);
        }
        int num = (int)item.MaxDurability;

        images = new GameObject[num];
        for (int i = 0; i < num; i++)
        {
            images[i] = Instantiate(Demo);
            images[i].transform.parent     = DurabilityGroup.transform;
            images[i].transform.localScale = new Vector3(1, 1, 1);
        }
        for (int i = images.Length - 1; i > item.Durability - 1; i--)
        {
            images[i].GetComponent <Image>().enabled = false;
        }
        item.TriggerEvent += OnTrigger;
    }
Example #7
0
    public List <ItemAbstract> getAllItems()
    {
        List <ItemAbstract> retItems = new List <ItemAbstract>();

        if (iconsMode)
        {
            for (int i = 0; i < transform.GetChild(0).childCount; i++)
            {
                ItemBasic indexItem = transform.GetChild(0).GetChild(i).GetComponent <ItemBasic>();

                string       labelItemText = indexItem.itemString;
                int          numItems      = indexItem.itemQuantity;
                ItemAbstract item          = ItemDefinitions.stringToItem(labelItemText);
                for (int j = 0; j < numItems; j++)
                {
                    retItems.Add(item);
                }
            }
        }
        else
        {
            for (int i = 0; i < transform.GetChild(0).childCount; i++)
            {
                UnityEngine.UI.Text indexItem = transform.GetChild(0).GetChild(i).GetChild(0).
                                                GetComponent <UnityEngine.UI.Text>();
                string       labelItemText = indexItem.text.Substring(0, indexItem.text.Length - 4);
                int          numItems      = int.Parse(indexItem.text.Substring(indexItem.text.Length - 2, 1));
                ItemAbstract item          = ItemDefinitions.stringToItem(labelItemText);
                for (int j = 0; j < numItems; j++)
                {
                    retItems.Add(item);
                }
            }
        }
        return(retItems);
    }
Example #8
0
 private void Start()
 {
     itemBasic     = GetComponent <ItemBasic>();
     userBehave    = FindObjectOfType <ControllableBehave>();
     userTransform = userBehave.gameObject.transform;
 }
Example #9
0
    // add the item
    // if it's already there, increase quantity
    public void addItem(ItemAbstract item)
    {
        if (mode == "blueprint")
        {
            item = ItemAbstract.newItem(item.getType(), item.getTier() - 3);
        }

        // First, convert item to a string
        string itemText = ItemDefinitions.itemToString(item);

        // Now, search through items we have for a matching one
        // It's in the format "ObjectName (x)", so we trim the (x) part
        if (!iconsMode)
        {
            for (int i = 0; i < transform.GetChild(0).childCount; i++)
            {
                UnityEngine.UI.Text indexItem = transform.GetChild(0).GetChild(i).GetChild(0).
                                                GetComponent <UnityEngine.UI.Text>();
                string labelItemText = indexItem.text.Substring(0, indexItem.text.Length - 4);
                int    numItems      = int.Parse(indexItem.text.Substring(indexItem.text.Length - 2, 1));
                // if this is the item:
                if (labelItemText == itemText)
                {
                    // increase the quantity and update the label
                    // then return cause we're done
                    int x = numItems;
                    x++;
                    indexItem.text = itemText + " (" + x + ")";
                    return;
                }
            }
        }
        else
        {
            for (int i = 0; i < transform.GetChild(0).childCount; i++)
            {
                ItemBasic indexItem     = transform.GetChild(0).GetChild(i).GetComponent <ItemBasic>();
                string    labelItemText = indexItem.itemString;
                int       numItems      = indexItem.itemQuantity;
                // if this is the item:
                if (labelItemText == itemText)
                {
                    // increase the quantity and update the label
                    // then return cause we're done
                    int x = numItems;
                    x++;

                    indexItem.itemString   = itemText;
                    indexItem.itemQuantity = x;
                    //print("++in ILH adding: " + itemText);
                    transform.GetChild(0).GetChild(i).GetComponent <IconHandler>().setNum(x);
                    //print("incrementing existing item: " + itemText);
                    return;
                }
            }
        }

        // We haven't returned earlier, so this must be a new item
        // So, we create a new thing and add to the listview
        // We have an example item in the PrefabHost
        //print("creating new item: " + itemText);
        GameObject newItem;

        if (mode == "inventory")
        {
            newItem = GameObject.Find("GameLogic").
                      GetComponent <PrefabHost>().getInventoryItem();
        }
        else if (mode == "merchant")
        {
            newItem = GameObject.Find("GameLogic").
                      GetComponent <PrefabHost>().getMerchantItem();
        }
        else if (mode == "icon")
        {
            newItem = GameObject.Find("GameLogic").
                      GetComponent <PrefabHost>().getIconItem();
            newItem.transform.position =
                new Vector3(-95 + 45 * (numItemsTotal % 5), 140 - 45 * (numItemsTotal / 5));
            newItem.transform.GetChild(0).GetComponent <UnityEngine.UI.Image>()
            .sprite = getImage(item);
        }
        else
        {
            newItem = GameObject.Find("GameLogic").
                      GetComponent <PrefabHost>().getBlueprintItem();
        }
        numItemsTotal++;

        // Initially has 1 object
        if (iconsMode)
        {
            newItem.GetComponent <ItemBasic>().itemString   = itemText;
            newItem.GetComponent <ItemBasic>().itemQuantity = 1;
            newItem.GetComponent <IconHandler>().setNum(1);
        }
        else
        {
            newItem.transform.GetChild(0).GetComponent <UnityEngine.UI.Text>().
            text = itemText + " (1)";
        }
        // Add to listview
        newItem.transform.SetParent(transform.GetChild(0).transform, false);

        // This is so we call itemSelected if we click an item here
        newItem.GetComponent <UnityEngine.UI.Button>()
        .onClick.AddListener(delegate() { itemSelected(newItem); });

        if (iconsMode)
        {
            /*
             * GameObject greyedItem = (GameObject)Instantiate(newItem, Vector3.zero, Quaternion.Euler(0, 0, 0));
             * greyedItem.transform.SetParent(newItem.transform.parent);
             * greyedItem.transform.position = newItem.transform.position;
             * greyedItem.transform.SetAsFirstSibling();
             * greyedItem.transform.GetChild(0).GetComponent<UnityEngine.UI.Image>()
             *  .color = Color.gray;
             * Destroy(greyedItem.GetComponent<dragHandler>());
             */
        }
        else
        {
            GetComponent <UnityEngine.UI.ScrollRect>().verticalNormalizedPosition = 1;
        }

        //print("XXin ILH adding: " + itemText);
    }
Example #10
0
 private void Start()
 {
     userBehave = FindObjectOfType <ControllableBehave>();
     itemBasic  = GetComponent <ItemBasic>();
 }