public void Flow(ActionTree actionTree) { FloorModel.Instance.Flow(); List <FloorAnimInfo> anims = FloorModel.Instance.anims[0]; for (int i = 0; i < anims.Count; i++) { FloorAnimInfo animInfo = anims[i]; FightFloorItem item = GetItemByRunId(animInfo.floorInfo.runId); if (item != null) { ParallelAction paralle = new ParallelAction(); Vector2 toPos = PosUtil.GetFightCellPos(animInfo.floorInfo.posX, animInfo.floorInfo.posY); paralle.AddNode(new MoveActor((RectTransform)item.transform, new Vector3(toPos.x, toPos.y, 0), 0, 0.3f)); OrderAction orderAction = new OrderAction(); orderAction.AddNode(new ScaleActor((RectTransform)item.transform, new Vector3(0.5f, 0.5f, 1), 0.1f)); orderAction.AddNode(new WaitActor(100)); orderAction.AddNode(new ScaleActor((RectTransform)item.transform, new Vector3(1, 1, 1), 0.1f)); paralle.AddNode(orderAction); actionTree.AddNode(paralle); } } }
public void AddAnim(FloorInfo floorInfo, CellAnimType animationType = CellAnimType.clear) { List <FloorAnimInfo> stepMoves = anims[anims.Count - 1]; FloorAnimInfo animInfo = new FloorAnimInfo(); animInfo.startFrame = anims.Count; animInfo.floorInfo = floorInfo; stepMoves.Add(animInfo); }
public void PlayEliminate(List <FloorAnimInfo> floorAnimss, ActionTree actionTree) { for (int j = 0; j < floorAnimss.Count; j++) { OrderAction order = new OrderAction(); FloorAnimInfo floorAnimInfo = floorAnimss[j]; FightFloorItem item = GetItemByRunId(floorAnimInfo.floorInfo.runId); order.AddNode(new ScaleActor((RectTransform)item.transform, new Vector3(0, 0, 0), 0.1f)); order.AddNode(new DestroyActor(item.gameObject)); actionTree.AddNode(order); } }