public override string OnUse(_playerItemStatus status) { if (DurabilityCheck()) { if (FuseParticle != null) { FuseParticle.Play(); } if (FuseVFX != null) { FuseVFX.Play(); } /*meshRenderer.material.SetFloat("_Noise_Power", Pow); * meshRenderer.material.SetFloat("_Noise_Scale", Scale);*/ StartCoroutine(Explosion()); } else { return("Empty"); } return(base.OnUse(status)); }
public override string OnUse(_playerItemStatus status) { if (status.Throwing) { return("Empty"); } return(base.OnUse(status)); }
public virtual string OnUse(_playerItemStatus status) { for (int i = 0; i < UsingSound.Length; i++) { audioSource.PlayOneShot(UsingSound[i]); } return(animation); }
// Start is called before the first frame update void Start() { meshRenderer = GetComponent <MeshRenderer>(); if (UseOnStart) { _playerItemStatus status = new _playerItemStatus(); OnUse(status); } }
public override string OnUse(_playerItemStatus status) { if (DurabilityCheck()) { StartCoroutine(Explosion()); } else { return("Empty"); } return(base.OnUse(status)); }
public override string OnUse(_playerItemStatus status) { Debug.Log("A"); if (Durability <= 0) { return("Empty"); } Durability--; if (status.Throwing) { return("Empty"); } return(base.OnUse(status)); }
public override string OnUse(_playerItemStatus status) { if (status.Throwing) { return("Empty"); } if (DurabilityCheck()) { UnusedModel.SetActive(false); UsedModel.SetActive(true); transform.parent = null; StartCoroutine(SetDelay()); } else { return("Empty"); } return(base.OnUse(status)); }
public override string OnUse(_playerItemStatus status) {/* * if (status.Throwing) return "Empty"; * if (DurabilityCheck()) * { * GameObject b = Instantiate(bullet, muzzle.position, muzzle.rotation); * b.GetComponent<Rigidbody>().AddForce(BulletVelocity * transform.root.GetComponent<PlayerHitten>().FaceWay.forward); * audioSource.PlayOneShot(UsingSound[0]); * if(Durability == 0) * { * Destroy(this.gameObject); * } * } * else * { * Destroy(this.gameObject); * return "Empty"; * }*/ return(base.OnUse(status)); }
void OnShoot() { if (IsHolding) { _playerItemStatus status = new _playerItemStatus(); status.Throwing = IsThrowing2; string animation = itemHand.UseItem(status); if (animation == "Empty" || animation == "") { } else if (animation == "SetMine") { SetMine(); } else { playerStatus.PlayerItemAnimation(animation); } } }
void OnRelease() { if (!this.enabled) { return; } if (playerStatus.PlayerPick()) { return; } if (IsHolding) { if (IsHolding) { _playerItemStatus status = new _playerItemStatus(); status.Throwing = IsThrowing2; string animation = itemHand.ReleaseItem(status); if (animation == "Empty" || animation == "") { } else if (animation == "SetMine") { SetMine(); } else { if (IsThrowing) { return; } if (IsCharging) { IsCharging = false; playerStatus.PlayerItemAnimation("_Interupt"); playerStatus.PlayerItemAnimation(animation); } } } } }
public override string OnUse(_playerItemStatus status) { if (DurabilityCheck()) { if (FuseParticle != null) { FuseParticle.Play(); } if (FuseVFX != null) { FuseVFX.Play(); } meshRenderer.material.SetFloat("Vector1_D1F6B343", Pow); meshRenderer.material.SetFloat("Vector1_C2A513C5", 1); StartCoroutine(Explosion()); } else { return("Empty"); } return(base.OnUse(status)); }
public virtual string OnRelease(_playerItemStatus status) { return(Releaseanimation); }
// 由ItemHand呼叫 public virtual string OnUse(_playerItemStatus status) { return(animation); }
public override void Throw() { _playerItemStatus status = new _playerItemStatus(); OnUse(status); }
public string UseItem(_playerItemStatus status) { return(HoldingItem.GetComponent <ItemBasic>().OnUse(status)); }
// Pick & Shoot void OnPick() { if (!this.enabled) { return; } if (playerStatus.PlayerPick()) { return; } if (IsHolding) { if (IsHolding && playerStatus.CanAnimation()) { _playerItemStatus status = new _playerItemStatus(); status.Throwing = IsThrowing2; string animation = itemHand.UseItem(status); if (animation == "Empty" || animation == "") { } else if (animation == "SetMine") { SetMine(); } else if (animation == "Axe") { AnimatorClipInfo[] CurrentClipInfo; CurrentClipInfo = playerStatus.animator.GetCurrentAnimatorClipInfo(1); if (CurrentClipInfo[0].clip.name == "Twinblades_attack02_Inplace") { } else { playerStatus.PlayerItemAnimation(animation); } } else { if (IsThrowing) { return; } if (animation[0] == '_') { IsCharging = true; playerStatus.PlayerItemAnimationBool(animation, true); } else { playerStatus.PlayerItemAnimation(animation); } } } /*playerStatus.PlayerItem_Aim(); * IsThrowing = true; * IsThrowing2 = true;*/ } else if (!IsHolding) { Collider[] colliders = Physics.OverlapSphere(transform.position, PickRadius); if (colliders.Length > 0) { float shortestDistance = 10; Collider pick = null; foreach (Collider collider in colliders) { if (collider.gameObject.tag != "Item") { continue; } if (collider.gameObject.GetComponent <ItemBasic>().IsHolded) { continue; } if (pick == null) { pick = collider; shortestDistance = Vector3.Distance(this.gameObject.transform.position, pick.transform.position); } float distance = Vector3.Distance(this.gameObject.transform.position, pick.transform.position); if (distance < shortestDistance) { pick = collider; shortestDistance = distance; } } if (pick != null) { IsHolding = true; itemHand.SetHoldingItem(pick.gameObject); PickEvent?.Invoke(pick.gameObject.GetComponent <ItemBasic>()); if (pick.gameObject.GetComponent <ItemBasic>().IdleAnimation != "") { playerStatus.PlayerItemAnimationBool(pick.gameObject.GetComponent <ItemBasic>().IdleAnimation, true); } GameObject g = Instantiate(PickUpParticle, transform.position, Quaternion.identity); g.transform.parent = this.gameObject.transform; Destroy(g, 1); } } } }