using System; namespace UnityEngine.Experimental.UIElements { // Token: 0x02000321 RID: 801 internal abstract class IMElement : VisualElement, IOnGUIHandler, IRecyclable { // Token: 0x06003282 RID: 12930 RVA: 0x0004C510 File Offset: 0x0004A710 protected IMElement() { this.style = GUIStyle.none; this.focusType = FocusType.Passive; this.id = 0; } // Token: 0x17000B78 RID: 2936 // (get) Token: 0x06003283 RID: 12931 RVA: 0x0004C534 File Offset: 0x0004A734 // (set) Token: 0x06003284 RID: 12932 RVA: 0x0004C550 File Offset: 0x0004A750 public FocusType focusType { get; set; } // Token: 0x17000B79 RID: 2937 // (get) Token: 0x06003285 RID: 12933 RVA: 0x0004C55C File Offset: 0x0004A75C // (set) Token: 0x06003286 RID: 12934 RVA: 0x0004C578 File Offset: 0x0004A778 public int id { get; protected set; } // Token: 0x17000B7A RID: 2938 // (get) Token: 0x06003287 RID: 12935 RVA: 0x0004C584 File Offset: 0x0004A784 // (set) Token: 0x06003288 RID: 12936 RVA: 0x0004C5A0 File Offset: 0x0004A7A0 public GUIStyle style { get { return this.m_GUIStyle; } set { this.m_GUIStyle = value; } } // Token: 0x17000B7B RID: 2939 // (get) Token: 0x06003289 RID: 12937 RVA: 0x0004C5AC File Offset: 0x0004A7AC // (set) Token: 0x0600328A RID: 12938 RVA: 0x0004C5C8 File Offset: 0x0004A7C8 public new Rect position { get; set; } // Token: 0x17000B7C RID: 2940 // (get) Token: 0x0600328B RID: 12939 RVA: 0x0004C5D4 File Offset: 0x0004A7D4 // (set) Token: 0x0600328C RID: 12940 RVA: 0x0004C5F0 File Offset: 0x0004A7F0 public bool isTrashed { get; set; } // Token: 0x0600328D RID: 12941 RVA: 0x0004C5FC File Offset: 0x0004A7FC public virtual void OnTrash() { } // Token: 0x0600328E RID: 12942 RVA: 0x0004C600 File Offset: 0x0004A800 public virtual void OnReuse() { this.style = GUIStyle.none; this.position = new Rect(0f, 0f, 0f, 0f); this.enabled = true; this.id = 0; } // Token: 0x0600328F RID: 12943 RVA: 0x0004C63C File Offset: 0x0004A83C public virtual bool OnGUI(Event evt) { bool flag = false; switch (evt.GetTypeForControl(this.id)) { case EventType.MouseDown: flag = this.DoMouseDown(new MouseEventArgs(evt.mousePosition, evt.clickCount, evt.modifiers)); break; case EventType.MouseUp: flag = this.DoMouseUp(new MouseEventArgs(evt.mousePosition, evt.clickCount, evt.modifiers)); break; case EventType.MouseMove: flag = this.DoMouseMove(new MouseEventArgs(evt.mousePosition, evt.clickCount, evt.modifiers)); break; case EventType.MouseDrag: flag = this.DoMouseDrag(new MouseEventArgs(evt.mousePosition, evt.clickCount, evt.modifiers)); break; case EventType.KeyDown: flag = this.DoKeyDown(new KeyboardEventArgs(evt.character, evt.keyCode, evt.modifiers)); break; case EventType.KeyUp: flag = this.DoKeyUp(new KeyboardEventArgs(evt.character, evt.keyCode, evt.modifiers)); break; case EventType.Repaint: this.DoRepaint(new StylePainter(evt.mousePosition)); break; case EventType.DragUpdated: flag = this.DoDragUpdated(new MouseEventArgs(evt.mousePosition, evt.clickCount, evt.modifiers)); break; } if (flag) { evt.Use(); } return flag; } // Token: 0x06003290 RID: 12944 RVA: 0x0004C7B0 File Offset: 0x0004A9B0 public void AssignControlID(int id) { this.id = id; } // Token: 0x06003291 RID: 12945 RVA: 0x0004C7BC File Offset: 0x0004A9BC public void GenerateControlID() { this.id = this.DoGenerateControlID(); } // Token: 0x06003292 RID: 12946 protected abstract int DoGenerateControlID(); // Token: 0x06003293 RID: 12947 RVA: 0x0004C7CC File Offset: 0x0004A9CC protected virtual bool DoMouseDown(MouseEventArgs args) { return false; } // Token: 0x06003294 RID: 12948 RVA: 0x0004C7E4 File Offset: 0x0004A9E4 protected virtual bool DoMouseMove(MouseEventArgs args) { return false; } // Token: 0x06003295 RID: 12949 RVA: 0x0004C7FC File Offset: 0x0004A9FC protected virtual bool DoMouseUp(MouseEventArgs args) { return false; } // Token: 0x06003296 RID: 12950 RVA: 0x0004C814 File Offset: 0x0004AA14 protected virtual bool DoKeyDown(KeyboardEventArgs args) { return false; } // Token: 0x06003297 RID: 12951 RVA: 0x0004C82C File Offset: 0x0004AA2C protected virtual bool DoKeyUp(KeyboardEventArgs args) { return false; } // Token: 0x06003298 RID: 12952 RVA: 0x0004C844 File Offset: 0x0004AA44 protected virtual bool DoMouseDrag(MouseEventArgs args) { return false; } // Token: 0x06003299 RID: 12953 RVA: 0x0004C85C File Offset: 0x0004AA5C protected virtual bool DoDragUpdated(MouseEventArgs args) { return false; } // Token: 0x04000A42 RID: 2626 private GUIStyle m_GUIStyle; // Token: 0x04000A44 RID: 2628 public const int NonInteractiveControlID = 0; } }