private void ApplyFields(TimelineEventData data) { FieldInfo[] fields = data.GetType().GetFields(); dataFields.Clear(); Type t = typeof(TimelineEventData); for (int i = 0; i < fields.Length; i++) { FieldInfo info = fields[i]; if (Attribute.IsDefined(info, typeof(NotEditable))) { continue; } if (info.FieldType.IsArray) { SpawnArrayField(data, info); } else { SpawnField(data, info); } } }
public void Despawn(TimelineEventData data) { TimelineEventButton button = eventButtons.Find((TimelineEventButton b) => b.TimelineEventData == data); eventButtons.Remove(button); Destroy(button.gameObject); }
/// <inheritdoc /> public override void Apply(TimelineEventData eventData, FieldInfo fieldInfo, Action <TimelineEventData> onCoreValueChanged) { base.Apply(eventData, fieldInfo, onCoreValueChanged); content = (object[])fieldInfo.GetValue(eventData); Create(onCoreValueChanged); }
private InterfaceDataField SpawnArrayField(TimelineEventData data, FieldInfo dataField) { InterfaceDataField field = Instantiate(BaseArrayField, transform); field.Apply(data, dataField, OnCoreValueChanged); dataFields.Add(field); return(field); }
public void Spawn(TimelineEventData data) { TimelineEventButton newButton = Instantiate(baseEventButton, TimelineEventButtonContainer); newButton.SetTime(this, data, IntervalObjectSpawnInterval, IntervalObjectWidth); eventButtons.Add(newButton); OnEventSelected(data); }
public void OnTimeChanged(TimelineEventData timelineEventData) { TimelineEventButton button = eventButtons.Find((TimelineEventButton b) => b.TimelineEventData == timelineEventData); if (button != null) { button.SetTime(this, timelineEventData, IntervalObjectSpawnInterval, IntervalObjectWidth); } }
public void Delete() { if (EventData == null) { return; } Clear(); (TimelineController.Instance as TimelineEditor).RemoveEvent(EventData); EventData = null; }
public void SetTime(EditorInterface editorInterface, TimelineEventData timelineEventData, int intervalObjectSpawnInterval, float intervalObjectWidth) { this.editorInterface = editorInterface; this.TimelineEventData = timelineEventData; transform.localPosition = Vector3.right * (timelineEventData.InvokeTime / intervalObjectSpawnInterval) * intervalObjectWidth; SelectionButton.onClick.RemoveListener(OnSelect); SelectionButton.onClick.AddListener(OnSelect); }
public void Initialize(EditorInterface parent, TimelineEventData eventData) { Clear(); this.parent = parent; this.EventData = eventData; string name = string.Format(NAMEFORMAT, eventData.Id, eventData.Type.ToString()); gameObject.name = name; Header.text = string.Format(baseHeaderText, MultilanguageSupport.GetKeyWord(eventData.Type.ToString())); ApplyFields(eventData); }
/// <inheritdoc /> public override void Apply(TimelineEventData eventData, FieldInfo fieldInfo, Action <TimelineEventData> onCoreValueChanged) { base.Apply(eventData, fieldInfo, onCoreValueChanged); Spawn( fieldInfo.Name, fieldInfo.FieldType, fieldInfo.GetValue(eventData), (string s) => { fieldInfo.SetValue(eventData, Convert.ChangeType(s, fieldInfo.FieldType)); onCoreValueChanged.Invoke(eventData); }); }
public TimelineEventData AddEvent(TimelineEventContainer.EventType type) { if (CurrentChapter == null) { return(null); } TimelineEventData timelineEvent = TimelineEventContainer.CreateEventDataOfType(type); timelineEvent.Id = CurrentChapter.NextId(); timelineEvent.Type = type; CurrentChapter.AddEvent(timelineEvent); ComponentInterface.Spawn(timelineEvent); return(timelineEvent); }
private void OnCoreValueChanged(TimelineEventData timelineEventData) { // If at some point you add additional core // variables, you can update them here. parent.OnTimeChanged(timelineEventData); }
public void OnEventSelected(TimelineEventData selected) { PreviewComponent.Initialize(this, selected); }
public virtual void Apply(TimelineEventData eventData, FieldInfo fieldInfo, Action <TimelineEventData> onCoreValueChanged) { this.eventData = eventData; this.fieldInfo = fieldInfo; gameObject.name = string.Format(NAMEFORMAT, fieldInfo.FieldType.ToString(), fieldInfo.Name); }
public void UpdateEvent(TimelineEventData updatedEvent) { CurrentChapter.UpdateEvent(updatedEvent); }
public void RemoveEvent(TimelineEventData data) { CurrentChapter.RemoveEvent(data); ComponentInterface.Despawn(data); }