コード例 #1
0
        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);
        }
コード例 #2
0
 void OnDeselectedLayer(BeatObjectData beatObjectData)
 {
     if (TryGetLayerByData(beatObjectData, out var layerUi))
     {
         layerUi.OnDeselect();
     }
 }
コード例 #3
0
        public void WipeSelections()
        {
            if (_selectedObject != null)
            {
                onDeselected.Invoke(_selectedObject);
            }

            _selectedObject = null;
            CloseProperties();
        }
コード例 #4
0
        public void Select(BeatObjectData beatObjectData)
        {
            if (_selectedObject != null)
            {
                onDeselected.Invoke(_selectedObject);
            }

            _selectedObject = beatObjectData;
            onSelected.Invoke(_selectedObject);
            OpenProperties();
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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
                });
            }
        }