public void HighlightGroundAhead() { GroundComponent groundAhead = GetGroundAhead(); if (currentHighlighted == groundAhead) { return; } if (currentHighlighted != null) { currentHighlighted.SetHighlight(false); } if (groundAhead == null) { return; } currentHighlighted = groundAhead; Color color = Color.white; if (currentHighlighted.IsOccupied()) { color = Color.red; } lineRenderer.material.color = color; lineRenderer.enabled = true; }
private void Start() { _ground = GameObject.FindGameObjectWithTag("Ground").GetComponent <GroundComponent>(); _groundMeshBuilder = _ground.transform.Find("Ground_Sprite").GetComponent <ColliderToMesh>(); _groundCollider = _groundMeshBuilder.GetComponent <EllipseCollider2D>(); _groundShadowMeshBuilder = _ground.transform.Find("GroundShadow_Sprite").GetComponent <ColliderToMesh>(); _groundShadowCollider = _groundShadowMeshBuilder.GetComponent <EllipseCollider2D>(); DOTween.To(() => _ground.Size, x => _ground.Size = x, 0.1f, _ground.Duration); }
private void OnCollisionEnter(Collision collision) { GroundComponent ground = collision.transform.GetComponent <GroundComponent>(); if (ground == null) { return; } ground.groundType = overwriteType; }
public void UnhighlightGroundAhead() { if (currentHighlighted == null) { return; } currentHighlighted.SetHighlight(false); currentHighlighted = null; lineRenderer.enabled = false; }
public GroundComponent GetGroundAhead() { Collider[] colliders = Physics.OverlapBox(MoveDetector.position, MoveDetector.localScale); foreach (Collider c in colliders) { GroundComponent groundComponent = c.GetComponent <GroundComponent>(); if (groundComponent != null) { return(groundComponent); } } return(null); }