private void CheckField(Type type, Component c, OkCallBack2 intAction, OkCallBack2 floatAction, OkCallBack2 vector2Action, OkCallBack2 vector3Action, OkCallBack2 colorAction) { FieldInfo fInfo = type.GetField(PropertyName); if (null == fInfo) { MyLog.Red("1. 看下是否字段 2.看下有没有写错字段名"); } else { Type lieType = fInfo.GetValue(c).GetType(); switch (TO) { case EValueType.INT: if (lieType == typeof(Int32)) { if (null != intAction) { intAction(fInfo, c); } } else { MyLog.Red(string.Format("不是 {0} 类型,而是 {1}", typeof(Int32), lieType)); } break; case EValueType.FLOAT: if (lieType == typeof(Single)) { if (null != floatAction) { floatAction(fInfo, c); } } else { MyLog.Red(string.Format("不是 {0} 类型,而是 {1}", typeof(Single), lieType)); } break; case EValueType.VECTOR2: if (lieType == typeof(Vector2)) { if (null != vector2Action) { vector2Action(fInfo, c); } } else { MyLog.Red(string.Format("不是 {0} 类型,而是 {1}", typeof(Vector2), lieType)); } break; case EValueType.VECTOR3: if (lieType == typeof(Vector3)) { if (null != vector3Action) { vector3Action(fInfo, c); } } else { MyLog.Red(string.Format("不是 {0} 类型,而是 {1}", typeof(Vector3), lieType)); } break; case EValueType.COLOR: if (lieType == typeof(Color)) { if (null != colorAction) { colorAction(fInfo, c); } } else { MyLog.Red(string.Format("不是 {0} 类型,而是 {1}", typeof(Color), lieType)); } break; default: MyLog.Red(string.Format("这个 {0} 类型没有定义", lieType)); break; } } }
private void CheckIsOk(OkCallBack intAction, OkCallBack floatAction, OkCallBack vector2Action, OkCallBack vector3Action, OkCallBack colorAction, OkCallBack2 intAction2, OkCallBack2 floatAction2, OkCallBack2 vector2Action2, OkCallBack2 vector3Action2, OkCallBack2 colorAction2) { Component c = GetComponent(ComponentName); if (null == c) { MyLog.Red("获取不到这个组件名 —— " + ComponentName); return; } Type type = c.GetType(); switch (isProperty) { case EIsProperty.Property: CheckProperty(type, c, intAction, floatAction, vector2Action, vector3Action, colorAction); break; case EIsProperty.Field: CheckField(type, c, intAction2, floatAction2, vector2Action2, vector3Action2, colorAction2); break; } }