public void remove(IPuzzleLayer layer) { var i = layer.GetLayerIndex(); layers.RemoveAt(i); layer.SetLayerIndex(Tool.NullIndex); refreshLayerDepth(); }
void startMoving() { ConnectedSet.pieceForAlign = (connectedSet == null) ? null : this; MovingTarget = (connectedSet != null) ? connectedSet : this as IPuzzleLayer; MovingTarget.BeforeMoving(); // 記下位置 oldLocalPos = MovingTarget.GetTransform().localPosition; beginDragPos = Input.mousePosition; onMoving = true; }
void downToUpInsert(IPuzzleLayer layer) { for (var i = 0; i < layers.Count; ++i) { var L = layers[i]; if (layer.GetPiecesCount() > L.GetPiecesCount()) // 比這層大,就插入 { layers.Insert(i, layer); return; } } layers.Insert(layers.Count, layer); }
public void add(IPuzzleLayer layer) { if (layers.Count == 0) { layer.SetLayerIndex(0); layers.Add(layer); } else { upToDownInsert(layer); } refreshLayerDepth(); }
void stopMoving() { if (inPocket) // 口袋區 { var pocket = PuzzlePiecePocket.Instance; transform.parent = pocket.transform; pocket.refreshPocket(); PuzzlePieceGroup.Instance.removeFromBucket(this); } else { MovingTarget.AfterMoving(); } MovingTarget = null; onMoving = false; }
public void update(IPuzzleLayer layer, bool downToUp = true) { var i = layer.GetLayerIndex(); layers.RemoveAt(i); // 從下往上插入會比較快 if (downToUp) { downToUpInsert(layer); } else { upToDownInsert(layer); } refreshLayerDepth(); }
void upToDownInsert(IPuzzleLayer layer) { var startIndex = layers.Count - 1; for (var i = startIndex; i >= 0; --i) { var L = layers[i]; if (layer.GetPiecesCount() <= L.GetPiecesCount()) // 比這層小,就插入 { var insetIndex = i + 1; layers.Insert(insetIndex, layer); return; } } //比所有的都大 var head = 0; layers.Insert(head, layer); }
public void moveToTop(IPuzzleLayer layer) { update(layer, false); }