private void UpdateCampCreate(int camp, GameObject copy) { AWBuildingBarrack buildingBarrack = AWCore.Instance.GetGame().GetScene <AWSceneHome>().GetAWBuilding <AWBuildingBarrack>(m_building); IBuildingConfItem buildingConfItem = AW.GetSingleton <IDataAdapter>().GetBuildingConfItem(m_building); List <int> produceUnitLists = AW.GetSingleton <IDataAdapter>().GetProduceUnitList(m_building.GetBuildingType()); Dictionary <int, Camp> produceTroops = barrack.GetProduceTroopDic(); copy.transform.SetParent(campAnchor, false); copy.GetComponent <UISetAnchor>().SetAnchor(buildingBarrack.GetModelAnchor(camp), UIAnchorType.World3DToUI2D); UICampItem campItem = copy.GetComponent <UICampItem>(); campItem.InitCamp(produceTroops, camp, buildingConfItem); campItem.SetUnitName(); campItem.SetSelect(false); itemList.Add(campItem); Button button = copy.GetComponent <Button>(); button.onClick.RemoveAllListeners(); button.onClick.AddListener(CloseUnitList); button.onClick.AddListener(ResetCampItem); button.onClick.AddListener(new OnClickCampEvent(construction, troopsInfoAnchor, produceTroops[camp], replaceUnitList, produceUnitLists, m_building, replaceUnitListAnchor, campItem).OnClickCreateTroopsInfo); m_buildingProcess = copy.ExtGetMissingComponent <AWBuildingProcess>(); m_buildingProcess.InitProcess(produceTroops[camp], copy.transform, new Vector3(-20, 80, 0), UIAnchorType.UI2DToUI2D); m_buildingProcess.SetShow(true); }
public void OnClickCreateTroopsInfo() { m_campItem.SetSelect(true); UIWindowTroopsInfo info = UIWindowWrapper.GetWindowAddMask <UIWindowTroopsInfo>(); info.transform.SetParent(m_troopsAnchor, false); info.Open(m_camp); IUnitConfItem unitConfItem = AW.GetSingleton <IDataAdapter>().GetOwnedUnitConfItem(m_camp.ProduceItem); IBuildingConfItem buildingConfItem = AW.GetSingleton <IDataAdapter>().GetBuildingConfItem(m_building); m_count = buildingConfItem.GetTroopCostVolume() / unitConfItem.GetCapacityCost(); Building barrck = (Building)m_camp; if (barrck.GetState() == AWEnum.BuildingStateType.Produce) { info.replace.gameObject.SetActive(false); info.SetCompleteButtonStyle(OnClickComplete); info.SetCancelButtonStle(OnClickCancel); if (m_camp.GetProducedCount() < m_count) { info.SetSupplementButtonStyle(OnClickSupplement); } else { info.supplement.gameObject.SetActive(false); } } else { info.complete.gameObject.SetActive(false); info.cancel.gameObject.SetActive(false); if (m_camp.GetProducedCount() < m_count) { info.SetSupplementButtonStyle(OnClickSupplement); info.SetReplaceButtonStyle(OnClickReplace); } else { info.supplement.gameObject.SetActive(false); info.SetReplaceButtonStyle(OnClickReplace); } } info.SetRename(OnClickRename); }