public override void OnInspectorGUI() { FollowPath cp = (FollowPath)target; EditorGUI.BeginChangeCheck(); EConUtil.DrawActiveLine(cp); //constraint target cp.Spline = (BaseSplineBehaviour)EditorGUILayout.ObjectField("Target Spline", cp.Spline, typeof(BaseSplineBehaviour), true); EUtil.DrawSplitter(); EUtil.PushGUIEnable(cp.IsActiveConstraint && cp.Spline); { EUtil.PushLabelWidth(100f); cp.Offset = EditorGUILayout.Slider(new GUIContent("Offset", "t parameter for the spline"), cp.Offset, 0, 1f); //axis and offset cp.FollowCurve = EditorGUILayout.Toggle(new GUIContent("Follow Curve", "owner's rotation will follow the spline"), cp.FollowCurve); if (cp.FollowCurve) { cp.ForwardDir = (EAxisD)EConUtil.DrawEnumBtns(AllAxis, AllAxisStr, cp.ForwardDir, "Forward Axis", "the axis of owner, which will be taken as the forward direction when follow the spline"); cp.UpDir = (EAxisD)EConUtil.DrawEnumBtns(AllAxis, AllAxisStr, cp.UpDir, "Up Axis", "the axis of owner, which will be taken as the up direction when follow the spline"); cp.UpDir = ConUtil.EnsureAxisNotColinear(cp.ForwardDir, cp.UpDir); GUILayout.Space(5f); } EUtil.PopLabelWidth(); // influence cp.Influence = EUtil.ProgressBar(cp.Influence, 0, 1f, "Influence: {0:F2}"); } EUtil.PopGUIEnable(); if (EditorGUI.EndChangeCheck()) { EditorUtility.SetDirty(cp); //so ConstraintStack.Update can be called in edit-mode } }
private bool _CheckManualSetJointList(CCDSolverMB cp) { var lst = cp.jointList; for (int i = 0; i < lst.Count; ++i) { if (lst[i] == null) { EUtil.ShowNotification("Joint List has null entry!"); return(false); } } if (lst.Count > 0 && lst[lst.Count - 1] != cp.transform) { EUtil.ShowNotification("Joint List's last entry must be 'this' transform"); return(false); } return(true); }
public static void DrawActiveLine(BaseConstraint cp) { EUtil.PushLabelWidth(50f); EUtil.PushFieldWidth(30f); EditorGUILayout.BeginHorizontal(); { cp.IsActiveConstraint = EditorGUILayout.Toggle(new GUIContent("Active", "whether this constraint is active"), cp.IsActiveConstraint); GUILayout.FlexibleSpace(); if (cp.HasGizmos) { cp.ShowGizmos = EditorGUILayout.Toggle(new GUIContent("Gizmos", "whether display gizmos for this constraint"), cp.ShowGizmos); } else { cp.ShowGizmos = false; } } EditorGUILayout.EndHorizontal(); EUtil.PopFieldWidth(); EUtil.PopLabelWidth(); }
public static Enum DrawEnumBtns(Enum[] es, string[] strs, Enum cur, string label, string tips, float labelWidth = 80f) { EditorGUILayout.BeginHorizontal(); { GUILayout.Label(new GUIContent(label, tips), GUILayout.Width(labelWidth)); for (int i = 0; i < es.Length; ++i) { Color c = (es[i].Equals(cur) ? kSelectedBtnColor : Color.white); EUtil.PushBackgroundColor(c); if (GUILayout.Button(strs[i], EditorStyles.toolbarButton)) { return(es[i]); } EUtil.PopBackgroundColor(); } } EditorGUILayout.EndHorizontal(); return(cur); }
public void OnSceneGUI() { AngleConstraintMB mb = (AngleConstraintMB)target; if (mb == null) { return; } Transform j = mb.transform; Transform jparent = j.parent; Transform jchild = mb.nextJoint; if (jchild == null) { return; } var oldColor = Handles.color; float szMul = EUtil.GetHandleSize(j.position, 3f) * ms_markerSize; Vector3 worldRotAxis = Misc.TransformDirection(jparent, mb.rotAxis).normalized; Vector3 worldPrimAxis = Misc.TransformDirection(jparent, mb.primAxis).normalized; float minLimit = mb.minLimit; float maxLimit = mb.maxLimit; Vector3 worldFromVec = Quaternion.AngleAxis(minLimit, worldRotAxis) * worldPrimAxis; Handles.color = ms_arcColor; Handles.DrawSolidArc(j.position, worldRotAxis, worldFromVec, maxLimit - minLimit, szMul); Handles.color = Color.red; Handles.DrawAAPolyLine(5f, j.position, j.position + worldRotAxis * szMul); //rot axis Handles.color = Color.green; Handles.DrawAAPolyLine(5f, j.position, j.position + worldPrimAxis * szMul); //start dir Handles.color = oldColor; }
public override void OnInspectorGUI() { CopyTransform cp = (CopyTransform)target; EditorGUI.BeginChangeCheck(); EConUtil.DrawActiveLine(cp); //constraint target cp.Target = (Transform)EditorGUILayout.ObjectField("Target Obj", cp.Target, typeof(Transform), true); if (cp.Target && !ConstraintEditorUtil.IsTargetHasAllUniformScaleInHierarchy(cp.Target)) { ConstraintEditorUtil.NonUniformScaleWarning(cp.Target); } EUtil.DrawSplitter(); EUtil.PushGUIEnable(cp.IsActiveConstraint && cp.Target); { m_foldoutSpace = EditorGUILayout.Foldout(m_foldoutSpace, "Space Mapping"); if (m_foldoutSpace) { // target space cp.TargetSpace = (ESpace)EditorGUILayout.EnumPopup("Target Space", cp.TargetSpace); // owner space cp.OwnerSpace = (ESpace)EditorGUILayout.EnumPopup("Owner Space", cp.OwnerSpace); GUILayout.Space(5f); } // influence cp.Influence = EUtil.ProgressBar(cp.Influence, 0, 1f, "Influence: {0:F2}"); } EUtil.PopGUIEnable(); if (EditorGUI.EndChangeCheck()) { EditorUtility.SetDirty(cp); //so ConstraintStack.Update can be called in edit-mode } }
public static List <EUsuario> listarUsuario(EUsuario objE) { List <EUsuario> lista = new List <EUsuario>(); using (SqlConnection cn = new SqlConnection(DConexion.Get_Connection(DConexion.DataBase.CnRumpSql))) { SqlCommand cmd = new SqlCommand("usp_mnt_usuario", cn); cmd.Parameters.AddWithValue("@email", objE.EMAIL); cmd.Parameters.AddWithValue("@opcion", 1); cmd.CommandType = CommandType.StoredProcedure; cn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { EUsuario mItem = new EUsuario(); //mItem.ID = dr.IsDBNull(dr.GetOrdinal("id")) ? 0 : dr.GetDecimal(dr.GetOrdinal("id")); mItem.ID_ENCRIP = EUtil.getEncriptar((dr.IsDBNull(dr.GetOrdinal("id")) ? 0 : dr.GetDecimal(dr.GetOrdinal("id"))).ToString()); mItem.ACTIVO = dr.IsDBNull(dr.GetOrdinal("activo")) ? 0 : dr.GetInt16(dr.GetOrdinal("activo")); mItem.EMAIL = dr.IsDBNull(dr.GetOrdinal("email")) ? string.Empty : dr.GetString(dr.GetOrdinal("email")); mItem.PASSWORD = dr.IsDBNull(dr.GetOrdinal("password")) ? string.Empty : dr.GetString(dr.GetOrdinal("password")); mItem.PERFIL_ID = dr.IsDBNull(dr.GetOrdinal("usuario_perfil_id")) ? 0 : dr.GetDecimal(dr.GetOrdinal("usuario_perfil_id")); mItem.NOMBRE = dr.IsDBNull(dr.GetOrdinal("nombre")) ? string.Empty : dr.GetString(dr.GetOrdinal("nombre")); mItem.APELLIDO = dr.IsDBNull(dr.GetOrdinal("apellido")) ? string.Empty : dr.GetString(dr.GetOrdinal("apellido")); mItem.SEXO = dr.IsDBNull(dr.GetOrdinal("sexo")) ? string.Empty : dr.GetString(dr.GetOrdinal("sexo")); mItem.FOTO = dr.IsDBNull(dr.GetOrdinal("foto")) ? string.Empty : dr.GetString(dr.GetOrdinal("foto")); mItem.USUARIO_PERFIL = new EUsuarioPerfil() { ID = dr.IsDBNull(dr.GetOrdinal("usuario_perfil_id")) ? 0 : dr.GetDecimal(dr.GetOrdinal("usuario_perfil_id")), PERFIL = dr.IsDBNull(dr.GetOrdinal("perfil")) ? string.Empty : dr.GetString(dr.GetOrdinal("perfil")) }; lista.Add(mItem); } } } return(lista); }
public static object ActualizarCuentaWM(EUsuario objE) { ERespuestaJson objRespuesta = new ERespuestaJson(); try { if (HttpContext.Current.Session["userRump"] == null) { objRespuesta.Error("Su sesión ha expirado, por favor vuelva a iniciar sesión"); return(objRespuesta); } EUsuario eUsuario = (EUsuario)HttpContext.Current.Session["userRump"]; objE.ID_ENCRIP = EUtil.getEncriptar(eUsuario.ID.ToString()); string objResultado = ""; if (NUsuario.ActualizarBasicoUsuario(objE) > 0) { objResultado = objE.ID_ENCRIP; } if (objResultado == "") { objRespuesta.Error("No se pudo actualizar."); } else { objRespuesta.Resultado = objResultado; objRespuesta.Success("Se guardó la información correctamente"); } } catch (Exception ex) { objRespuesta.Error(String.IsNullOrEmpty(ex.Message) ? ex.InnerException.Message : ex.Message); } return(objRespuesta); }
private void _DelPoint(CatmullRomCentripetal spline) { if (spline.PointCount <= 2) { EUtil.ShowNotification("The spline needs at least 2 points"); return; } if (spline.Cycle && spline.PointCount <= 4) { EUtil.ShowNotification("Cannot delete any points to maintain cycle"); return; } if (m_curPtIdx < 0) { return; } MUndo.RecordObject(target, "del point"); MUndo.RecordObject(this, "del point"); spline.RemovePoint(m_curPtIdx); m_curPtIdx = Mathf.Min(spline.PointCount - 1, m_curPtIdx); }
public static int ActualizarSolicitud(ESolicitud objE) { using (SqlConnection cn = new SqlConnection(DConexion.Get_Connection(DConexion.DataBase.CnRumpSql))) { SqlCommand cmd = new SqlCommand("usp_mnt_solicitud", cn); cmd.Parameters.AddWithValue("@id", EUtil.getDesencriptar(objE.ID_ENCRIP)); cmd.Parameters.AddWithValue("@nom_rep", objE.NOM_REP); cmd.Parameters.AddWithValue("@ape_rep", objE.APE_REP); cmd.Parameters.AddWithValue("@tel_rep", objE.TEL_REP); cmd.Parameters.AddWithValue("@dni_rep", objE.DNI_REP); cmd.Parameters.AddWithValue("@direccion", objE.DIRECCION); cmd.Parameters.AddWithValue("@referencia", objE.REFERENCIA); cmd.Parameters.AddWithValue("@geografia_id", objE.GEOGRAFIA_ID); cmd.Parameters.AddWithValue("@comentario", objE.COMENTARIO); cmd.Parameters.AddWithValue("@usuario", objE.USUARIO); cmd.Parameters.AddWithValue("@opcion", 4); cmd.CommandType = CommandType.StoredProcedure; cn.Open(); return(cmd.ExecuteNonQuery()); } }
private static void _GUI_CAT() { if (!m_hasCAT) { _URLBtn(); return; } EditorGUI.BeginChangeCheck(); m_IKConMarkerSize = EditorGUILayout.FloatField("IK constraint marker size", m_IKConMarkerSize); m_IKAngleConstraintArcColor = EditorGUILayout.ColorField("IK angle constraint arc color", m_IKAngleConstraintArcColor); m_IKConeConstraintColor = EditorGUILayout.ColorField("IK cone contraint color", m_IKConeConstraintColor); m_IKBoneLinkColor = EditorGUILayout.ColorField("IK bone link color", m_IKBoneLinkColor); m_showInitInfos = EditorGUILayout.Toggle("Show Init Infos in editor", m_showInitInfos); if (EditorGUI.EndChangeCheck()) { _SavePrefs(); EUtil.RepaintSceneView(); } }
private void _ShortCut_EditMode(Event e) { if (e.rawType == EventType.MouseUp) { if (e.button == 1) { m_bRightBtnIsDown = false; } } if (e.type == EventType.MouseDown) { if (e.button == 1) { m_bRightBtnIsDown = true; } } if (e.type == EventType.KeyUp && !m_bRightBtnIsDown) { switch (e.keyCode) { case KeyCode.W: { m_EditTool = EditTool.Move; EUtil.RepaintSceneView(); } break; case KeyCode.E: { m_EditTool = EditTool.Rotate; EUtil.RepaintSceneView(); } break; } } }
/// <summary> /// [HACK TRICK] /// update every loop, /// current in-edit clip, clip's rootTr /// </summary> private void _UpdateInternalInfo() { AnimationClip curClip = null; Transform rootTr = null; m_AnimationWindowState = EUtil.GetUnityAnimationWindowState(m_UAW); if (m_AnimationWindowState != null) { curClip = RCall.GetField("UnityEditorInternal.AnimationWindowState", "m_ActiveAnimationClip", m_AnimationWindowState) as AnimationClip; #if U5 GameObject rootGO = RCall.GetProp("UnityEditorInternal.AnimationWindowState", "activeRootGameObject", m_AnimationWindowState) as GameObject; #else GameObject rootGO = RCall.GetField("UnityEditorInternal.AnimationWindowState", "m_RootGameObject", m_AnimationWindowState) as GameObject; #endif if (rootGO != null) { rootTr = rootGO.transform; } } else { curClip = null; rootTr = null; } if (curClip != m_CurClip) { _OnCurrentClipChange(m_CurClip, curClip); } if (rootTr != m_ClipRoot) { _OnRootTransformChange(m_ClipRoot, rootTr); } }
// public method #endregion "public method" #region "private method" // private method private void _DrawShapeKeyData(ShapeKeyMorphSO morph, int keyIdx) { ShapeKeyDataDiff keyData = morph.GetShapeKeyDataDiff(keyIdx); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("Weight:", GUILayout.Width(50f)); float newWeight = keyData.weight; if (EUtil.FloatField("weight" + keyIdx, ref newWeight)) //only true when use enter to confirm { morph.SetShapeKeyWeight(keyIdx, newWeight); //this will ensure all keys are sorted } if (EUtil.Button(EditorRes.texSample, "Sample current mesh status as shape key", EditorRes.styleBtnMorphProc, GUILayout.Width(20f))) { morph.SetMeshCurrentDataToShapeKey(keyIdx); } if (EUtil.Button(EditorRes.texApplyToMesh, "Apply this shape key to mesh", EditorRes.styleBtnMorphProc, GUILayout.Width(20f))) { Undo.RecordObject(m_MorphProc, "MorphProc Inspector"); m_MorphProc.ResetToBasisShape(); m_MorphProc.ApplyOnlyMorphAt(m_MorphIdx, keyData.weight); } if (EUtil.Button(EditorRes.texDelete, "Delete this shape key from this morph", EditorRes.styleBtnMorphProc, GUILayout.Width(20f))) { if (morph.ShapeKeyCnt == 1) { EditorUtility.DisplayDialog("Only one shape key", "Cannot delete shape key when there's no others", "Got it"); } else { morph.DelShapeKeyDataDiff(keyIdx); } } } EditorGUILayout.EndHorizontal(); }
void OnGUI() { m_SMR = EditorGUILayout.ObjectField(m_SMR, typeof(SkinnedMeshRenderer), true) as SkinnedMeshRenderer; bool bValid = (m_SMR != null); GUIUtil.PushGUIEnable(bValid); if (EUtil.Button(m_bShowing ? "Stop!" : "Run!", Color.white)) { m_bShowing = !m_bShowing; if (m_bShowing) { SceneView.onSceneGUIDelegate += this.OnSceneGUI; } else { SceneView.onSceneGUIDelegate -= this.OnSceneGUI; } SceneView.lastActiveSceneView.Repaint(); } GUIUtil.PopGUIEnable(); }
public static int ActualizarEvento(EEvento objE) { using (SqlConnection cn = new SqlConnection(DConexion.Get_Connection(DConexion.DataBase.CnRumpSql))) { SqlCommand cmd = new SqlCommand("usp_mnt_evento", cn); cmd.Parameters.AddWithValue("@id", EUtil.getDesencriptar(objE.ID_ENCRIP)); cmd.Parameters.AddWithValue("@evento_tipo_id", objE.EVENTO_TIPO_ID); cmd.Parameters.AddWithValue("@mascota_id", EUtil.getDesencriptar(objE.MASCOTA_ID_ENCRIP)); cmd.Parameters.AddWithValue("@evento_periodo_id", objE.EVENTO_PERIODO_ID); cmd.Parameters.AddWithValue("@titulo", objE.TITULO); cmd.Parameters.AddWithValue("@detalle", objE.DETALLE); cmd.Parameters.AddWithValue("@fecha_inicio", objE.FECHA_INICIO); cmd.Parameters.AddWithValue("@fecha_fin", objE.FECHA_FIN); cmd.Parameters.AddWithValue("@estado", objE.ESTADO); cmd.Parameters.AddWithValue("@opcion", 4); cmd.CommandType = CommandType.StoredProcedure; ///////// cn.Open(); return(cmd.ExecuteNonQuery()); } }
public static ECita obtenerCita(ECita objE) { ECita mItem = new ECita(); using (SqlConnection cn = new SqlConnection(DConexion.Get_Connection(DConexion.DataBase.CnRumpSql))) { SqlCommand cmd = new SqlCommand("usp_mnt_cita_medica", cn); cmd.Parameters.AddWithValue("@id", EUtil.getDesencriptar(objE.ID_ENCRIP)); cmd.Parameters.AddWithValue("@opcion", 3); cmd.CommandType = CommandType.StoredProcedure; cn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { mItem.ID_ENCRIP = EUtil.getEncriptar((dr.IsDBNull(dr.GetOrdinal("id")) ? 0 : dr.GetDecimal(dr.GetOrdinal("id"))).ToString()); mItem.CLINICA_ID = dr.IsDBNull(dr.GetOrdinal("clinica_id")) ? 0 : dr.GetDecimal(dr.GetOrdinal("clinica_id")); mItem.MEDICO_ID = dr.IsDBNull(dr.GetOrdinal("medico_id")) ? 0 : dr.GetDecimal(dr.GetOrdinal("medico_id")); mItem.MOTIVO = dr.IsDBNull(dr.GetOrdinal("motivo")) ? string.Empty : dr.GetString(dr.GetOrdinal("motivo")); mItem.vPARAM1 = dr.IsDBNull(dr.GetOrdinal("nombre")) ? string.Empty : dr.GetString(dr.GetOrdinal("nombre")); mItem.vPARAM2 = dr.IsDBNull(dr.GetOrdinal("foto")) ? string.Empty : dr.GetString(dr.GetOrdinal("foto")); mItem.TIPO = dr.IsDBNull(dr.GetOrdinal("tipo")) ? string.Empty : dr.GetString(dr.GetOrdinal("tipo")); mItem.FECHA_ATENCION_MEDICA = dr.IsDBNull(dr.GetOrdinal("fecha_atencion_medica")) ? DateTime.MinValue : dr.GetDateTime(dr.GetOrdinal("fecha_atencion_medica")); mItem.PESO = dr.IsDBNull(dr.GetOrdinal("peso")) ? string.Empty : dr.GetString(dr.GetOrdinal("peso")); mItem.TEMPERATURA = dr.IsDBNull(dr.GetOrdinal("temperatura")) ? string.Empty : dr.GetString(dr.GetOrdinal("temperatura")); mItem.SINTOMAS = dr.IsDBNull(dr.GetOrdinal("sintomas")) ? string.Empty : dr.GetString(dr.GetOrdinal("sintomas")); mItem.DIAGNOSTICO = dr.IsDBNull(dr.GetOrdinal("diagnostico")) ? string.Empty : dr.GetString(dr.GetOrdinal("diagnostico")); mItem.TRATAMIENTO = dr.IsDBNull(dr.GetOrdinal("tratamiento")) ? string.Empty : dr.GetString(dr.GetOrdinal("tratamiento")); mItem.ANTECEDENTES = dr.IsDBNull(dr.GetOrdinal("antecedentes")) ? string.Empty : dr.GetString(dr.GetOrdinal("antecedentes")); mItem.FORMULA = dr.IsDBNull(dr.GetOrdinal("formula")) ? string.Empty : dr.GetString(dr.GetOrdinal("formula")); mItem.OBSERVACIONES = dr.IsDBNull(dr.GetOrdinal("observaciones")) ? string.Empty : dr.GetString(dr.GetOrdinal("observaciones")); } } } return(mItem); }
void OnDisable() { EUtil.GetSceneView().renderMode = DrawCameraMode.Textured; }
protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack == false) { if (Session["UserRump"] == null) { Response.Redirect("~/InicioSesion"); } if (Session["solicitudPedido"] == null) { Response.Redirect("~/Sistema#!/page/mantenimiento/mascota"); } } ESolicitud objPedido = new ESolicitud(); objPedido = (ESolicitud)HttpContext.Current.Session["solicitudPedido"]; //get params form float payAmount = (objPedido == null ? 0 : (float)objPedido.TOTAL);//Request.Form["transaction_amount"]; var tokencard = Request.Form["token"]; var payMethod = Request.Form["payment_method_id"]; var docType = Request["docType"]; var docNumber = Request["docNumber"]; var installmt = 1;//Request.Form["installments"];***********cuotas if (tokencard != null && payMethod != null && payAmount != 0) { if (payMethod == "") { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Alerta", "No se pudo indentificar la tarjeta", true); } //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Alerta", "(1) payAmount::" + payAmount + " tokencard::" + tokencard + " payMethod::" + payMethod + " docType::" + docType + " docNumber::" + docNumber, true); //NMascota.log_error("(1) payAmount::" + payAmount + " tokencard::" + tokencard + " payMethod::" + payMethod + " docType::" + docType + " docNumber::" + docNumber, "pago"); var p_email = Request.Form["email"]; //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Alerta", "(2) p_email::" + p_email + " objPedido::" + objPedido.ID.ToString(), true); //NMascota.log_error("(2) p_email::" + p_email + " objPedido::" + objPedido.ID.ToString(), "pago"); var rp_payment = response_pay_mp(payMethod, payAmount, p_email, objPedido.ID.ToString(), tokencard, installmt, docType, docNumber); if (rp_payment != null) { PaymentStatus rp_respose = processPaymentResponse(rp_payment, objPedido.ID, p_email); if (rp_respose == MercadoPago.Common.PaymentStatus.approved || rp_respose == MercadoPago.Common.PaymentStatus.authorized) { Response.Redirect("~/pago_exitoso.aspx?vtoken=" + EUtil.getEncriptar(objPedido.ID.ToString()), true); } else if (rp_respose == MercadoPago.Common.PaymentStatus.cancelled) { Response.Redirect("~/pago_error.aspx?vTipo=" + EUtil.getEncriptar("cancelled"), true); } else if (rp_respose == MercadoPago.Common.PaymentStatus.rejected) { Response.Redirect("~/pago_error.aspx?vTipo=" + EUtil.getEncriptar("rejected"), true); } else if (rp_respose == MercadoPago.Common.PaymentStatus.in_process) { Response.Redirect("~/pago_error.aspx?vTipo=" + EUtil.getEncriptar("in_process"), false); } } else { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Alerta", "alert('El pago no se realizó, volver a intentar.')", true); } } }
// public method #endregion "public method" #region "private method" // private method private void _ConvertAnim(string newClipAssetPath) { // 0. prepare if (!m_Animator.isHuman) { Dbg.LogWarn("MuscleClipConverterEditor._ConvertAnim: Need to change to Humanoid rig first!"); return; } m_SMR = m_Animator.GetComponentInChildren <SkinnedMeshRenderer>(); if (m_SMR == null) { Dbg.LogWarn("MuscleClipConverterEditor._ConvertAnim: failed to find SMR under {0}", m_Animator.name); return; } m_Animator.Update(0); #if !U5 var ainfos = m_Animator.GetCurrentAnimationClipState(0); //only effect after Update is called #else var ainfos = m_Animator.GetCurrentAnimatorClipInfo(0); //only effect after Update is called #endif AnimationClip clip = ainfos[0].clip; AnimationClipSettings clipSetting = AnimationUtility.GetAnimationClipSettings(clip); //{//debug // var bindings = AnimationUtility.GetCurveBindings(clip); // foreach( var b in bindings) // { // Dbg.Log("path: {0}, prop: {1}", b.path, b.propertyName); // } //} Transform animatorTr = m_Animator.transform; Transform hipsBone = null; CurveDict curveDict = new CurveDict(); float SAMPLE_RATE = clip.frameRate; float clipLen = clip.length; Matrix4x4 animatorInitW2LMat = animatorTr.worldToLocalMatrix; Matrix4x4 hipsInitW2LMat = Matrix4x4.identity; List <Transform> boneLst = new List <Transform>(); for (HumanBodyBones boneIdx = 0; boneIdx < HumanBodyBones.LastBone; ++boneIdx) { Transform tr = m_Animator.GetBoneTransform(boneIdx); //Dbg.Log("Map: {0}->{1}", boneIdx, tr); if (tr != null) { boneLst.Add(tr); if (boneIdx == HumanBodyBones.Hips) { hipsBone = tr; hipsInitW2LMat = hipsBone.parent.worldToLocalMatrix; //clipSetting.level = -hipsBone.localPosition.y; // set Y offset clipSetting.keepOriginalPositionY = false; //use RootNode position } } } Transform[] bones = boneLst.ToArray(); // init curves for each bone for (int idx = 0; idx < bones.Length; ++idx) { Transform oneBone = bones[idx]; string trPath = AnimationUtility.CalculateTransformPath(oneBone, animatorTr); var curves = new _Curves(); curves.relPath = trPath; curveDict.Add(oneBone, curves); } // init rootmotion curve { var curves = new _Curves(); curveDict.Add(animatorTr, curves); } AnimatorStateInfo curStateInfo = m_Animator.GetCurrentAnimatorStateInfo(0); float nt = curStateInfo.normalizedTime; m_Animator.Update(-nt * clipLen); //revert to 0 time { // 1. bake animation info into curve on all bones transform float time = 0f; float deltaTime = 1f / (SAMPLE_RATE); for (; time <= clipLen || Mathf.Approximately(time, clipLen); ) { //Dbg.Log("nt = {0}", m_Animator.GetCurrentAnimatorStateInfo(0).normalizedTime); // bone for (int idx = 0; idx < bones.Length; ++idx) { Transform oneBone = bones[idx]; _Curves curves = curveDict[oneBone]; if (oneBone == hipsBone) { continue; //skip the HipsBone. This is to add rootMotion matrix on hips, so Legacy is right } Vector3 pos = oneBone.localPosition; Quaternion rot = oneBone.localRotation; curves.X.AddKey(time, rot.x); curves.Y.AddKey(time, rot.y); curves.Z.AddKey(time, rot.z); curves.W.AddKey(time, rot.w); curves.PX.AddKey(time, pos.x); curves.PY.AddKey(time, pos.y); curves.PZ.AddKey(time, pos.z); } // root motion process { { //on Animator transform Vector3 pos = /*animatorTr.localPosition*/ animatorTr.position; Vector3 fwd = animatorTr.forward; Vector3 up = animatorTr.up; _Curves rootMotionCurves = curveDict[animatorTr]; Vector3 lpos = animatorInitW2LMat.MultiplyPoint(pos); Vector3 lfwd = animatorInitW2LMat.MultiplyVector(fwd); Vector3 lup = animatorInitW2LMat.MultiplyVector(up); Quaternion rot = Quaternion.LookRotation(lfwd, lup); rootMotionCurves.X.AddKey(time, rot.x); rootMotionCurves.Y.AddKey(time, rot.y); rootMotionCurves.Z.AddKey(time, rot.z); rootMotionCurves.W.AddKey(time, rot.w); rootMotionCurves.PX.AddKey(time, lpos.x); rootMotionCurves.PY.AddKey(time, lpos.y); rootMotionCurves.PZ.AddKey(time, lpos.z); } { //on hips transform if (hipsBone != null) { Vector3 pos = hipsBone.position; Vector3 fwd = hipsBone.forward; Vector3 up = hipsBone.up; _Curves hipsCurves = curveDict[hipsBone]; Vector3 lpos = hipsInitW2LMat.MultiplyPoint(pos); Vector3 lfwd = hipsInitW2LMat.MultiplyVector(fwd); Vector3 lup = hipsInitW2LMat.MultiplyVector(up); //Dbg.Log("time: {0}, lpos: {1}", time, lpos.ToString("F2")); Quaternion rot = Quaternion.LookRotation(lfwd, lup); hipsCurves.X.AddKey(time, rot.x); hipsCurves.Y.AddKey(time, rot.y); hipsCurves.Z.AddKey(time, rot.z); hipsCurves.W.AddKey(time, rot.w); hipsCurves.PX.AddKey(time, lpos.x); hipsCurves.PY.AddKey(time, lpos.y); hipsCurves.PZ.AddKey(time, lpos.z); } } } if (!Mathf.Approximately(time + deltaTime, clipLen)) { m_Animator.Update(deltaTime); time += deltaTime; } else { m_Animator.Update(deltaTime - 0.005f); //keep it in the range, if go beyond, something bad could happen time += deltaTime - 0.005f; } } } //end of 1. { // 2. set animation clip and store in AssetDatabase AnimationClip newClip = new AnimationClip(); newClip.frameRate = SAMPLE_RATE; newClip.localBounds = clip.localBounds; // set bone curves for (var ie = curveDict.GetEnumerator(); ie.MoveNext();) { var curves = ie.Current.Value; if (ie.Current.Key == animatorTr) { //root motion newClip.SetCurve(curves.relPath, typeof(Animator), "MotionT.x", curves.PX); newClip.SetCurve(curves.relPath, typeof(Animator), "MotionT.y", curves.PY); newClip.SetCurve(curves.relPath, typeof(Animator), "MotionT.z", curves.PZ); newClip.SetCurve(curves.relPath, typeof(Animator), "MotionQ.x", curves.X); newClip.SetCurve(curves.relPath, typeof(Animator), "MotionQ.y", curves.Y); newClip.SetCurve(curves.relPath, typeof(Animator), "MotionQ.z", curves.Z); newClip.SetCurve(curves.relPath, typeof(Animator), "MotionQ.w", curves.W); } else { newClip.SetCurve(curves.relPath, typeof(Transform), "localRotation.x", curves.X); newClip.SetCurve(curves.relPath, typeof(Transform), "localRotation.y", curves.Y); newClip.SetCurve(curves.relPath, typeof(Transform), "localRotation.z", curves.Z); newClip.SetCurve(curves.relPath, typeof(Transform), "localRotation.w", curves.W); newClip.SetCurve(curves.relPath, typeof(Transform), "localPosition.x", curves.PX); newClip.SetCurve(curves.relPath, typeof(Transform), "localPosition.y", curves.PY); newClip.SetCurve(curves.relPath, typeof(Transform), "localPosition.z", curves.PZ); } } // 2.1 copy the unmapped curves to new clip( not mapped by Muscle clip ) _CopyOtherCurves(newClip, clip); // some setting work newClip.EnsureQuaternionContinuity(); #if !U5 AnimationUtility.SetAnimationType(newClip, m_AnimType); RCall.CallMtd("UnityEditor.AnimationUtility", "SetAnimationClipSettings", null, newClip, clipSetting); #else if (m_AnimType == ModelImporterAnimationType.Legacy) { newClip.legacy = true; } AnimationUtility.SetAnimationClipSettings(newClip, clipSetting); #endif EUtil.SaveAnimClip(newClip, newClipAssetPath); EUtil.ShowNotification("Converted to: " + m_AnimType + (hipsBone != null ? ("\nroot=" + AnimationUtility.CalculateTransformPath(hipsBone, animatorTr)) : ""), 3f ); } //end of 2. // 3. clean job curveDict = null; AssetDatabase.SaveAssets(); Dbg.Log("Converted: {0}", newClipAssetPath); }
public override void OnInspectorGUI() { ConstraintStack cstack = (ConstraintStack)target; serializedObject.Update(); GUILayout.Space(3f); // constraints for (int i = 0; i < cstack.constraintCount; ++i) { BaseConstraint c = cstack.Get(i); if (!c) { //remove broken reference cstack.RemoveAt(i); --i; continue; } // draw constraint & buttons EditorGUILayout.BeginHorizontal(); { Color btnColor = c.IsActiveConstraint ? Color.white : Color.red; EUtil.PushBackgroundColor(btnColor); var content = new GUIContent(c.GetType().Name, "Click to fold other components"); Rect rc = GUILayoutUtility.GetRect(content, EditorStyles.toolbarButton); if (GUI.Button(rc, content, EditorStyles.toolbarButton)) { _FoldComponents(cstack); var wnd = EditorEditorWindow.OpenWindowWithActivatorRect(c, rc); EUtil.SetEditorWindowTitle(wnd, content.text); } EditorGUI.ProgressBar(rc, c.Influence, content.text); EUtil.PopBackgroundColor(); if (GUILayout.Button(new GUIContent(c.IsActiveConstraint ? EConUtil.activeBtn : EConUtil.inactiveBtn, "Toggle constraint active state"), EditorStyles.toolbarButton, GUILayout.Height(20), GUILayout.Width(20))) { c.IsActiveConstraint = !c.IsActiveConstraint; EditorUtility.SetDirty(cstack); } EUtil.PushGUIEnable(i != 0); if (GUILayout.Button(new GUIContent(EConUtil.upBtn, "move up"), EditorStyles.toolbarButton, GUILayout.Height(20), GUILayout.Width(20))) { cstack.Swap(i, i - 1); EditorUtility.SetDirty(cstack); //ComponentUtility.MoveComponentUp(c); } EUtil.PopGUIEnable(); EUtil.PushGUIEnable(i != cstack.constraintCount - 1); if (GUILayout.Button(new GUIContent(EConUtil.downBtn, "move down"), EditorStyles.toolbarButton, GUILayout.Height(20), GUILayout.Width(20))) { cstack.Swap(i, i + 1); EditorUtility.SetDirty(cstack); //ComponentUtility.MoveComponentDown(c); } EUtil.PopGUIEnable(); if (GUILayout.Button(new GUIContent(EConUtil.deleteBtn, "delete the constraint from stack"), EditorStyles.toolbarButton, GUILayout.Height(20), GUILayout.Width(20))) { MUndo.RecordObject(cstack, "Remove Constraint"); cstack.RemoveAt(i); EditorUtility.SetDirty(cstack); _FoldComponents(cstack); EditorGUIUtility.ExitGUI(); } } EditorGUILayout.EndHorizontal(); } //for(int i=0; i<cstack.constraintCount; ++i) GUILayout.Space(2f); EditorGUI.BeginChangeCheck(); int newOrder = EditorGUILayout.IntField(new GUIContent("Exec Order", "used to help decide evaluation order, the smaller the earlier"), cstack.ExecOrder); if (EditorGUI.EndChangeCheck()) { cstack.ExecOrder = newOrder; } { //new constraint window EUtil.DrawSplitter(new Color(1, 1, 1, 0.3f)); EditorGUILayout.BeginHorizontal(); GUILayout.Space(15f); var content = new GUIContent("Add Constraint", "Add new constraint into current stack"); Rect btnRc = GUILayoutUtility.GetRect(content, GUI.skin.button); if (GUI.Button(btnRc, content)) { var wnd = ScriptableObject.CreateInstance <ConstraintsWindow>(); Rect wndRc = EUtil.GetRectByActivatorRect(wnd.position, btnRc); wnd.position = wndRc; wnd.SetConstraintStack(cstack); wnd.ShowPopup(); wnd.Focus(); } GUILayout.Space(15f); EditorGUILayout.EndHorizontal(); } if (Pref.ShowInitInfos) { EditorGUILayout.PropertyField(m_spInitInfo, true); } serializedObject.ApplyModifiedProperties(); }
public static void OpenWindow() { var wnd = EditorWindow.GetWindow(typeof(AnimationBaker)); EUtil.SetEditorWindowTitle(wnd, "AnimationBaker"); }
public void Draw() { Graphics.DrawMesh(m_Mesh, Matrix4x4.identity, m_Mat, m_Layer, EUtil.GetSceneView().camera, 0, m_matProps, false, false); }
public static void OpenWindow() { var wnd = GetWindow(typeof(EDataInspector)); EUtil.SetEditorWindowTitle(wnd, "EData"); }
public override void OnInspectorGUI() { MaintainVolume cp = (MaintainVolume)target; EditorGUI.BeginChangeCheck(); EConUtil.DrawActiveLine(cp); EUtil.DrawSplitter(); EUtil.PushGUIEnable(cp.IsActiveConstraint); { // base volume cp.BaseVolume = EditorGUILayout.FloatField(new GUIContent("Base", "the base value of volume, the product of xyz component of scale"), cp.BaseVolume); cp.BaseVolume = Mathf.Max(cp.BaseVolume, 0.01f); //affect X/Y/Z m_foldoutAxis = EditorGUILayout.Foldout(m_foldoutAxis, "Axis"); if (m_foldoutAxis) { EAxis eAffect = cp.FreeAxis; EditorGUILayout.BeginHorizontal(); { EUtil.PushBackgroundColor(eAffect == EAxis.X ? EConUtil.kSelectedBtnColor : Color.white); if (GUILayout.Button(new GUIContent("X", "X axis as main axis"), EditorStyles.toolbarButton)) { eAffect = EAxis.X; } EUtil.PopBackgroundColor(); EUtil.PushBackgroundColor(eAffect == EAxis.Y ? EConUtil.kSelectedBtnColor : Color.white); if (GUILayout.Button(new GUIContent("Y", "Y axis as main axis"), EditorStyles.toolbarButton)) { eAffect = EAxis.Y; } EUtil.PopBackgroundColor(); EUtil.PushBackgroundColor(eAffect == EAxis.Z ? EConUtil.kSelectedBtnColor : Color.white); if (GUILayout.Button(new GUIContent("Z", "Z axis as main axis"), EditorStyles.toolbarButton)) { eAffect = EAxis.Z; } EUtil.PopBackgroundColor(); } EditorGUILayout.EndHorizontal(); cp.FreeAxis = eAffect; GUILayout.Space(5f); } // vol mul cp.VolMul = EditorGUILayout.FloatField(new GUIContent("Multiplier", "extra multiplier on base volume"), cp.VolMul); // space m_foldoutSpace = EditorGUILayout.Foldout(m_foldoutSpace, "Space Mapping"); if (m_foldoutSpace) { // owner space cp.OwnerSpace = (ESpace)EditorGUILayout.EnumPopup("Owner Space", cp.OwnerSpace); GUILayout.Space(5f); } // influence cp.Influence = EUtil.ProgressBar(cp.Influence, 0, 1f, "Influence: {0:F2}"); } EUtil.PopGUIEnable(); if (EditorGUI.EndChangeCheck()) { EditorUtility.SetDirty(cp); //so ConstraintStack.Update can be called in edit-mode } }
public override void OnInspectorGUI() { TransformMapping cp = (TransformMapping)target; EditorGUI.BeginChangeCheck(); EConUtil.DrawActiveLine(cp); //constraint target cp.Target = (Transform)EditorGUILayout.ObjectField("Target Obj", cp.Target, typeof(Transform), true); if (cp.Target && !ConstraintEditorUtil.IsTargetHasAllUniformScaleInHierarchy(cp.Target)) { ConstraintEditorUtil.NonUniformScaleWarning(cp.Target); } EUtil.DrawSplitter(); EUtil.PushGUIEnable(cp.IsActiveConstraint && cp.Target); { //mapping m_foldoutMapping = EditorGUILayout.Foldout(m_foldoutMapping, "Mapping"); if (m_foldoutMapping) { //source (from target) ETransformData eSrcType = cp.SrcDataType; EConUtil.DrawChooseTransformData(ref eSrcType, "Src data type", "which data of transform of target is taken as source"); cp.SrcDataType = eSrcType; //destination (to owner) ETransformData eDstType = cp.DstDataType; EConUtil.DrawChooseTransformData(ref eDstType, "Dst data type", "which data of transform of target is taken as source"); cp.DstDataType = eDstType; // XYZ mapping GUILayout.Label("Source to Destination Mapping:"); for (int i = 0; i < 3; ++i) { EditorGUILayout.BeginHorizontal(); cp.Mapping[i] = (EAxis)EditorGUILayout.EnumPopup(cp.Mapping[i]); GUILayout.Label(" >> " + (char)('X' + i)); EditorGUILayout.EndHorizontal(); } // extrapolate cp.Extrapolate = EditorGUILayout.Toggle(new GUIContent("Extrapolate", "will extend the range outside specified range"), cp.Extrapolate); GUILayout.Space(5f); } //source data range m_foldoutSrcRange = EditorGUILayout.Foldout(m_foldoutSrcRange, "Source Range"); if (m_foldoutSrcRange) { Vector3 srcFrom = cp.SrcFrom; Vector3 srcTo = cp.SrcTo; EConUtil.DrawAxisRange(ref srcFrom, ref srcTo); cp.SrcFrom = srcFrom; cp.SrcTo = srcTo; GUILayout.Space(5f); } //dest data range m_foldoutDstRange = EditorGUILayout.Foldout(m_foldoutDstRange, "Destination Range"); if (m_foldoutDstRange) { Vector3 dstFrom = cp.DstFrom; Vector3 dstTo = cp.DstTo; EConUtil.DrawAxisRange(ref dstFrom, ref dstTo); cp.DstFrom = dstFrom; cp.DstTo = dstTo; GUILayout.Space(5f); } // space mapping m_foldoutSpace = EditorGUILayout.Foldout(m_foldoutSpace, "Space Mapping"); if (m_foldoutSpace) { // target space cp.TargetSpace = (ESpace)EditorGUILayout.EnumPopup("Target Space", cp.TargetSpace); // owner space cp.OwnerSpace = (ESpace)EditorGUILayout.EnumPopup("Owner Space", cp.OwnerSpace); GUILayout.Space(5f); } // influence cp.Influence = EUtil.ProgressBar(cp.Influence, 0, 1f, "Influence: {0:F2}"); } EUtil.PopGUIEnable(); if (EditorGUI.EndChangeCheck()) { EditorUtility.SetDirty(cp); //so ConstraintStack.Update can be called in edit-mode } }
void OnGUI() { EditorGUILayout.LabelField("Set the Roots:"); for (int i = 0; i < m_Roots.Count; ++i) { EditorGUILayout.BeginHorizontal(); { EditorGUI.BeginChangeCheck(); var root = (Transform)EditorGUILayout.ObjectField(m_Roots[i], typeof(Transform), true); if (EditorGUI.EndChangeCheck()) { m_Roots[i] = root; } if (EUtil.Button("-", "delete entry", Color.red, GUILayout.Width(20f))) { m_Roots.RemoveAt(i); GUIUtility.ExitGUI(); } } EditorGUILayout.EndHorizontal(); } EditorGUILayout.BeginHorizontal(); { GUILayout.Space(40f); if (GUILayout.Button("Add Root Entry")) { m_Roots.Add(null); } GUILayout.Space(40f); } EditorGUILayout.EndHorizontal(); GUILayout.Space(5f); if (GUILayout.Button(m_baking ? "Baking" : "Not Baking", EditorStyles.toolbarButton)) { m_baking = !m_baking; if (m_baking) { m_Trs.Clear(); foreach (var oneRoot in m_Roots) { for (var ie = oneRoot.GetRecurEnumerator(); ie.MoveNext();) { m_Trs.Add(ie.Current); } } m_TrsArr = m_Trs.ToArray(); m_uaw = EUtil.GetUnityAnimationWindow(); if (null == m_uaw) { m_baking = false; } } } if (!m_baking) { EditorWindow uaw = (EditorWindow)EUtil.GetUnityAnimationWindow(); if (uaw == null) { EditorGUIUtility.ExitGUI(); } object uawstate = EUtil.GetUnityAnimationWindowState(uaw); if (uawstate == null) { EditorGUIUtility.ExitGUI(); } var clip = RCall.GetField("UnityEditorInternal.AnimationWindowState", "m_ActiveAnimationClip", uawstate) as AnimationClip; if (clip == null) { EditorGUIUtility.ExitGUI(); } GUILayout.Space(5f); if (GUILayout.Button(new GUIContent("Compress Angles", "Only use this method on a clips full of keyframes"), EditorStyles.toolbarButton)) { _NormalizeRotationsInClip(uawstate, clip); } } }
public override void OnInspectorGUI() { if (targets.Length > 1) { EditorGUILayout.HelpBox("Cannot edit multiple spline together", MessageType.Info, true); ms_isMultiEdit = true; return; } else { ms_isMultiEdit = false; } CatmullRomCentripetalBehaviour behaviour = (CatmullRomCentripetalBehaviour)target; CatmullRomCentripetal spline = (CatmullRomCentripetal)behaviour.Spline; GUILayout.Space(5f); EditorGUILayout.BeginHorizontal(); { if (GUILayout.Button(new GUIContent("Add Point", "hotkey: I"), EditorStyles.toolbarButton)) { _AddPoint(spline); } if (GUILayout.Button(new GUIContent("Del Point", "hotkey: X"), EditorStyles.toolbarButton)) { _DelPoint(spline); } if (GUILayout.Button(spline.Cycle ? "Break Cycle" : "Make Cycle", EditorStyles.toolbarButton)) { _ToggleCycle(spline); } } EditorGUILayout.EndHorizontal(); GUILayout.Space(5f); if (m_curPtIdx >= 0) { EditorGUILayout.BeginHorizontal(); { MUndo.RecordObject(this, "change current point"); GUILayout.Label("Current Point"); if (GUILayout.Button("<<")) { m_curPtIdx = Mathf.Max(0, m_curPtIdx - 1); } EditorGUI.BeginChangeCheck(); m_curPtIdx = EditorGUILayout.IntField(m_curPtIdx); if (EditorGUI.EndChangeCheck()) { m_curPtIdx = Mathf.Clamp(m_curPtIdx, 0, spline.PointCount); } GUILayout.Label(" / " + (spline.PointCount - 1)); if (GUILayout.Button(">>")) { m_curPtIdx = Mathf.Min(m_curPtIdx + 1, spline.PointCount - 1); } } EditorGUILayout.EndHorizontal(); MUndo.RecordObject(target, "modify control point"); EUtil.PushLabelWidth(80f); spline[m_curPtIdx] = EUtil.DrawV3P(new GUIContent("Position"), spline[m_curPtIdx]); spline.SetTilt(m_curPtIdx, EditorGUILayout.FloatField("Tilt", spline.GetTilt(m_curPtIdx))); EUtil.PopLabelWidth(); } ms_foldoutSettings = EditorGUILayout.Foldout(ms_foldoutSettings, "Settings"); if (ms_foldoutSettings) { MUndo.RecordObject(this, "change setting"); spline.Resolution = EditorGUILayout.IntField("Point/Seg", spline.Resolution); spline.TwistMtd = (ETwistMethod)EditorGUILayout.EnumPopup(new GUIContent("Twist Method", "Decide how to calculate the base-up direction before applying tilt"), spline.TwistMtd); ms_drawArrow = EditorGUILayout.Toggle("Draw Arrow", ms_drawArrow); ms_drawUp = EditorGUILayout.Toggle("Draw Up", ms_drawUp); ms_arrowLineLen = EditorGUILayout.FloatField("Arrow LineLen", ms_arrowLineLen); ms_drawPts = EditorGUILayout.Toggle("Draw points", ms_drawPts); ms_ptSize = EditorGUILayout.FloatField("Point size", ms_ptSize); ms_lookAtDist = EditorGUILayout.FloatField(new GUIContent("LookAt dist", "the distance from camera to target point when camera in follow mode"), ms_lookAtDist); } ms_foldoutTSlider = EditorGUILayout.Foldout(ms_foldoutTSlider, "T slider"); if (ms_foldoutTSlider) { EditorGUI.BeginChangeCheck(); EUtil.PushLabelWidth(20f); m_tSlider = EditorGUILayout.Slider("T", m_tSlider, 0, 1f); EUtil.PopLabelWidth(); if (EditorGUI.EndChangeCheck()) { //Transform tr = behaviour.transform; EUtil.SceneViewLookAt( behaviour.GetTransformedPosition(m_tSlider), Quaternion.LookRotation(behaviour.GetTransformedTangent(m_tSlider), behaviour.GetTransformedUp(m_tSlider)), ms_lookAtDist); } } if (GUI.changed) { EUtil.RepaintSceneView(); } }
public static List <EEvento> listarEvento(EEvento objE) { List <EEvento> lista = new List <EEvento>(); using (SqlConnection cn = new SqlConnection(DConexion.Get_Connection(DConexion.DataBase.CnRumpSql))) { SqlCommand cmd = new SqlCommand("usp_mnt_evento", cn); cmd.Parameters.AddWithValue("@evento_tipo_id", objE.EVENTO_TIPO_ID); cmd.Parameters.AddWithValue("@mascota_id", (objE.MASCOTA_ID_ENCRIP == "" ? 0 : Convert.ToInt32(EUtil.getDesencriptar(objE.MASCOTA_ID_ENCRIP)))); cmd.Parameters.AddWithValue("@usuario_id", objE.USUARIO_ID); cmd.Parameters.AddWithValue("@opcion", 1); cmd.CommandType = CommandType.StoredProcedure; cn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { EEvento mItem = new EEvento(); //mItem.ID = dr.IsDBNull(dr.GetOrdinal("id")) ? 0 : dr.GetDecimal(dr.GetOrdinal("id")); mItem.ID_ENCRIP = EUtil.getEncriptar((dr.IsDBNull(dr.GetOrdinal("id")) ? 0 : dr.GetDecimal(dr.GetOrdinal("id"))).ToString()); mItem.EVENTO_TIPO_ID = dr.IsDBNull(dr.GetOrdinal("EVENTO_TIPO_ID")) ? 0 : dr.GetDecimal(dr.GetOrdinal("EVENTO_TIPO_ID")); mItem.TIPO = dr.IsDBNull(dr.GetOrdinal("TIPO")) ? string.Empty : dr.GetString(dr.GetOrdinal("TIPO")); mItem.MASCOTA_ID = dr.IsDBNull(dr.GetOrdinal("MASCOTA_ID")) ? 0 : dr.GetDecimal(dr.GetOrdinal("MASCOTA_ID")); mItem.MASCOTA_ID_ENCRIP = EUtil.getEncriptar(mItem.MASCOTA_ID.ToString()); mItem.MASCOTA = dr.IsDBNull(dr.GetOrdinal("MASCOTA")) ? string.Empty : dr.GetString(dr.GetOrdinal("MASCOTA")); mItem.TITULO = dr.IsDBNull(dr.GetOrdinal("TITULO")) ? string.Empty : dr.GetString(dr.GetOrdinal("TITULO")); mItem.FECHA_INICIO = dr.IsDBNull(dr.GetOrdinal("FECHA_INICIO")) ? DateTime.MinValue : dr.GetDateTime(dr.GetOrdinal("FECHA_INICIO")); mItem.FECHA_FIN = dr.IsDBNull(dr.GetOrdinal("FECHA_FIN")) ? DateTime.MinValue : dr.GetDateTime(dr.GetOrdinal("FECHA_FIN")); lista.Add(mItem); } } } return(lista); }
void OnGUI() { if (EditorApplication.isPlayingOrWillChangePlaymode) { return; } bool bIsCutScene = m_evtGoRoot != null; EUtil.PushGUIColor(bIsCutScene ? Color.green : Color.red); EditorGUILayout.LabelField(string.Format("AnimClip Root: {0}", (m_ClipRoot == null ? "null" : m_ClipRoot.name) )); EUtil.PopGUIColor(); Color c; String msg; if (bIsCutScene) { if (EUtil.Button("Sync AnimEvents with EventGO", Color.green)) { _MatchEventGOAndAnimEvent(); } if (EUtil.Button("Remove Animation/Animator on decendants", Color.yellow)) { _RemoveAnimCompsOnDecendants(); } if (EUtil.Button("Fix Duplicate Transform Path", Color.white)) { _FixDuplicateTransformPath(); } c = m_bShowMark4SelectedCurves ? Color.green : Color.red; msg = m_bShowMark4SelectedCurves ? "Hide Marks for Selected Curves" : "Show Marks for Selected Curves"; if (EUtil.Button(msg, c)) { m_bShowMark4SelectedCurves = !m_bShowMark4SelectedCurves; SceneView.RepaintAll(); } } else { if (EUtil.Button("New CCRoot", Color.green)) { GameObject newCCRoot = new GameObject(); newCCRoot.name = "NewCCRoot"; newCCRoot.AddComponent <CutsceneController>(); var anim = newCCRoot.AddComponent <Animation>(); anim.playAutomatically = false; Misc.ForceGetGO(EventGOS, newCCRoot); Selection.activeGameObject = newCCRoot; } c = m_bShowMark4SelectedCurves ? Color.green : Color.red; msg = m_bShowMark4SelectedCurves ? "Hide Marks for Selected Curves" : "Show Marks for Selected Curves"; if (EUtil.Button(msg, c)) { m_bShowMark4SelectedCurves = !m_bShowMark4SelectedCurves; SceneView.RepaintAll(); } } }