示例#1
0
    void OnCollisionEnter(Collision collision)
    {
        if (collision.collider.gameObject.tag.Equals("EnergyBlade") && !disrupted)
        {
            EnergyBlade blade = collision.collider.gameObject.GetComponent <EnergyBlade>();
            if (blade != null)
            {
                //otherBlade = blade;
                if (offenseMode && !disrupted && powerLevel > 0)
                {
                    float localHitpoint = fullBladeTransform.InverseTransformPoint(collision.contacts[0].point).y;
                    float newPowerLevel = 50 * localHitpoint + 50;


                    if (newPowerLevel < 95 && newPowerLevel > 10 && newPowerLevel < powerLevel)
                    {
                        StartCoroutine(DisruptBlade(newPowerLevel));
                    }
                    else if (newPowerLevel <= 10)
                    {
                        StartCoroutine(DisruptBlade(0));
                    }
                }
            }
            else
            {
                print("Error: Blade Collided with something tagged as 'EnergyBlade' but didn't have an EnergyBlade component script attached");
            }
        }
    }
示例#2
0
    // Use this for initialization
    void Start()
    {
        mrs      = GetComponentsInChildren <MeshRenderer>();
        headMat  = mrs[0].material;
        bodyMat  = mrs[1].material;
        regColor = headMat.color;

        actorScript    = GetComponent <TestCustomActor>();
        leftTrackable  = playerLeftHand.GetComponent <TrackableObject>();
        rightTrackable = playerRightHand.GetComponent <TrackableObject>();

        leftBlade  = playerLeftHand.GetComponentInChildren <EnergyBlade>();
        rightBlade = playerRightHand.GetComponentInChildren <EnergyBlade>();

        leftHandLabel  = "L" + playerIndex;
        rightHandLabel = "R" + playerIndex;

        SyncVarsWithActorScript();

        //VRHead = GameObject.FindGameObjectWithTag("MainCamera");


        /*
         * if (isBuildPlayer) {
         *      mrs[0].enabled = false;
         * }
         */
    }
 void OnTriggerStay(Collider col)
 {
     if (col.gameObject.tag == "EnergyBlade")
     {
         EnergyBlade otherBlade = col.gameObject.GetComponent <EnergyBlade>();
         if (!otherBlade.Equals(pc.GetLeftBlade()) && otherBlade.IsOffensive() && !damaged)
         {
             StartCoroutine(pc.HitByBlade());
         }
     }
 }
示例#4
0
 void OnTriggerStay(Collider col)
 {
     if (isBuildPlayer && col.gameObject.tag == "EnergyBlade")
     {
         EnergyBlade otherBlade = col.gameObject.GetComponent <EnergyBlade>();
         if (otherBlade != null && !otherBlade.Equals(leftBlade) && !otherBlade.Equals(rightBlade) && otherBlade.IsOffensive() && !damaged)
         {
             StartCoroutine(HitByBlade());
         }
     }
 }