public override void OnSelected(PlayerSelectEventArgs e) { base.OnSelected(e); ((Player)e.Player).ObjectEditor.OnSelected(this, e); }
public virtual void OnSelected(PlayerSelectEventArgs e) { AssertNotDisposed(); Selected?.Invoke(this, e); }
public void OnSelected(MruDynamicObject o, PlayerSelectEventArgs e) { if (_objectEditorState != ObjectEditorState.MultiSelect && _selectedObjects.Contains(o)) { _selectedObjects.Remove(o); } switch (_objectEditorState) { case ObjectEditorState.Edit: _player.SendClientMessage($"Wybrałeś obiekt: {o}"); foreach (var selectedObject in _selectedObjects) { _selectedObjectsPositions[selectedObject] = selectedObject.Position; } o.Edit(_player); o.Mark(); break; case ObjectEditorState.Delete: _player.SendClientMessage($"Usunąłeś obiekt {o}"); foreach (var selectedObject in _selectedObjects) { selectedObject.ApiDelete(); } _selectedObjects.Clear(); o.ApiDelete(); _objectEditorState = ObjectEditorState.Delete; break; case ObjectEditorState.Clone: _player.SendClientMessage($"Sklonowałeś obiekt: {o}"); var oldSelected = _selectedObjects; _selectedObjects = new HashSet <MruDynamicObject>(); foreach (var selectedObject in oldSelected) { selectedObject.UnMark(); var c = new MruDynamicObject(selectedObject); _selectedObjectsPositions[c] = c.Position; SelectObject(c); } var clone = new MruDynamicObject(o); _objectEditorState = ObjectEditorState.Edit; clone.Edit(e.Player); break; case ObjectEditorState.MultiSelect: if (_selectedObjects.Contains(o)) { _player.SendClientMessage($"Usunąłeś obiekt {o} z zaznaczeń"); UnSelectObject(o); } else { _player.SendClientMessage($"Dodałeś obiekt {o} do zaznaczeń"); SelectObject(o); } MultiSelectMode(); break; } }
protected virtual void OnPlayerSelectDynamicObject(DynamicObject @object, PlayerSelectEventArgs e) { PlayerSelectDynamicObject?.Invoke(@object, e); }