Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 public bool TryPick(IdolData data)
 {
     if (!ForcePickExists || (ForcePickExists && pickedIdols.Count < ForcePickCount))
     {
         pickedIdols.Add(data);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 3
0
 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;
         }
     }
 }
Esempio n. 4
0
 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);
 }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
 public void ShowSpecificInfo(IdolData data)
 {
     InfoCard.SetIdol(data);
     MoreInfoPanel.SetActive(true);
 }
Esempio n. 9
0
 public void Remove(IdolData data)
 {
     pickedIdols.Remove(data);
 }