private void AttachGrainToPlayer(PollenGrain grain) { GrainCount++; SeekAvailableAnchor(); PlayerPollenColor = grain.GrainColor; grain.transform.parent = _availableAnchor; grain.AttachedToPlayer = true; grain.MovingTowardPlayer = true; }
private void OnTriggerExit2D(Collider2D collider) { PollenGrain _grain = collider.gameObject.GetComponent <PollenGrain> (); if (_grain && !_grain.AttachedToPlayer) { _grain.Pushed = false; } }
private void SpawnGrain(Transform grainParent) { GameObject _newGrain = Instantiate(PollenGrain, grainParent.position, Quaternion.identity, grainParent); _newGrain.transform.GetChild(0).gameObject.layer = 12; PollenGrain _grain = _newGrain.GetComponent <PollenGrain> (); _grain.GrainColor = PollenColor; }
private void OnTriggerStay2D(Collider2D collider) { float _colDist = Vector3.Magnitude(collider.transform.position - transform.parent.position); PollenGrain _grain = collider.gameObject.GetComponent <PollenGrain> (); if (collider.tag == "Movable" && _colDist <= _pushLength) { _grain.Pushed = true; ApplyForce(collider, _colDist); } }
private void DetachAllGrain() { GrainCount = 0; foreach (Transform child in PollenContainer.transform) { if (child.childCount != 0) { PollenGrain _grain = child.GetComponentInChildren <PollenGrain> (); _grain.AttachedToPlayer = false; _grain.tag = "Movable"; _grain.Fading = true; } } PlayerPollenColor = PollenColor.None; }
private void OnTriggerEnter2D(Collider2D collider) { PollenGrain _grain = collider.gameObject.GetComponent <PollenGrain> (); if (_grain) { if (!_grain.AttachedToPlayer && _grain.OnFlower) { if (_grain.GrainColor != PlayerPollenColor) { DetachAllGrain(); } if (GrainCount < PollenContainer.transform.childCount) { AttachGrainToPlayer(_grain); } } } }
private void OnTriggerEnter2D(Collider2D collider) { PlayerPollen _player = collider.gameObject.GetComponent <PlayerPollen> (); PollenGrain _grain = collider.gameObject.GetComponent <PollenGrain> (); if (_player) { if (_player.PlayerPollenColor == Bud.PollenColor && PlayerPollen.GrainCount > 0) { Bud.EnablePlatforms(); _player.DestroyOneGrain(); } } else if (_grain) { if (_grain.GrainColor == Bud.PollenColor) { Destroy(_grain.gameObject); Bud.EnablePlatforms(); } } }