예제 #1
0
        public TutorialFinger CreateFinger(Transform parent, TutorialFingerData fingerData)
        {
            if (Fingers.ContainsKey(fingerData.Id))
            {
                RemoveFinger(fingerData.Id);
            }
            GameObject     fingerObj = GameObject.Instantiate(Services.ResourceService.Prefabs.GetPrefab("finger"), parent, false);
            TutorialFinger finger    = fingerObj.GetComponent <TutorialFinger>();

            finger.Setup(fingerData);
            Fingers.Add(finger.Data.Id, finger);
            return(finger);
        }
예제 #2
0
        public TutorialFinger CreateFinger(string tutorialPositionObjectName, TutorialFingerData fingerData)
        {
            var positionObject = FindPositionObject(tutorialPositionObjectName);

            if (positionObject)
            {
                return(CreateFinger(positionObject.transform, fingerData));
            }
            else
            {
                StartCoroutine(TryCreateFingerNTimes(20, tutorialPositionObjectName, fingerData));
            }
            return(null);
        }
예제 #3
0
 private IEnumerator TryCreateFingerNTimes(int count, string tutorialPositionObjectName, TutorialFingerData fingerData)
 {
     for (int i = 0; i < count; i++)
     {
         var positionObject = FindPositionObject(tutorialPositionObjectName);
         if (positionObject)
         {
             CreateFinger(positionObject.transform, fingerData);
             yield break;
         }
         else
         {
             yield return(new WaitForSeconds(.1f));
         }
     }
 }