protected unsafe override void SetValue(long ival) { GArrayHeader *var = (GArrayHeader *)this.Var; int num = *(int *)(var + 4 / sizeof(GArrayHeader)); long num2 = (long)num; if (num2 != ival) { if (num2 < ival) { if ((long)(*(int *)(var + 8 / sizeof(GArrayHeader))) < ival) { void *ptr = < Module >.realloc(*(int *)var, (uint)((int)((long)(*(int *)(this.Type + 48 / sizeof(GClass))) * ival))); *(int *)var = ptr; int num3 = *(int *)(this.Type + 48 / sizeof(GClass)); int num4 = *(int *)(var + 8 / sizeof(GArrayHeader)); initblk(num3 * num4 + (byte *)ptr, 0, (int)((ival - (long)num4) * (long)num3)); *(int *)(var + 8 / sizeof(GArrayHeader)) = (int)ival; } *(int *)(var + 4 / sizeof(GArrayHeader)) = (int)ival; } else if (num2 > ival) { if (*(*(int *)(this.Type + 52 / sizeof(GClass)) + 40) != 0) { int num5 = num; if ((long)num5 < ival) { do { GClass *type = this.Type; calli(System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl)(System.Void *), *(int *)(type + 48 / sizeof(GClass)) * num5 + *(int *)var, *(*(int *)(type + 52 / sizeof(GClass)) + 40)); num5++; }while ((long)num5 < ival); } } long num6 = (long)(*(int *)(this.Type + 48 / sizeof(GClass))); initblk((int)(num6 * ival) + *(int *)var, 0, (int)(((long)(*(int *)(var + 4 / sizeof(GArrayHeader))) - ival) * num6)); *(int *)(var + 4 / sizeof(GArrayHeader)) = (int)ival; } this.Host.RegenerateSubtree(this.Index); this.Host.RaiseItemChanged(); this.Host.InvalidateViewControl(); } }
public unsafe override ArrayList Expand() { ArrayList arrayList = new ArrayList(); GArrayHeader *var = (GArrayHeader *)this.Var; float default_value = 0f; float min_value = -3.40282347E+38f; float max_value = 3.40282347E+38f; float step_value = 0.5f; int num = 0; int num2 = *(int *)(var + 4 / sizeof(GArrayHeader)); if (0 < num2) { do { if (num2 > 10) { GBaseString <char> gBaseString <char>; GBaseString <char> *ptr = < Module >.Format(&gBaseString <char>, (sbyte *)(& < Module >.?? _C@_04OGKJMPGK@?$CF02d?$AA@), num); try { uint num3 = (uint)(*(int *)ptr); sbyte *value; if (num3 != 0u) { value = num3; } else { value = < Module >.?EmptyString@?$GBaseString@D@@1PBDB; } GClass *type = this.Type; arrayList.Add(PropertyItem.MakeProperty(new string((sbyte *)value), null, *(int *)(type + 52 / sizeof(GClass)), *(int *)(type + 48 / sizeof(GClass)) * num + *(int *)var, default_value, min_value, max_value, step_value)); } catch { < Module >.___CxxCallUnwindDtor(ldftn(GBaseString <char> .{ dtor }), (void *)(&gBaseString <char>));