Advertisement
Guest User

canonball

a guest
Feb 28th, 2012
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.04 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class Projectile2 : MonoBehaviour
  5. {
  6.    
  7.     public string type;
  8.     public float speed;
  9.     private GameObject checkNearestItem;
  10.     private GameObject lastcheckItem;
  11.     private GameObject checkItem;
  12.     private GameObject checkItem1;
  13.     private GameObject checkItem2;
  14.     private GameObject checkItem3;
  15.     private GameObject checkItem4;
  16.     private GameObject checkItem5;
  17.     private GameObject checkItem6;
  18.     private GameObject checkItem7;
  19.     private GameObject checkItem8;
  20.     private GameObject checkItem9;
  21.     private GameObject checkItem10;
  22.     private GameObject checkItem11;
  23.     private GameObject checkItem12;
  24.     private GameObject checkItem13;
  25.     private GameObject checkItem14;
  26.     private GameObject checkItem15;
  27.     private GameObject checkItem16;
  28.     private GameObject checkItem17;
  29.     private GameObject checkItem18;
  30.     private GameObject checkItem19;
  31.     private GameObject checkItem20;
  32.     private Enemy enemy;
  33.  
  34.     //Bezier Management
  35.     private float startmeX = 0.0f;
  36.     private float startmeX2 = 0.0f;
  37.     private float startmeY = 0.0f;
  38.     private float startmeY2 = 0.0f;
  39.     private float ControlPointX = 260.0f;
  40.     private float ControlPointY = -10.0f;
  41.     private float CurveX;
  42.     private float CurveY;
  43.     private float BezierTime = 0.0f;
  44.     private bool canContinue = true;
  45.    
  46.     private float smaller1 = 1500.0f;
  47.     private float diff1;
  48.     private float smaller2 = 1500.0f;
  49.     private float diff2;
  50.     private float smaller3 = 1500.0f;
  51.     private float diff3;
  52.     private float smaller4 = 1500.0f;
  53.     private float diff4;
  54.     private float smaller5 = 1500.0f;
  55.     private float diff5;
  56.     private float smaller6 = 1500.0f;
  57.     private float diff6;
  58.     private float smaller7 = 1500.0f;
  59.     private float diff7;
  60.     private float smaller8 = 1500.0f;
  61.     private float diff8;
  62.    
  63.     private int i = 1;
  64.    
  65.     //private GameObject closest = null;
  66.    
  67.     //private string xxx = "Croc1";
  68.  
  69.    
  70.    
  71.     // Use this for initialization
  72.     void Start ()
  73.     {
  74.     startmeX = transform.position.x - 0.0f;
  75.     startmeX2 = transform.position.x - 34.0f;
  76.     startmeY = transform.position.y - 50.0f;
  77.     startmeY2 = transform.position.y;
  78.     }
  79.    
  80.    
  81.    
  82.     // Update is called once per frame
  83.     void Update ()
  84.     {
  85.    
  86.         transform.Rotate (0,4,0);
  87.         //canContinue = true;
  88.        
  89.        
  90.        
  91.    
  92.            
  93.        
  94.        
  95.        
  96.        
  97.  
  98.        
  99.         for (i=1;i<31;i++) {
  100.         checkItem = GameObject.Find("Croc"+i);
  101.         if (checkItem != null)
  102.         {
  103.            
  104.             if (startmeY2 == 90 && checkItem.transform.position.y == 90 && checkItem.transform.position.x > transform.position.x + 100)
  105.             {
  106.                 diff1 = checkItem.transform.position.x - transform.position.x;
  107.                 if (diff1 < smaller1) {
  108.                     checkNearestItem = checkItem;
  109.                     //checkNearestItem = lastcheckItem;
  110.                     smaller1 = diff1;
  111.                     //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
  112.                 }
  113.             }
  114.                
  115.             if (startmeY2 == 154 && checkItem.transform.position.y == 154 && checkItem.transform.position.x > transform.position.x + 100)
  116.             {
  117.                 diff2 = checkItem.transform.position.x - transform.position.x;
  118.                 if (diff2 < smaller2) {
  119.                     checkNearestItem = checkItem;
  120.                     //checkNearestItem = lastcheckItem;
  121.                     smaller2 = diff2;
  122.                     //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
  123.                 }
  124.             }
  125.                
  126.             if (startmeY2 == 218 && checkItem.transform.position.y == 218 && checkItem.transform.position.x > transform.position.x + 100)
  127.             {
  128.                 diff3 = checkItem.transform.position.x - transform.position.x;
  129.                 if (diff3 < smaller3) {
  130.                     checkNearestItem = checkItem;
  131.                     //checkNearestItem = lastcheckItem;
  132.                     smaller3 = diff3;
  133.                     //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
  134.                 }
  135.             }
  136.                
  137.             if (startmeY2 == 282 && checkItem.transform.position.y == 282 && checkItem.transform.position.x > transform.position.x + 100)
  138.             {
  139.                 diff4 = checkItem.transform.position.x - transform.position.x;
  140.                 if (diff4 < smaller4) {
  141.                     checkNearestItem = checkItem;
  142.                     //checkNearestItem = lastcheckItem;
  143.                     smaller4 = diff4;
  144.                     //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
  145.                 }
  146.             }
  147.                
  148.             if (startmeY2 == 346 && checkItem.transform.position.y == 346 && checkItem.transform.position.x > transform.position.x + 100)
  149.             {
  150.                 diff5 = checkItem.transform.position.x - transform.position.x;
  151.                 if (diff5 < smaller5) {
  152.                     checkNearestItem = checkItem;
  153.                     //checkNearestItem = lastcheckItem;
  154.                     smaller5 = diff5;
  155.                     //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
  156.                 }
  157.             }
  158.                
  159.             if (startmeY2 == 410 && checkItem.transform.position.y == 410 && checkItem.transform.position.x > transform.position.x + 100)
  160.             {
  161.                 diff6 = checkItem.transform.position.x - transform.position.x;
  162.                 if (diff6 < smaller6) {
  163.                     checkNearestItem = checkItem;
  164.                     //checkNearestItem = lastcheckItem;
  165.                     smaller6 = diff6;
  166.                     //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
  167.                 }
  168.             }
  169.                
  170.             if (startmeY2 == 474 && checkItem.transform.position.y == 474 && checkItem.transform.position.x > transform.position.x + 100)
  171.             {
  172.                 diff7 = checkItem.transform.position.x - transform.position.x;
  173.                 if (diff7 < smaller7) {
  174.                     checkNearestItem = checkItem;
  175.                     //checkNearestItem = lastcheckItem;
  176.                     smaller7 = diff7;
  177.                     //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
  178.                 }
  179.             }
  180.                
  181.             if (startmeY2 == 538 && checkItem.transform.position.y == 538 && checkItem.transform.position.x > transform.position.x + 100)
  182.             {
  183.                 diff8 = checkItem.transform.position.x - transform.position.x;
  184.                 if (diff8 < smaller8) {
  185.                     checkNearestItem = checkItem;
  186.                     //checkNearestItem = lastcheckItem;
  187.                     smaller8 = diff8;
  188.                     //Debug.Log(checkItem.name + " / Diff: " + diff + " / Smaller: " + smaller);
  189.                 }
  190.             }
  191.                
  192.             /*else
  193.             {
  194.                 //Destroy(gameObject);
  195.                 //checkNearestItem = lastcheckItem;
  196.             }  
  197.             */ 
  198.            
  199.         }
  200.        
  201.         }
  202.  
  203.  
  204.  
  205.        
  206.        
  207.        
  208.        
  209.        
  210.  
  211.        
  212.         if (checkNearestItem != null)
  213.         {
  214.         //Attack the nearest CROC  
  215.  
  216.             BezierTime = BezierTime + Time.deltaTime;
  217.  
  218.             if (BezierTime >= 1)
  219.             {
  220.                 BezierTime = 0;
  221.                 Destroy(gameObject);
  222.                 enemy = checkNearestItem.GetComponent<Enemy>();
  223.                 enemy.ApplyDamage(100);
  224.             }
  225.            
  226.                 //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);
  227.                 /*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);
  228.                 CurveY = (((1-BezierTime)*(1-BezierTime)) * transform.position.y) + (2 * BezierTime * (1 - BezierTime) * ControlPointY) + ((BezierTime * BezierTime) * checkItem1.transform.position.y);
  229.                 transform.position = new Vector3(CurveX, CurveY, 1);*/
  230.            
  231.                 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));
  232.                 CurveY = (((1-BezierTime)*(1-BezierTime)) * startmeY) + (2 * BezierTime * (1 - BezierTime) * ControlPointY) + ((BezierTime * BezierTime) * checkNearestItem.transform.position.y);
  233.                 transform.position = new Vector3(CurveX, CurveY, 10);
  234.        
  235.         }      
  236.                
  237.         else if (checkNearestItem == null)
  238.         {
  239.             Destroy(gameObject);
  240.         }  
  241.            
  242.        
  243.     }
  244.    
  245.    
  246.  
  247.    
  248.    
  249.    
  250.     public Vector3 GetQuadraticCoordinates(float t, Vector3 p0, Vector3 c0, Vector3 p1)
  251.     {
  252.         return Mathf.Pow(1-t,2)*p0 + 2*t*(1-t)*c0 + Mathf.Pow(t,2)*p1;
  253.     }
  254.    
  255.    
  256.    
  257.  
  258.    
  259.    
  260.    
  261.    
  262.    
  263.    
  264.    
  265.    
  266.    
  267.    
  268. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement