Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class Projectile2 : MonoBehaviour
- {
- public string type;
- public float speed;
- private GameObject checkNearestItem;
- private GameObject lastcheckItem;
- private GameObject checkItem;
- private GameObject checkItem1;
- private GameObject checkItem2;
- private GameObject checkItem3;
- private GameObject checkItem4;
- private GameObject checkItem5;
- private GameObject checkItem6;
- private GameObject checkItem7;
- private GameObject checkItem8;
- private GameObject checkItem9;
- private GameObject checkItem10;
- private GameObject checkItem11;
- private GameObject checkItem12;
- private GameObject checkItem13;
- private GameObject checkItem14;
- private GameObject checkItem15;
- private GameObject checkItem16;
- private GameObject checkItem17;
- private GameObject checkItem18;
- private GameObject checkItem19;
- private GameObject checkItem20;
- private Enemy enemy;
- //Bezier Management
- private float startmeX = 0.0f;
- private float startmeX2 = 0.0f;
- private float startmeY = 0.0f;
- private float startmeY2 = 0.0f;
- private float ControlPointX = 260.0f;
- private float ControlPointY = -10.0f;
- private float CurveX;
- private float CurveY;
- private float BezierTime = 0.0f;
- private bool canContinue = true;
- private float smaller1 = 1500.0f;
- private float diff1;
- private float smaller2 = 1500.0f;
- private float diff2;
- private float smaller3 = 1500.0f;
- private float diff3;
- private float smaller4 = 1500.0f;
- private float diff4;
- private float smaller5 = 1500.0f;
- private float diff5;
- private float smaller6 = 1500.0f;
- private float diff6;
- private float smaller7 = 1500.0f;
- private float diff7;
- private float smaller8 = 1500.0f;
- private float diff8;
- private int i = 1;
- //private GameObject closest = null;
- //private string xxx = "Croc1";
- // Use this for initialization
- void Start ()
- {
- startmeX = transform.position.x - 0.0f;
- startmeX2 = transform.position.x - 34.0f;
- startmeY = transform.position.y - 50.0f;
- startmeY2 = transform.position.y;
- }
- // Update is called once per frame
- void Update ()
- {
- transform.Rotate (0,4,0);
- //canContinue = true;
- for (i=1;i<31;i++) {
- checkItem = GameObject.Find("Croc"+i);
- if (checkItem != null)
- {
- if (startmeY2 == 90 && checkItem.transform.position.y == 90 && checkItem.transform.position.x > transform.position.x + 100)
- {
- diff1 = checkItem.transform.position.x - transform.position.x;
- if (diff1 < smaller1) {
- checkNearestItem = checkItem;
- //checkNearestItem = lastcheckItem;
- smaller1 = diff1;
- //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
- }
- }
- if (startmeY2 == 154 && checkItem.transform.position.y == 154 && checkItem.transform.position.x > transform.position.x + 100)
- {
- diff2 = checkItem.transform.position.x - transform.position.x;
- if (diff2 < smaller2) {
- checkNearestItem = checkItem;
- //checkNearestItem = lastcheckItem;
- smaller2 = diff2;
- //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
- }
- }
- if (startmeY2 == 218 && checkItem.transform.position.y == 218 && checkItem.transform.position.x > transform.position.x + 100)
- {
- diff3 = checkItem.transform.position.x - transform.position.x;
- if (diff3 < smaller3) {
- checkNearestItem = checkItem;
- //checkNearestItem = lastcheckItem;
- smaller3 = diff3;
- //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
- }
- }
- if (startmeY2 == 282 && checkItem.transform.position.y == 282 && checkItem.transform.position.x > transform.position.x + 100)
- {
- diff4 = checkItem.transform.position.x - transform.position.x;
- if (diff4 < smaller4) {
- checkNearestItem = checkItem;
- //checkNearestItem = lastcheckItem;
- smaller4 = diff4;
- //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
- }
- }
- if (startmeY2 == 346 && checkItem.transform.position.y == 346 && checkItem.transform.position.x > transform.position.x + 100)
- {
- diff5 = checkItem.transform.position.x - transform.position.x;
- if (diff5 < smaller5) {
- checkNearestItem = checkItem;
- //checkNearestItem = lastcheckItem;
- smaller5 = diff5;
- //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
- }
- }
- if (startmeY2 == 410 && checkItem.transform.position.y == 410 && checkItem.transform.position.x > transform.position.x + 100)
- {
- diff6 = checkItem.transform.position.x - transform.position.x;
- if (diff6 < smaller6) {
- checkNearestItem = checkItem;
- //checkNearestItem = lastcheckItem;
- smaller6 = diff6;
- //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
- }
- }
- if (startmeY2 == 474 && checkItem.transform.position.y == 474 && checkItem.transform.position.x > transform.position.x + 100)
- {
- diff7 = checkItem.transform.position.x - transform.position.x;
- if (diff7 < smaller7) {
- checkNearestItem = checkItem;
- //checkNearestItem = lastcheckItem;
- smaller7 = diff7;
- //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
- }
- }
- if (startmeY2 == 538 && checkItem.transform.position.y == 538 && checkItem.transform.position.x > transform.position.x + 100)
- {
- diff8 = checkItem.transform.position.x - transform.position.x;
- if (diff8 < smaller8) {
- checkNearestItem = checkItem;
- //checkNearestItem = lastcheckItem;
- smaller8 = diff8;
- //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
- }
- }
- /*else
- {
- //Destroy(gameObject);
- //checkNearestItem = lastcheckItem;
- }
- */
- }
- }
- if (checkNearestItem != null)
- {
- //Attack the nearest CROC
- BezierTime = BezierTime + Time.deltaTime;
- if (BezierTime >= 1)
- {
- BezierTime = 0;
- Destroy(gameObject);
- enemy = checkNearestItem.GetComponent<Enemy>();
- enemy.ApplyDamage(100);
- }
- //CurveX = (((1-BezierTime)*(1-BezierTime)) * transform.position.x) + (2 * BezierTime * (1 - BezierTime) * ((checkItem1.transform.position.x - startmeX) / 2.0f + startmeX)) + ((BezierTime * BezierTime) * checkItem1.transform.position.x);
- /*CurveX = (((1-BezierTime)*(1-BezierTime)) * transform.position.x) + (2 * BezierTime * (1 - BezierTime) * ((checkItem1.transform.position.x - startmeX) / 2.0f + startmeX)) + ((BezierTime * BezierTime) * checkItem1.transform.position.x);
- CurveY = (((1-BezierTime)*(1-BezierTime)) * transform.position.y) + (2 * BezierTime * (1 - BezierTime) * ControlPointY) + ((BezierTime * BezierTime) * checkItem1.transform.position.y);
- transform.position = new Vector3(CurveX, CurveY, 1);*/
- CurveX = (((1-BezierTime)*(1-BezierTime)) * startmeX) + (2 * BezierTime * (1 - BezierTime) * (((checkNearestItem.transform.position.x - 0.0f) - startmeX) / 2.0f + startmeX)) + ((BezierTime * BezierTime) * (checkNearestItem.transform.position.x - 0.0f));
- CurveY = (((1-BezierTime)*(1-BezierTime)) * startmeY) + (2 * BezierTime * (1 - BezierTime) * ControlPointY) + ((BezierTime * BezierTime) * checkNearestItem.transform.position.y);
- transform.position = new Vector3(CurveX, CurveY, 10);
- }
- else if (checkNearestItem == null)
- {
- Destroy(gameObject);
- }
- }
- public Vector3 GetQuadraticCoordinates(float t, Vector3 p0, Vector3 c0, Vector3 p1)
- {
- return Mathf.Pow(1-t,2)*p0 + 2*t*(1-t)*c0 + Mathf.Pow(t,2)*p1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement