Beispiel #1
0
    public override void OnTrigger()
    {
        if (DurabilityCheck())
        {
            List <RFX4_PhysicsMotion> list = new List <RFX4_PhysicsMotion>();
            if (Enhaced)
            {
                Instantiate(EnhanceBullet, FollowTransform.GetComponent <PlayerItemHand>().way.position + 1.6f * FollowTransform.GetComponent <PlayerItemHand>().way.transform.forward, FollowTransform.GetComponent <PlayerItemHand>().way.rotation);
            }
            else
            {
                list.Add(Fire(0));
            }

            if (list.Count > 1)
            {
                foreach (RFX4_PhysicsMotion rFX4_Physics in list)
                {
                    rFX4_Physics.AddIgnore(list);
                }
            }

            if (Durability == 0)
            {
                Destroy(this.gameObject);
            }
        }
        else
        {
            Destroy(this.gameObject);
        }
        base.OnTrigger();
    }
Beispiel #2
0
    Basic_Bullet Fire(float angle)
    {
        GameObject b = Instantiate(bullet, FollowTransform.GetComponent <PlayerItemHand>().way.position + 1.2f * FollowTransform.GetComponent <PlayerItemHand>().way.transform.forward, FollowTransform.GetComponent <PlayerItemHand>().way.rotation);

        b.transform.eulerAngles += new Vector3(0, angle, 0);
        Destroy(b, DestroyTime);
        if (b.GetComponent <Basic_Bullet>() != null)
        {
            b.GetComponent <Basic_Bullet>().PlayerID = PlayerID;
            return(b.GetComponent <Basic_Bullet>());
        }
        return(null);
    }
Beispiel #3
0
    public Letter this[char c]
    {
        get
        {
            FollowTransform ft = transform.Find(c.ToString()).GetComponent <FollowTransform>();

            Letter ret = ft.GetComponent <Letter>();
            if (ret == null)
            {
                ret = ft.gameObject.AddComponent <Letter>();
            }
            return(ret);
        }
    }
Beispiel #4
0
    ItemBomb Fire(float angle)
    {
        GameObject b = Instantiate(bomb, FollowTransform.GetComponent <PlayerItemHand>().way.position + 1.2f * FollowTransform.GetComponent <PlayerItemHand>().way.transform.forward, FollowTransform.GetComponent <PlayerItemHand>().way.rotation);

        b.transform.eulerAngles += new Vector3(0, angle, 0);
        b.transform.localScale   = transform.lossyScale;
        Rigidbody rb = b.GetComponent <Rigidbody>();

        rb.isKinematic = false;
        rb.useGravity  = true;
        rb.AddForce(600 * (FollowTransform.GetComponent <PlayerItemHand>().way.forward)); // Need fix
        if (b.GetComponent <ItemBomb>() != null)
        {
            b.GetComponent <ItemBomb>().PlayerID = PlayerID;
            b.GetComponent <ItemBomb>().OnUse();
            return(b.GetComponent <ItemBomb>());
        }
        return(null);
    }