void DestroyDirectionIndicator() { if (directionIndicatorCurrent != null) { Destroy(directionIndicatorCurrent.gameObject); directionIndicatorCurrent = null; } }
/// <summary> /// Spawns the direction indicator on the current selected SuperCube /// </summary> void SpawnDirectionIndicator() { if (directionIndicatorCurrent != null) { DestroyDirectionIndicator(); } directionIndicatorCurrent = Instantiate(directionIndicatorPrefab, selectedManipulationScript.transform.position + selectedManipulationScript.DirectionToClosestCardinal(transform.up) * 3, transform.rotation).GetComponent <DirectionIndicatorScript>(); selectedManipulationScript.DirectionToClosestCardinal(transform.up); directionIndicatorCurrent.GreySprites(!selectorReset); //finds arrow directions int forwardRot = 0; int rightRot = 0; Vector3 cardinalForward = selectedManipulationScript.DirectionToClosestCardinal(transform.forward); Vector3 cardinalRight = selectedManipulationScript.DirectionToClosestCardinal(transform.right); if (selectedManipulationScript.CanRotateOnCardinalAxis(cardinalForward)) { forwardRot = 1; } else if (selectedManipulationScript.CanMoveOnCardinalAxis(cardinalForward)) { forwardRot = 2; } if (selectedManipulationScript.CanRotateOnCardinalAxis(cardinalRight)) { rightRot = 1; } else if (selectedManipulationScript.CanMoveOnCardinalAxis(cardinalRight)) { rightRot = 2; } directionIndicatorCurrent.SetArrows(rightRot, rightRot, forwardRot, forwardRot); }
private IEnumerator CoroutineExpandDirectionIndicator(PointerEventData eventData, DirectionIndicatorScript directionScript) { yield return(new WaitForFixedUpdate()); directionScript.OnPointerClick(eventData); }
private IEnumerator CoroutineHandleConditionalInstructionDrop(PointerEventData eventData, DirectionIndicatorScript directionScript, ComparisonTypeIndicatorScript comparisonScript) { yield return(new WaitForFixedUpdate()); yield return(CoroutineExpandDirectionIndicator(eventData, directionScript)); yield return(new WaitUntil(() => directionScript.HasBeenSetManually == true)); yield return(new WaitForSeconds(0.2f)); ExpandComparisonTypeIndicator(eventData, comparisonScript); }