Example #1
0
    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;
    }
Example #2
0
    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);
    }