Example #1
0
    public void AddNode(RigidNode_Base node)
    {
        if (listViewNodes.Items.Cast <ListViewItem>().FirstOrDefault(i => i.Tag != null &&
                                                                     ((RigidNode_Base)i.Tag).GetModelID() == node.GetModelID()) != null)
        {
            return;
        }

        ListViewItem item = new ListViewItem(new string[] { (node.GetParent() != null) ? node.GetParent().ModelFileName : "N/A", node.ModelFileName,
                                                            "False", "False", "False" });

        item.Tag = node;
        listViewNodes.Items.Add(item);
        nodes.Add(node);
    }
Example #2
0
    /// <summary>
    /// Merges a node into the parent. Used during the one click export and the wizard.
    /// </summary>
    /// <param name="node"></param>
    public void MergeNodeIntoParent(RigidNode_Base node)
    {
        if (node.GetParent() == null)
        {
            throw new ArgumentException("ERROR: Root node passed to MergeNodeIntoParent(RigidNode_Base)", "node");
        }

        node.GetParent().ModelFullID += node.ModelFullID;

        //Get meshes for each node
        var childMesh  = GetMesh(node);
        var parentMesh = GetMesh(node.GetParent());

        //Merge submeshes and colliders
        parentMesh.meshes.AddRange(childMesh.meshes);
        parentMesh.colliders.AddRange(childMesh.colliders);

        //Merge physics
        parentMesh.physics.Add(childMesh.physics.mass, childMesh.physics.centerOfMass);

        //Remove node from the children of its parent
        node.GetParent().Children.Remove(node.GetSkeletalJoint());
        Meshes.Remove(childMesh);
    }
Example #3
0
 public static string ParentNameString(RigidNode_Base node)
 {
     return(StringUtils.CapitalizeFirstLetter(node.GetParent().ModelFileName.Replace('_', ' ').Replace(".bxda", "")));
 }