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 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); } }
protected GameObject CreateFloorItem(int posX, int posY, FloorInfo floorInfo) { if (floorInfo.IsNull()) { return(null); } GameObject item = list.NewItem(); item.name = posX + "_" + posY; FightFloorItem itemCtr = item.AddComponent <FightFloorItem>(); itemCtr.floorInfo = floorInfo; itemCtr.type = type; itemCtr.icon = floorInfo.config.icon; PosUtil.SetFightCellPos(item.transform, posX, posY); return(item); }
public FightFloorItem GetItemByRunId(int runId) { List <GameObject> items = list.items; for (int i = 0; i < items.Count; i++) { GameObject item = (GameObject)items[i]; if (item == null) { continue; } FightFloorItem cellItemCtr = item.GetComponent <FightFloorItem>(); if (cellItemCtr.floorInfo.runId == runId) { return(cellItemCtr); } } return(null); }