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++; } } }
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++; } } } } }
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); } }
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); }