예제 #1
0
    /// <summary>
    /// 左クリックメニュー
    /// </summary>
    /// <param name="rect"></param>
    private void RightMenu(Rect rect)
    {
        GUI.enabled = true;
        if (Event.current.type == EventType.MouseDown && Event.current.button == 1)
        {
            GenericMenu menu = new GenericMenu();
            menu.AddItem(new GUIContent("Copy"), false, () => {
                dynamicBoneColliderCopy = (DynamicBoneCollider)target;
            });

            if (dynamicBoneColliderCopy == null)
            {
                menu.AddDisabledItem(new GUIContent("Paste"));
            }
            else
            {
                menu.AddItem(new GUIContent("Paste"), false, Paste);
            }

            menu.AddSeparator("");
            menu.AddItem(new GUIContent("Export"), false, () => {
                Export();
            });

            menu.AddSeparator("");
            foreach (string boneKey in boneColliderDatas.Keys)
            {
                BoneColliderData boneColliderData = boneColliderDatas[boneKey];
                menu.AddItem(new GUIContent("Collider/" + boneColliderData.name), false, BoneSettiong, boneColliderData);
            }
            menu.ShowAsContext();
        }
    }
예제 #2
0
    /// <summary>
    ///  設定値の反映
    /// </summary>
    /// <param name="obj"></param>
    private void BoneSettiong(object obj)
    {
        BoneColliderData     boneColliderData = (BoneColliderData)obj;
        DynamicBoneSettingV1 setting          = new DynamicBoneSettingV1();
        DynamicBoneCollider  bone             = (DynamicBoneCollider)target;

        setting.SetXmlToCollider(boneColliderData.filePath, boneColliderData.name, bone);
    }
예제 #3
0
    /// <summary>
    /// ボーンリストの読込
    /// </summary>
    private void LoadBoneList()
    {
        boneColliderDatas = new Dictionary <string, BoneColliderData>();
        string datasDir = Path.Combine(Application.dataPath, DATAS_BASE_DIR);

        foreach (string filePath in FileUtil.GetFileType(datasDir, "xml"))
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(filePath);
            foreach (XmlNode nodeData in xmlDoc.SelectNodes("DynamicBones/Collider"))
            {
                XmlNode          nameNode         = nodeData.SelectSingleNode("Name");
                BoneColliderData boneColliderData = new BoneColliderData
                {
                    filePath = Path.Combine(datasDir, filePath),
                    name     = nameNode.InnerText
                };
                boneColliderDatas.Add(boneColliderData.filePath + "__Collider__" + boneColliderData.name, boneColliderData);
            }
        }
    }