public void Setup() { go = new GameObject(); var childGO = new GameObject(); childGO.transform.parent = go.transform; var targetGO = new GameObject(); targetGO.transform.parent = childGO.transform; go.transform.position = Vector3.zero; childGO.transform.position = new Vector3(1.0f, 0.0f, 0.0f); targetGO.transform.position = new Vector3(3.0f, 0.0f, 0.0f); ikGO = new GameObject(); manager = ikGO.AddComponent <IKManager2D>(); var lsGO = new GameObject(); solver = lsGO.AddComponent <LimbSolver2D>(); lsGO.transform.parent = ikGO.transform; effectorGO = new GameObject(); effectorGO.transform.parent = solver.transform; chain = solver.GetChain(0); chain.target = targetGO.transform; chain.effector = effectorGO.transform; solver.Initialize(); manager.AddSolver(solver); }
public void AddSolversToManager_ManagerHasSolverInList() { var go1 = new GameObject(); var solver1 = go1.AddComponent <LimbSolver2D>(); go1.transform.parent = ikGO.transform; var go2 = new GameObject(); var solver2 = go1.AddComponent <LimbSolver2D>(); go2.transform.parent = ikGO.transform; manager.AddSolver(solver1); manager.AddSolver(solver2); Assert.IsTrue(manager.solvers.Contains(solver1)); Assert.IsTrue(manager.solvers.Contains(solver2)); }
public void Setup() { editorManager = IKEditorManager.instance; go = new GameObject(); var child1GO = new GameObject(); child1GO.transform.parent = go.transform; var child2GO = new GameObject(); child2GO.transform.parent = child1GO.transform; var child3GO = new GameObject(); child3GO.transform.parent = child2GO.transform; targetGO = new GameObject(); targetGO.transform.parent = child3GO.transform; go.transform.position = Vector3.zero; child1GO.transform.position = new Vector3(1.0f, 0.0f, 0.0f); child2GO.transform.position = new Vector3(3.0f, 0.0f, 0.0f); child3GO.transform.position = new Vector3(6.0f, 0.0f, 0.0f); targetGO.transform.position = new Vector3(10.0f, 0.0f, 0.0f); ikGO = new GameObject(); manager = ikGO.AddComponent <IKManager2D>(); var lsGO = new GameObject(); solver = lsGO.AddComponent <FabrikSolver2D>(); lsGO.transform.parent = ikGO.transform; effectorGO = new GameObject(); effectorGO.transform.parent = solver.transform; effectorGO.transform.position = new Vector3(10.0f, 0.0f, 0.0f); chain = solver.GetChain(0); chain.target = targetGO.transform; chain.effector = effectorGO.transform; chain.transformCount = 5; solver.Initialize(); manager.AddSolver(solver); editorManager.Initialize(); }
public void Setup() { go = new GameObject(); var child1GO = new GameObject(); child1GO.transform.parent = go.transform; var child2GO = new GameObject(); child2GO.transform.parent = child1GO.transform; var child3GO = new GameObject(); child3GO.transform.parent = child2GO.transform; targetGO = new GameObject(); targetGO.transform.parent = child3GO.transform; go.transform.position = Vector3.zero; child1GO.transform.position = new Vector3(1.0f, 0.0f, 0.0f); child2GO.transform.position = new Vector3(3.0f, 0.0f, 0.0f); child3GO.transform.position = new Vector3(6.0f, 0.0f, 0.0f); targetGO.transform.position = new Vector3(10.0f, 0.0f, 0.0f); ikGO = new GameObject(); manager = ikGO.AddComponent <IKManager2D>(); var lsGO = new GameObject(); // Using FABRIKSolver2D here, but tests are generalised for all Solver2Ds solver = lsGO.AddComponent <FabrikSolver2D>(); lsGO.transform.parent = ikGO.transform; effectorGO = new GameObject(); effectorGO.transform.parent = solver.transform; var chain = solver.GetChain(0); chain.target = targetGO.transform; chain.effector = effectorGO.transform; chain.transformCount = 5; chain.Initialize(); manager.AddSolver(solver); }
private void OnSelectMenu(object param) { Type solverType = param as Type; GameObject solverGO = new GameObject(GameObjectUtility.GetUniqueNameForSibling(m_Manager.transform, "New " + solverType.Name)); solverGO.transform.SetParent(m_Manager.transform); solverGO.transform.localPosition = Vector3.zero; solverGO.transform.rotation = Quaternion.identity; solverGO.transform.localScale = Vector3.one; Solver2D solver = solverGO.AddComponent(solverType) as Solver2D; Undo.RegisterCreatedObjectUndo(solverGO, Contents.createSolverString); Undo.RegisterCompleteObjectUndo(m_Manager, Contents.createSolverString); m_Manager.AddSolver(solver); EditorUtility.SetDirty(m_Manager); Selection.activeGameObject = solverGO; }