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)); }
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); } } } } }
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); }
// 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; } } } }
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); }
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; }
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); }
private void Start() { itemBasic = GetComponent <ItemBasic>(); userBehave = FindObjectOfType <ControllableBehave>(); userTransform = userBehave.gameObject.transform; }
// 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); }
private void Start() { userBehave = FindObjectOfType <ControllableBehave>(); itemBasic = GetComponent <ItemBasic>(); }