コード例 #1
0
ファイル: SurgeLaser.cs プロジェクト: Davidtedwards2017/Surge
        public override void StartProjectile(Vector3 direction)
        {
            LaserEffect = gameObject.GetComponent <LineRenderer>();
            LaserEffect.SetWidth(StartingWidth, StartingWidth);
            LaserEffect.SetVertexCount(2);

            RaycastHit hit;
            Vector3    EndPoint;

            //Vector3 direction = transform.forward;

            if (GetClosestHitTarget(direction, out hit)) //something was hit
            {
                GameObject hitObject = hit.transform.gameObject;
                EndPoint = hit.point;

                if (hitObject.tag.Equals("Enemy"))
                {
                    SurgeActor HitActorScript = hitObject.GetComponent <SurgeActor>();
                    HitActorScript.TakeDamage(DamageAmount);
                }
            }
            else
            {
                EndPoint = (direction * Range + transform.position);
            }

            //start laser effect
            LaserEffect.SetPosition(0, transform.position);
            LaserEffect.SetPosition(1, EndPoint);
        }
コード例 #2
0
        protected override void HitEnemy(GameObject hitObject, Vector3 hitLoc, Vector3 hitNormal)
        {
            velocity              = Vector3.Reflect(velocity, hitNormal);
            m_RemaingingLifeTime /= 2;

            SurgeActor ActorScript = hitObject.GetComponent <SurgeActor>();

            if (ActorScript != null)
            {
                ActorScript.TakeDamage(DamageAmount);
            }
        }