Example #1
0
    public void AddWebs()
    {
        RaycastHit hit;
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(cameraMain.transform.position, ray.direction, out hit))
        {
            if (hit.transform.tag == "WebJoint")
            {
                Debug.Log(hit.transform);
                if (clickCount == 0)
                {
                    start = hit.transform.gameObject;
                    Debug.Log("click 0");
                }
                else if (clickCount == 1)
                {
                    end = hit.transform.gameObject;
                    SpiderString webString = new SpiderString(start, end);
                    webs.Add(webString);
                    Debug.Log("click 1");
                }
                else
                {
                    start = end;
                    end   = hit.transform.gameObject;
                    SpiderString webString = new SpiderString(start, end);
                    webs.Add(webString);
                    Debug.Log("click 2+");
                }
                clickCount++;
            }
        }
    }
Example #2
0
 public void AddWebs(GameObject joint)
 {
     if (clickCount == 0)
     {
         start = joint;
         clickCount++;
     }
     else if (clickCount == 1)
     {
         SpiderString webString = new SpiderString(start, joint);
         if (isLegit(webString))
         {
             webs.Add(webString);
             end = joint;
             Debug.Log(end);
             start = end;
         }
     }
     else
     {
         SpiderString webString = new SpiderString(start, joint);
         if (isLegit(webString))
         {
             webs.Add(webString);
             end   = joint;
             start = end;
         }
         clickCount++;
         Debug.Log(clickCount);
     }
 }
    void Update()
    {
        //if (webs.Count > 1)
        //{
        //    for (int i = 0; i < webs.Count; i++)
        //    {
        //        if (i > 0)
        //        {

        //        }
        //    }
        //}

        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hit;
            Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            if (Physics.Raycast(cameraMain.transform.position, ray.direction, out hit))
            {
                if (hit.transform.tag == "WebJoint")
                {
                    //webs.Add(Instantiate(webNode, hit.point, Quaternion.identity));

                    spiderWebs.Add(Instantiate(spiderWeb, hit.transform));

                    Debug.Log(hit.transform);
                    if (clickCount == 0)
                    {
                        start = hit.transform.gameObject;
                        clickCount++;
                    }
                    else if (clickCount == 1)
                    {
                        end = hit.transform.gameObject;
                        SpiderString webString = new SpiderString(start, end);
                        webs.Add(webString);
                        clickCount++;
                    }
                    else
                    {
                        start = end;
                        end   = hit.transform.gameObject;
                        SpiderString webString = new SpiderString(start, end);
                        webs.Add(webString);
                        clickCount++;
                    }
                }
            }
        }
    }
Example #4
0
    public override bool Equals(object other)
    {
        SpiderString ss = (SpiderString)other;

        if ((this.toJoint.transform.position == ss.toJoint.transform.position) && (this.fromJoint.transform.position == ss.fromJoint.transform.position))
        {
            return(true);
        }
        else if ((this.toJoint.transform.position == ss.fromJoint.transform.position) && (this.fromJoint.transform.position == ss.toJoint.transform.position))
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
Example #5
0
    public bool isLegit(SpiderString ss)
    {
        if (ss.fromJoint == ss.toJoint)
        {
            return(false);
        }

        for (int i = 0; i < webs.Count - 1; i++)
        {
            if (webs[i].Equals(ss))
            {
                return(false);
            }
        }

        return(true);
    }