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)); }
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(); } } }