コード例 #1
0
        public void SelectBone_SingleSelection()
        {
            m_HoveredBoneID = m_SpriteSkin.boneTransforms[0].GetInstanceID();

            int  id;
            bool additive;

            m_SkeletonView.DoSelectBone(out id, out additive).Returns(x =>
            {
                x[0] = m_HoveredBoneID;
                x[1] = false;
                return(true);
            });

            m_BoneGizmoController.OnSelectionChanged();
            m_BoneGizmoController.OnGUI();

            Assert.IsTrue(Selection.Contains(m_SpriteSkin.boneTransforms[0].gameObject));
            Assert.IsFalse(Selection.Contains(m_SpriteSkin.boneTransforms[1].gameObject));

            m_HoveredBoneID = m_SpriteSkin.boneTransforms[1].GetInstanceID();

            m_BoneGizmoController.OnSelectionChanged();
            m_BoneGizmoController.OnGUI();

            Assert.IsFalse(Selection.Contains(m_SpriteSkin.boneTransforms[0].gameObject));
            Assert.IsTrue(Selection.Contains(m_SpriteSkin.boneTransforms[1].gameObject));
        }
コード例 #2
0
        private void HandleSelectBone()
        {
            int  instanceID;
            bool additive;

            if (view.DoSelectBone(out instanceID, out additive))
            {
                var bone = GetBone(instanceID);

                if (!additive)
                {
                    if (!Selection.Contains(bone.gameObject))
                    {
                        Selection.activeTransform = bone;
                    }
                }
                else
                {
                    var objectList = new List <Object>(Selection.objects);

                    if (objectList.Contains(bone.gameObject))
                    {
                        objectList.Remove(bone.gameObject);
                    }
                    else
                    {
                        objectList.Add(bone.gameObject);
                    }

                    Selection.objects = objectList.ToArray();
                }
            }
        }