Пример #1
0
 public void SetData(PetPainterScriptObjectData data)
 {
     painterTableData.Id        = data.Id;
     painterTableData.ImageName = data.ImageName;
     painterTableData.paths     = data.paths;
     _currentEditSinglePath     = painterTableData.paths[0];
 }
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        GUILayout.BeginVertical();

        if (GUILayout.Button("修正宽高比"))
        {
            creator.AutoSizeFixed();
        }

        if (GUILayout.Button("当前路径后面添加一个点"))
        {
            creator.AddCurrentWayPoint(current_pathpoints[current_pathpoints.Count - 1]);
        }

        if (GUILayout.Button("当前路径后面删除一个点"))
        {
            creator.RemoveCurrentWayPoint();
        }

        GUILayout.BeginHorizontal();
        way_id_to_change   = GUILayout.TextField(way_id_to_change);
        is_path_add_closed = GUILayout.Toggle(is_path_add_closed, "isPathClose");
        if (GUILayout.Button("跳转到路径编辑"))
        {
            int way_id;
            if (int.TryParse(way_id_to_change, out way_id))
            {
                creator.ChangeToEditPath(way_id);
            }
        }

        if (GUILayout.Button("添加一条新路径"))
        {
            //id默认递增
            creator.AddNewPath(creator.painterTableData.paths.Count, is_path_add_closed);
        }

        if (GUILayout.Button("删除指定路径"))
        {
            int way_id;
            if (int.TryParse(way_id_to_change, out way_id))
            {
                creator.RemovePath(way_id);
            }
        }

        GUILayout.EndHorizontal();

        GUILayout.Space(1);
        if (GUILayout.Button("播放当前路径"))
        {
            creator.PlayCurrentPath();
        }

        GUILayout.BeginHorizontal();

        hudBar = (Object)EditorGUILayout.ObjectField(hudBar, typeof(Object), false);
        if (GUILayout.Button("加载路径资源"))
        {
            PetPainterScriptObjectData data = hudBar as PetPainterScriptObjectData;
            creator.SetData(data);
        }

        GUILayout.EndHorizontal();

        if (GUILayout.Button("清除所有路径"))
        {
            creator.ClearAllPathData();
        }

        savepath = GUILayout.TextField(savepath);

        if (GUILayout.Button("保存"))
        {
            PetPainterScriptObjectData data = ScriptableObject.CreateInstance <PetPainterScriptObjectData>();
            data.Id        = creator.painterTableData.Id;
            data.ImageName = creator.painterTableData.ImageName;
            data.paths     = creator.painterTableData.paths;

            AssetDatabase.CreateAsset(data, GetFullAssetPath(data.Id));
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
            EditorUtility.DisplayDialog("提示", "保存成功!", "确定");
        }


        GUILayout.EndVertical();
    }