public bool editingPermission(IServerVdShape sh, int owner) { if (sh.GetCursor() == null) { return(true); } else if (sh.GetCursor().OwnerId == owner) { return(true); } else { return(false); } }
public void RemoveShape(IServerVdShape sh) { if (sh.GetCursor() != null) { throw new InvalidOperationException("cannot remove shape locked by cursor!"); } _shapeIdToShape.Remove(sh.Id()); }
public void UnlockAndRemoveShape(IServerVdShape sh) { var curs = sh.GetCursor(); if (curs != null) { UnlockShape(sh, curs.OwnerId); } RemoveShape(sh); }
//returns previously locked shape, caller should broadcast cursor free event if result != null public void LockShape(IServerVdShape sh, int owner) { if (sh.GetCursor() != null) { throw new InvalidOperationException("cannot lock locked shape"); } var cursor = new ServerCursor(owner); sh.SetCursor(cursor); _userIdToCursor.Add(owner, sh); }
public bool editingPermission(IServerVdShape sh, int owner) { if (sh.GetCursor() == null) return true; else if (sh.GetCursor().OwnerId == owner) return true; else return false; }
public void UnlockAndRemoveShape(IServerVdShape sh) { var curs = sh.GetCursor(); if (curs != null) UnlockShape(sh, curs.OwnerId); RemoveShape(sh); }
public void RemoveShape(IServerVdShape sh) { if (sh.GetCursor() != null) throw new InvalidOperationException("cannot remove shape locked by cursor!"); _shapeIdToShape.Remove(sh.Id()); }
//returns previously locked shape, caller should broadcast cursor free event if result != null public void LockShape(IServerVdShape sh, int owner) { if (sh.GetCursor() != null) throw new InvalidOperationException("cannot lock locked shape"); var cursor = new ServerCursor(owner); sh.SetCursor(cursor); _userIdToCursor.Add(owner, sh); }