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; } }
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>(); }
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(); }
// Use this for initialization void Start() { randomizer = GetComponent <RandomizeSprite>(); iconSnapScript = GetComponent <IconSnapToGrid>(); }