void VerifyCompletion(Gem gem, SecondaryObjectiveSocket socket) { foreach (SecondaryObjectiveSocket s in allSockets) { if (s.IsActive && !s.IsFull) { return; } } SecondaryObjectiveManager.Instance?.CompleteSecondaryObjective(); }
private bool IsAboveGoodContainer() { ContactFilter2D filter = new ContactFilter2D(); filter.layerMask = gameObject.layer; filter.useTriggers = true; List <Collider2D> results = new List <Collider2D>(); _circleCollider2D.OverlapCollider(filter, results); foreach (Collider2D collider in results) { Conteiner container = collider.GetComponent <Conteiner>(); if (container != null) { if (_objectColor.HasFlag(container.ObjectColor)) { Conteiner.OnColorMatch?.Invoke(container.ObjectColor); if (tapParticles) { tapParticles.Play(); } _unmatched = false; return(true); } else { _unmatched = true; } } SecondaryObjectiveSocket socket = collider.GetComponent <SecondaryObjectiveSocket>(); if (socket != null) { if (_objectColor.HasFlag(socket.SocketColor) && !socket.IsFull) { socket.InstallGem(this); if (tapParticles) { tapParticles.Play(); } _unmatched = false; return(true); } else { _unmatched = true; } } } return(false); }