コード例 #1
0
    private void AddSelected()
    {
        if (target == null)
        {
            return;
        }
        if (_guidlist.index < 0 || _guidlist.index >= _guidlist.count)
        {
            return;
        }
        string path = AssetDatabase.GUIDToAssetPath(_guids[_guidlist.index]);

        if (typeof(T) == typeof(CornerDesign))
        {
            CornerDesign asset = (CornerDesign)AssetDatabase.LoadAssetAtPath(path, typeof(CornerDesign));
            if (asset == null)
            {
                return;
            }
            Undo.RecordObject(target, "Added CornerDesign to MappingObject");
            target.AddCorner(asset);
            //dirty target object
            EditorUtility.SetDirty(target);
        }
        else if (typeof(T) == typeof(LateralDesign))
        {
            LateralDesign asset = (LateralDesign)AssetDatabase.LoadAssetAtPath(path, typeof(LateralDesign));
            if (asset == null)
            {
                return;
            }
            Undo.RecordObject(target, "Added LatEdgeDesign to MappingObject");
            target.AddLateral(asset);
            //dirty target object
            EditorUtility.SetDirty(target);
        }
        else if (typeof(T) == typeof(LongitudeDesign))
        {
            LongitudeDesign asset = (LongitudeDesign)AssetDatabase.LoadAssetAtPath(path, typeof(LongitudeDesign));
            if (asset == null)
            {
                return;
            }
            Undo.RecordObject(target, "Added LongEdgeDesign to MappingObject");
            target.AddLongitude(asset);
            //dirty target object
            EditorUtility.SetDirty(target);
        }
        else if (typeof(T) == typeof(RectDesign))
        {
            RectDesign asset = (RectDesign)AssetDatabase.LoadAssetAtPath(path, typeof(RectDesign));
            if (asset == null)
            {
                return;
            }
            Undo.RecordObject(target, "Added RectFaceDesign to MappingObject");
            target.AddRect(asset);
            //dirty target object
            EditorUtility.SetDirty(target);
        }
        else if (typeof(T) == typeof(HexagonDesign))
        {
            HexagonDesign asset = (HexagonDesign)AssetDatabase.LoadAssetAtPath(path, typeof(HexagonDesign));
            if (asset == null)
            {
                return;
            }
            Undo.RecordObject(target, "Added HexagonFaceDesign to MappingObject");
            target.AddHexagon(asset);
            //dirty target object
            EditorUtility.SetDirty(target);
        }
        else
        {
            return;
        }
        _repaint_menu = true;
    }
コード例 #2
0
    private void SwapSelected()
    {
        if (target == null)
        {
            return;
        }
        if (_guidlist.index < 0 || _guidlist.index >= _guidlist.count)
        {
            return;
        }
        if (_libobjlist.index < 0 || _libobjlist.index >= _libobjlist.count)
        {
            return;
        }
        string path = AssetDatabase.GUIDToAssetPath(_guids[_guidlist.index]);

        if (typeof(T) == typeof(CornerDesign))
        {
            CornerDesign asset = (CornerDesign)AssetDatabase.LoadAssetAtPath(path, typeof(CornerDesign));
            if (asset == null)
            {
                return;
            }
            Undo.RecordObject(target, "Replaced " + typeof(T).ToString() + "'s in MappingObject");
            target.ReplaceCorner((CornerDesign)_libobjs[_libobjlist.index], asset);
        }
        else if (typeof(T) == typeof(LateralDesign))
        {
            LateralDesign asset = (LateralDesign)AssetDatabase.LoadAssetAtPath(path, typeof(LateralDesign));
            if (asset == null)
            {
                return;
            }
            Undo.RecordObject(target, "Replaced " + typeof(T).ToString() + "'s in MappingObject");
            target.ReplaceLateral((LateralDesign)_libobjs[_libobjlist.index], asset);
        }
        else if (typeof(T) == typeof(LongitudeDesign))
        {
            LongitudeDesign asset = (LongitudeDesign)AssetDatabase.LoadAssetAtPath(path, typeof(LongitudeDesign));
            if (asset == null)
            {
                return;
            }
            Undo.RecordObject(target, "Replaced " + typeof(T).ToString() + "'s in MappingObject");
            target.ReplaceLongitude((LongitudeDesign)_libobjs[_libobjlist.index], asset);
        }
        else if (typeof(T) == typeof(RectDesign))
        {
            RectDesign asset = (RectDesign)AssetDatabase.LoadAssetAtPath(path, typeof(RectDesign));
            if (asset == null)
            {
                return;
            }
            Undo.RecordObject(target, "Replaced " + typeof(T).ToString() + "'s in MappingObject");
            target.ReplaceRect((RectDesign)_libobjs[_libobjlist.index], asset);
        }
        else if (typeof(T) == typeof(HexagonDesign))
        {
            HexagonDesign asset = (HexagonDesign)AssetDatabase.LoadAssetAtPath(path, typeof(HexagonDesign));
            if (asset == null)
            {
                return;
            }
            Undo.RecordObject(target, "Replaced " + typeof(T).ToString() + "'s in MappingObject");
            target.ReplaceHexagon((HexagonDesign)_libobjs[_libobjlist.index], asset);
        }
        else
        {
            return;
        }
        _repaint_menu = true;
        //dirty target object
        EditorUtility.SetDirty(target);
    }
コード例 #3
0
 public bool RectExists(RectDesign rect)
 {
     return(_rect.ComponentExists(rect));
 }
コード例 #4
0
 public void AddRectPatternsToList(RectDesign rect, List <RectPattern> list)
 {
     _rect.AddPatternsToList(rect, list);
 }
コード例 #5
0
 public void DeleteRectPattern(RectDesign rect, RectPattern pattern)
 {
     _rect.DeletePattern(rect, pattern);
 }
コード例 #6
0
 public void AddRectPattern(RectDesign rect, RectPattern pattern)
 {
     _rect.AddPattern(rect, pattern);
 }
コード例 #7
0
 public void DeleteRect(RectDesign rect)
 {
     _rect.DeleteComponent(rect);
 }
コード例 #8
0
 public void ReplaceRect(RectDesign oldrect, RectDesign newrect)
 {
     _rect.ReplaceComponent(oldrect, newrect);
 }
コード例 #9
0
 public void AddRect(RectDesign rect)
 {
     _rect.AddComponent(rect);
 }