void Start() { dragitemcontroller = GameObject.Find("DragItemController").GetComponent <DragItemController>(); movement = GameObject.Find("Movement").GetComponent <Movement>(); RooficonHeight = Mathf.Abs(bodyControlPointList[0].transform.position.y - bodyControlPointList[bodyControlPointList.Count - 1].transform.position.y); RooficonWide = Mathf.Abs(bodyControlPointList[0].transform.position.x - bodyControlPointList[bodyControlPointList.Count - 1].transform.position.x); ini_ControlPoint_1_Position = bodyControlPointList[0].transform.position; basedRoofIcon = new BasedRoofIcon(); basedRoofIcon.CreateBasedRoofIcon(this, "BasedRoofIcon_mesh", bodyControlPointList, tailControlPointList, ini_ControlPoint_1_Position); ControlPoint_1_position = bodyControlPointList[0].transform.position; ControlPoint_2_position = bodyControlPointList[1].transform.position; ControlPoint_3_position = bodyControlPointList[2].transform.position; //tail ControlPoint_4_position = tailControlPointList[0].transform.position; ControlPoint_5_position = tailControlPointList[1].transform.position; }
public void RoofTriShandingIconCreate <T>(T thisGameObject, string objName, BasedRoofIcon basedRoofIcon, GameObject correspondingDragItemObject) where T : Component { InitBodySetting(objName, (int)BodyType.GeneralBody); InitIconMenuButtonSetting(); initDownLength = downLength = basedRoofIcon.topWidth; MainComponent = basedRoofIcon; leftPoint = new GameObject(); topPoint = CreateControlPoint("topPoint", MainComponent.controlPointList[0].transform.localScale, new Vector3(0, 0, 0)); rightPoint = new GameObject(); Vector3 leftPointPos = basedRoofIcon.leftRoofLine.bodyControlPointList[0].transform.position; Vector3 rightPointPos = basedRoofIcon.rightRoofLine.bodyControlPointList[0].transform.position; Vector3 topPointPos = new Vector3((rightPointPos.x + leftPointPos.x) / 2.0f, (Mathf.Sqrt(3) / 2 * (rightPointPos.x - leftPointPos.x)) / scale + rightPointPos.y, rightPointPos.z); leftPoint.transform.position = leftPointPos; leftPoint.transform.parent = thisGameObject.transform; topPoint.transform.position = topPointPos; rightPoint.transform.position = rightPointPos; rightPoint.transform.parent = thisGameObject.transform; controlPointList.Add(topPoint); InitControlPointList2lastControlPointPosition(); bodyStruct.mFilter.mesh.vertices = new Vector3[] { basedRoofIcon.leftRoofLine.bodyControlPointList[0].transform.position, controlPointList [0].transform.position, basedRoofIcon.rightRoofLine.bodyControlPointList[0].transform.position, }; bodyStruct.mFilter.mesh.triangles = new int[] { 0, 1, 2 }; bodyStruct.mFilter.mesh.RecalculateNormals(); InitLineRender(thisGameObject); SetIconObjectColor(); SetParent2BodyAndControlPointList(thisGameObject); InitDecorateIconObjectSetting(correspondingDragItemObject); }