public override void OnCancel() { if (dragableBrick == null) { return; } OnCancelMove?.Invoke(); //reset position and rotation dragableBrick.transform.position = oldPosition; dragableBrick.transform.rotation = oldRotation; //rebuild brick joints var agaqBrick = dragableBrick.GetComponent <AgaQBrick>(); if (agaqBrick != null) { agaqBrick.RebuildJoints(); } EndDragging(); OnModelChange?.Invoke(); }
/// <summary> /// Adds the rigid body do object if there is no any. /// </summary> /// <param name="dragableBrick">Dragable brick.</param> void AddRigidBody(DragableBrick dragableBrick) { if (dragableBrick.GetComponent <Rigidbody>() == null) { var rigidBody = dragableBrick.gameObject.AddComponent <Rigidbody>(); if (rigidBody != null) { rigidBody.isKinematic = true; } } }