public void ObjectBind(int layer) { if (ObjectManager.instance.currentObjectModel == null) { return; } if (_awaitConfirmOnLayer != layer) { if (_awaitConfirmOnLayer != -1) { onFinishAwaitConfirm.Invoke(_awaitConfirmOnLayer); } _awaitConfirmOnLayer = layer; onStartAwaitConfirm.Invoke(layer); return; } ; if (!_bind.ContainsKey(layer)) { StartListening(layer); } var newBeatObject = new BeatObjectData(ObjectManager.instance.currentObjectModel.objectTag, SerializableGuid.NewGuid(), _awaitConfirmOnLayer, ModelInput.CloneInputs(ObjectManager.instance.currentObjectModel.modelInput)); ObjectBind(layer, newBeatObject); _awaitConfirmOnLayer = -1; onFinishAwaitConfirm.Invoke(layer); }
void OnDeselectedLayer(BeatObjectData beatObjectData) { if (TryGetLayerByData(beatObjectData, out var layerUi)) { layerUi.OnDeselect(); } }
public void WipeSelections() { if (_selectedObject != null) { onDeselected.Invoke(_selectedObject); } _selectedObject = null; CloseProperties(); }
public void Select(BeatObjectData beatObjectData) { if (_selectedObject != null) { onDeselected.Invoke(_selectedObject); } _selectedObject = beatObjectData; onSelected.Invoke(_selectedObject); OpenProperties(); }
bool TryGetLayerByData(BeatObjectData beatObjectData, out LayerUI layerUi) { foreach (var bindKey in BindingManager.instance.bind) { if (bindKey.Value.beatObjectData.id == beatObjectData.id) { layerUi = _layers[beatObjectData.editorLayer]; return(true); } } layerUi = null; return(false); }
public void ObjectBind(int layer, BeatObjectData beatObjectData) { if (_bind.ContainsKey(layer)) { if (ObjectProperties.instance.selectedObject != null && ObjectProperties.instance.selectedObject.id == _bind[layer].beatObjectData.id) { ObjectProperties.instance.WipeSelections(); } BindKey bindKey = _bind[layer]; bindKey.beatObjectData = beatObjectData; _bind[layer] = bindKey; } else { _bind.Add(layer, new BindKey { key = KeyCode.None, beatObjectData = beatObjectData }); } }