コード例 #1
0
ファイル: ShipEditor.cs プロジェクト: seiroise/UniCoLib
    /// <summary>
    /// LineEditorのMaker終了イベント
    /// </summary>
    private void OnMakerExit(List <Vector2> vertices)
    {
        if (vertices == null)
        {
            return;
        }
        if (vertices.Count < 4)
        {
            return;
        }
        vertices.RemoveAt(vertices.Count - 1);
        //とりまテスト
        ConcavePolygonObject polyObj = Instantiate <ConcavePolygonObject>(polyObjPrefab);

        polyObj.name = polyObj.name;
        ConcavePolygon polygon = new ConcavePolygon(vertices);
        //ランチャーの解析
        PartsPolygon    pPoly     = new PartsPolygon(polygon);
        List <Launcher> launchers = pPoly.ParseLauncher();

        for (int i = 0; i < launchers.Count; ++i)
        {
            markerPool.PopItem(launchers[i].point).Visible();
        }
        //表示
        polyObj.SetPolygon(polygon);
        polyObj.onClick.AddListener(OnPolygonClick);
        polyObjDic.Add(polyObj.gameObject, polyObj);
    }
コード例 #2
0
ファイル: ShipEditor.cs プロジェクト: seiroise/UniCoLib
    /// <summary>
    /// ポリゴンオブジェクトをクリック
    /// </summary>
    private void OnPolygonClick(GameObject gObj)
    {
        //とりまテスト
        if (!polyObjDic.ContainsKey(gObj))
        {
            return;
        }
        ConcavePolygonObject polyObj  = polyObjDic[gObj];
        List <Vector2>       vertices = new List <Vector2>();

        foreach (var e in polyObj.EMesh.verts)
        {
            vertices.Add(e);
        }
        vertices.Add(vertices[0]);

        lineEditor.EnableAdjuster(vertices, true);
    }