/// <summary> /// 开启装配 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="t"></param> /// <param name="_acceptName">装配物名称</param> /// <param name="_containerName">容器名称</param> public static void StartAssemble <T>(this T t, string _acceptName, string _containerName) where T : MonoBehaviour { assembleAcceptBase_OneToOne = AssembleManager.Instance.FindAcceptByName(_acceptName, true); assembleContainerBase_OneToOne = AssembleManager.Instance.FindContainerByName(_containerName, true); assembleAcceptBase_OneToOne.gameObject.OnHightligher(); assembleAcceptBase_OneToOne.gameObject.OnMouseDown(OnAssembleStartFunction); }
/// <summary> /// 当拖拽结束 /// </summary> /// <param name="sender"></param> /// <param name="assembleContainerBase"></param> private void OnDragEnd(object sender, AssembleContainerBase assembleContainerBase) { assembleAccept3D_Ray.isActive = false; OnFunctionEnd(); assembleAccept3D_Ray.OnDragBegin -= OnDragBegin; assembleAccept3D_Ray.OnDragEnd -= OnDragEnd; }
private static void OnAssembleEndFunction(GameObject go) { assembleContainerBase_OneToOne.gameObject.OffHightligher(true); assembleAcceptBase_OneToOne.gameObject.OffMouseDown(OnAssembleStartFunction); assembleAcceptBase_OneToOne.gameObject.OffMouseUp(OnAssembleEndFunction); assembleContainerBase_OneToOne = null; assembleAcceptBase_OneToOne = null; }