コード例 #1
0
    void SpawnIcon()
    {
        if (!searching && IconPool.PoolAvailable())
        {
            StartCoroutine(FindSpawnPoint());
        }

        if (pickedSpawnPosition != Vector3.zero && IconPool.PoolAvailable())
        {
            GameObject icon = IconPool.GetAvailableObject();
            icon.GetComponent <InteractableIcon>().Reset();

            icon.transform.position = pickedSpawnPosition;

            IconSnapToGrid iconSnap = icon.GetComponent <IconSnapToGrid>();
            iconSnap.Init();
            if (!iconSnap.TrySnapIcon())
            {
                IconPool.ReturnGameObjectToPool(iconSnap.gameObject);
            }

            icon = null;
            StopAllCoroutines();
            searching           = false;
            pickedSpawnPosition = Vector3.zero;
        }
    }
コード例 #2
0
 private void Awake()
 {
     if (iconPool == null)
     {
         throw new System.ArgumentNullException("Missing icon pool, please assign one in the inspector.");
     }
     iconSnap = GetComponent <IconSnapToGrid>();
     iconSnap.Init();
     iconSnap.TrySnapIcon();
     saveData = FindObjectOfType <SaveData>();
 }
コード例 #3
0
 public void Reset()
 {
     if (randomizer == null)
     {
         randomizer = GetComponent <RandomizeSprite>();
     }
     if (iconSnapScript == null)
     {
         iconSnapScript = GetComponent <IconSnapToGrid>();
     }
     IsClickedOn  = false;
     HoverOverBin = false;
     randomizer.Randomize();
     StartCoroutine(GrowIn());
     popIn.Play();
 }
コード例 #4
0
 // Use this for initialization
 void Start()
 {
     randomizer     = GetComponent <RandomizeSprite>();
     iconSnapScript = GetComponent <IconSnapToGrid>();
 }