Exemplo n.º 1
0
    private void onAdd(ReorderableList list)
    {
        string name   = "Property" + (_asTarget.list.Count);
        var    type   = UserData.CustomPropertyType.String;
        var    value  = new UserData.ValueObject();
        int    listID = list.count;

        UserData.PropertyData newData = new UserData.PropertyData(name, type, value, listID);
        _asTarget.list.Add(newData);
        list.index = list.count;        //焦点移到最后一项
    }
Exemplo n.º 2
0
 private void OnDisable()
 {
     for (int i = 0; i < _asTarget.list.Count; i++)
     {
         UserData.PropertyData propertyData = _asTarget.list[i];
         var type = propertyData.type;
         if (type == UserData.CustomPropertyType.ListB2Vec2)
         {
             propertyData.value.editListB2Vec2Val = false;              //取消编辑
         }
     }
 }
Exemplo n.º 3
0
    private void OnSceneGUI()
    {
        if (!_asTarget.isActiveAndEnabled)
        {
            return;
        }

        for (int i = 0; i < _asTarget.list.Count; i++)
        {
            UserData.PropertyData propertyData = _asTarget.list[i];
            var type = propertyData.type;
            if (type == UserData.CustomPropertyType.ListB2Vec2)
            {
                if (propertyData.value.listB2Vec2Val.Count >= 2)
                {
                    onSceneGUIeditPointsHandler(ref propertyData.value.listB2Vec2Val, propertyData.value.editListB2Vec2Val);
                }
            }
        }
    }
Exemplo n.º 4
0
    /**解析UserData*/
    private static void parseUserData(UserData prop, XmlElement componentElement, XmlDocument xml)
    {
        var list = prop.list;

        for (int i = 0; i < list.Count; i++)
        {
            UserData.PropertyData data    = list[i];
            XmlElement            element = xml.CreateElement("Element");
            element.SetAttribute("name", data.name);
            element.SetAttribute("type", data.type.ToString());
            //Debug.LogFormat("{0},{1}",(int)(data.type),prop.gameObject.name);
            switch (data.type)
            {
            case UserData.CustomPropertyType.String:
                element.SetAttribute("value", data.value.stringVal.ToString());
                break;

            case UserData.CustomPropertyType.Int:
                element.SetAttribute("value", data.value.intVal.ToString());
                break;

            case UserData.CustomPropertyType.Float:
                element.SetAttribute("value", data.value.floatVal.ToString());
                break;

            case UserData.CustomPropertyType.Bool:
                element.SetAttribute("value", data.value.boolVal.ToString());
                break;

            case UserData.CustomPropertyType.B2BodyObject:
                string bodyValue = "null";
                //Debug.Log("data.value.b2BodyObjectVal!=null:"+(data.value.b2BodyObjectVal!=null));
                if (data.value.b2BodyObjectVal != null)
                {
                    //Debug.Log(prop.GetComponent<b2BodyObject>()==data.value.b2BodyObjectVal);
                    bodyValue = data.value.b2BodyObjectVal.GetInstanceID().ToString();
                }
                element.SetAttribute("value", bodyValue);
                break;

            case UserData.CustomPropertyType.B2Vec2:
                element.SetAttribute("x", data.value.b2Vec2Val.x.ToString());
                element.SetAttribute("y", data.value.b2Vec2Val.y.ToString());
                break;

            case UserData.CustomPropertyType.ListB2Vec2:
                for (int j = 0; j < data.value.listB2Vec2Val.Count; j++)
                {
                    var        vec2        = data.value.listB2Vec2Val[j];
                    XmlElement vec2Element = xml.CreateElement("Vec2");
                    vec2Element.SetAttribute("x", vec2.x.ToString());
                    vec2Element.SetAttribute("y", vec2.y.ToString());
                    element.AppendChild(vec2Element);
                }
                break;

            case UserData.CustomPropertyType.GameObject:
                string gameObjectValue = "null";
                if (data.value.gameObjectVal != null)
                {
                    gameObjectValue = data.value.gameObjectVal.GetInstanceID().ToString();
                }
                element.SetAttribute("value", gameObjectValue);
                break;
            }
            componentElement.AppendChild(element);
        }
    }