Exemplo n.º 1
0
    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));
    }
Exemplo n.º 2
0
 public override string OnUse(_playerItemStatus status)
 {
     if (status.Throwing)
     {
         return("Empty");
     }
     return(base.OnUse(status));
 }
Exemplo n.º 3
0
 public virtual string OnUse(_playerItemStatus status)
 {
     for (int i = 0; i < UsingSound.Length; i++)
     {
         audioSource.PlayOneShot(UsingSound[i]);
     }
     return(animation);
 }
Exemplo n.º 4
0
 // Start is called before the first frame update
 void Start()
 {
     meshRenderer = GetComponent <MeshRenderer>();
     if (UseOnStart)
     {
         _playerItemStatus status = new _playerItemStatus();
         OnUse(status);
     }
 }
Exemplo n.º 5
0
 public override string OnUse(_playerItemStatus status)
 {
     if (DurabilityCheck())
     {
         StartCoroutine(Explosion());
     }
     else
     {
         return("Empty");
     }
     return(base.OnUse(status));
 }
Exemplo n.º 6
0
 public override string OnUse(_playerItemStatus status)
 {
     Debug.Log("A");
     if (Durability <= 0)
     {
         return("Empty");
     }
     Durability--;
     if (status.Throwing)
     {
         return("Empty");
     }
     return(base.OnUse(status));
 }
Exemplo n.º 7
0
 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));
 }
Exemplo n.º 8
0
 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));
 }
Exemplo n.º 9
0
 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);
         }
     }
 }
Exemplo n.º 10
0
 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);
                 }
             }
         }
     }
 }
Exemplo n.º 11
0
    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));
    }
Exemplo n.º 12
0
 public virtual string OnRelease(_playerItemStatus status)
 {
     return(Releaseanimation);
 }
Exemplo n.º 13
0
 // 由ItemHand呼叫
 public virtual string OnUse(_playerItemStatus status)
 {
     return(animation);
 }
Exemplo n.º 14
0
    public override void Throw()
    {
        _playerItemStatus status = new _playerItemStatus();

        OnUse(status);
    }
Exemplo n.º 15
0
 public string UseItem(_playerItemStatus status)
 {
     return(HoldingItem.GetComponent <ItemBasic>().OnUse(status));
 }
Exemplo n.º 16
0
    // 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);
                }
            }
        }
    }