public (bool, int) TryPick(IdolData data) { for (int i = 0; i < MaxPick; i++) { if (!isSlotFilled[i]) { var res = PickGroup.SetIdol(i, data, IsWorkLessonPick, out string reason); if (res == true) { isSlotFilled[i] = true; return(true, i); } else { RejectObject.text.text = reason; Motion.StopPlayback(); Motion.Play("PickerRejectNotiAnim", -1, 0); return(false, -1); } } } RejectObject.text.text = "슬롯이 다 찼습니다."; Motion.StopPlayback(); Motion.Play("PickerRejectNotiAnim", -1, 0); return(false, -1); }
public bool TryPick(IdolData data) { if (!ForcePickExists || (ForcePickExists && pickedIdols.Count < ForcePickCount)) { pickedIdols.Add(data); return(true); } else { return(false); } }
public void RemoveCard(IdolData data) { for (int i = 0; i < cards.Count; i++) { if (cards[i].GetComponentInChildren <IdolCard>().LinkedIdol == data) { Destroy(cards[i]); cards.RemoveAt(i); break; } } }
public (bool, int) TryPick(IdolData data) { for (int i = 0; i < MaxPick; i++) { if (!isSlotFilled[i]) { PickGroup.SetIdol(i, data); isSlotFilled[i] = true; return(true, i); } } return(false, -1); }
public async Task <List <IdolData> > Show(int amount, int forcePickAmount = 0) { PickCompleted = false; ForcePickExists = false; pickedIdols = new List <IdolData>(); while (cards.Count > 0) { Destroy(cards[0]); cards.RemoveAt(0); } MasterPanel.SetActive(true); if (forcePickAmount > 0) { ForcePickExists = true; ForcePickCount = forcePickAmount; LimitationText.text = $"반드시 {ForcePickCount}명 선택"; } else { LimitationText.text = "자율 선택"; } var newIdols = IdolData.Generate(amount); for (int i = 0; i < newIdols.Length; i++) { var holderObj = Instantiate(CardHolder); holderObj.transform.SetParent(CardParent); holderObj.transform.localScale = Vector3.one; holderObj.SetActive(true); var cardObj = Instantiate(Resources.Load <GameObject>("Prefabs/IdolCard_Audition")); cardObj.GetComponent <IdolCard>().SetIdol(newIdols[i]); cardObj.transform.SetParent(holderObj.transform); cardObj.transform.localScale = new Vector3(0.6f, 0.6f, 0.6f); cardObj.transform.localPosition = Vector3.zero; cardObj.SetActive(true); cards.Add(holderObj); } Bar.value = 1; await new WaitUntil(() => PickCompleted); MasterPanel.SetActive(false); return(pickedIdols); }
private void Awake() { Instance = this; // Debug 190719 Data = new IngameData(); Data.Idols = new Dictionary <int, IdolData>(); var idols = IdolData.Generate(20); Debug.Log(idols.Length); for (int i = 0; i < idols.Length; i++) { idols[i].Index = i; Data.Idols.Add(i, idols[i]); } Data.Songs = SongData.GetAll(); }
public void LoadCard(IdolData data) { var holderObj = Instantiate(CardHolder); holderObj.GetComponent <RectTransform>().SetParent(CardParent); holderObj.SetActive(true); var cardObj = Instantiate(Resources.Load <GameObject>("Prefabs/IdolCard_IdolPicker")); cardObj.GetComponent <IdolCard>().SetIdol(data); cardObj.GetComponent <RectTransform>().SetParent(holderObj.transform); cardObj.transform.localScale = new Vector3(0.6f, 0.6f, 0.6f); cardObj.transform.localPosition = Vector3.zero; cardObj.SetActive(true); holderObj.SetActive(false); cards.Add(holderObj); }
public void ShowSpecificInfo(IdolData data) { InfoCard.SetIdol(data); MoreInfoPanel.SetActive(true); }
public void Remove(IdolData data) { pickedIdols.Remove(data); }