private void ClickRequirementUnitContainer(RequirementUnitContainer _container) { if (selectedUnitList.Count == _container.requirement.dishArr.Length) { List <int> list = new List <int>(); for (int i = 0; i < selectedUnitList.Count; i++) { ControlUnit controlUnit = selectedUnitList[i]; if (controlUnit is DishResultContainer) { DishResultContainer container = controlUnit as DishResultContainer; list.Add(container.index); } else { DishResultBt bt = controlUnit as DishResultBt; list.Add(-bt.dish.index - 1); } } if (client.CheckCanCompleteRequirement(list, _container.requirement)) { //send command client.CompleteRequirement(list, _container.requirement.uid); } } ClearSelectedUnitList(); }
private void Refresh() { for (int i = 0; i < dataList.Count; i++) { DishRequirement requirement = dataList[i]; bool getContainer = false; for (int m = 0; m < containerList.Count; m++) { if (containerList[m].requirement == requirement) { getContainer = true; break; } } if (!getContainer) { GameObject go = GameObjectFactory.Instance.GetGameObject("Assets/Resource/prefab/requirement.prefab", null); go.transform.SetParent(container, false); RequirementUnitContainer unit = go.GetComponent <RequirementUnitContainer>(); unit.Init(core, requirement); containerList.Add(unit); int bornTick = core.tick - requirement.time; float x = moveDisPerTick * bornTick + max_length * 0.5f; (unit.transform as RectTransform).anchoredPosition = new Vector2(x, 0); } } for (int i = containerList.Count - 1; i > -1; i--) { RequirementUnitContainer unit = containerList[i]; if (!dataList.Contains(unit.requirement)) { containerList.RemoveAt(i); Disappear(unit); } } }
private void GetCommandCompleteRequirement(CommandCompleteRequirement _command) { PlayerDataUnit unit = _command.isMine == client.clientIsMine ? mPlayerData : oPlayerData; unit.CompleteRequirement(_command); for (int i = requirementContainer.containerList.Count - 1; i > -1; i--) { RequirementUnitContainer container = requirementContainer.containerList[i]; if (container.requirement.uid == _command.requirementUid) { requirementContainer.containerList.RemoveAt(i); Destroy(container.gameObject); break; } } }
private void Disappear(RequirementUnitContainer _unit) { Destroy(_unit.gameObject); }