public void Init(BeatObjectData data, TimelineScroll timeline) { beatObjectData = data; _timeline = timeline; if (beatObjectData.hasModel <APPEAR>()) { _appearUI.onValueChanged.AddListener(OnSetAppear); } else { _appearUI.IsShown(false); } if (beatObjectData.hasModel <DURATION>()) { _durationUI.onValueChanged.AddListener(OnSetDuration); } else { _durationUI.IsShown(false); } if (LevelEditor.instance.objectIcons.TryGetValue(data.objectTag, out Sprite sprite)) { _image.sprite = sprite; } _image.color = MoveSyncData.instance.colorData.DefaultUIBeatObject; }
public void UpdateUI() { rectTransform.localPosition = new Vector2(beatObjectData.time * _timeline.zoom, TimelineObjectsUI.layerHeight * beatObjectData.editorLayer * -1.0f); if (beatObjectData.hasModel <APPEAR>()) { _appearUI.SetValue(beatObjectData.getModel <APPEAR>().value *_timeline.zoom); } if (beatObjectData.hasModel <DURATION>()) { _durationUI.SetValue(beatObjectData.getModel <DURATION>().value *_timeline.zoom); } }
void TriggerBeatObject(BeatObjectData beatObjectData) { if (beatObjectData.hasModel <EVENT>()) { EventManager.instance.InvokeEvent(beatObjectData.getModel <EVENT>().value, beatObjectData.time); } else { BeatObject beatObject = Instantiate(ObjectManager.instance.objectModels[beatObjectData.objectTag].prefab) .GetComponent <BeatObject>(); beatObject.Init(beatObjectData); beatObject.gameObject.SetActive(true); } }