//returns false if no free position was found public static bool findNewFreePosition(float width, float height, out Vector2 position) { var minPos = BoundsManager.getInternalMinPos(); var maxPos = BoundsManager.getInternalMaxPos(); for (int i = 0; i < maxNumberOfSpawnTries; ++i) { float x = Random.Range(minPos.x + width / 2, maxPos.x - width / 2); float y = Random.Range(minPos.y + height / 2, maxPos.y - height / 2); Bounds bounds = new Bounds(new Vector3(x, y, -1), new Vector3(width, height, 1)); bool collided = false; foreach (var enemy in enemies) { if (enemy.wouldCollide(bounds)) { collided = true; break; } } if (collided || PlayerScript.instance.wouldCollide(bounds)) { continue; } position = new Vector2(x, y); return(true); } position = new Vector2(0, 0); return(false); }
//Vector3 posOnScreen; private void Start() { cameraScroller = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <CameraScroll>(); gm = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameManagerScript>(); rb = GetComponent <Rigidbody>(); bounds = GetComponent <BoundsManager>(); }
private void Initialize() { calcInput = connectedMenus.calcInput; boundsManager = connectedMenus.boundsManager; pieceWiseControl = connectedMenus.pieceWiseControl; boundsManager = connectedMenus.boundsManager; saveLoadMenu = connectedMenus.saveLoadMenu; if (connectedMenus.boundsManager != null) { connectedMenus.boundsManager.Initialize(this); } connectedMenus.calcInput.Initialize(this); //tier 3 connectedMenus.outputMenu.Initialize(this); //Req: calcInput connectedMenus.pieceWiseControl.Initialize(this); //Req: calcInput calcInput.ChangeOutput(expressionSet.expressions[X]); //Req: calcInput connectedMenus.presetMenu.Initialize(this); connectedMenus.saveLoadMenu.Initialize(this); if (connectedMenus.particleAnimationSettings != null) { connectedMenus.particleAnimationSettings.Initialize(this); } }
public void Initialize() { if (Instance == null) { Instance = this; } calcInput = connectedMenus.calcInput; boundsManager = connectedMenus.boundsManager; pieceWiseControl = connectedMenus.pieceWiseControl; boundsManager = connectedMenus.boundsManager; saveLoadMenu = connectedMenus.saveLoadMenu; tournamentMenu = connectedMenus.tournamentMenu; submissionsMenu = connectedMenus.submissionsMenu; if (connectedMenus.boundsManager != null) { connectedMenus.boundsManager.Initialize(this); } connectedMenus.calcInput.Initialize(this); //tier 3 connectedMenus.outputMenu.Initialize(this); //Req: calcInput connectedMenus.pieceWiseControl.Initialize(this); //Req: calcInput calcInput.ChangeOutput(expressionSet.expressions["X"]); //Req: calcInput connectedMenus.presetMenu.Initialize(this); connectedMenus.saveLoadMenu.Initialize(this); if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name.Equals("3 - FreeParametrization")) { if (connectedMenus.tournamentMenu != null) { connectedMenus.tournamentMenu.Initialize(this); } if (connectedMenus.submissionsMenu != null) { connectedMenus.submissionsMenu.Initialize(this); } if (connectedMenus.mySubmissionsMenu != null) { connectedMenus.mySubmissionsMenu.Initialize(this); } } if (connectedMenus.particleAnimationSettings != null) { connectedMenus.particleAnimationSettings.Initialize(this); } }
internal KeyboardInputResponder(BoundsManager boundsManager) { this.boundsManager = boundsManager; }
private void Start() { gm = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameManagerScript>(); bounds = GetComponent <BoundsManager>(); }
private void Update() { //Debug.Log(BoundsManager.blockTop); if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); Vector2 touchPosition = Camera.main.ScreenToWorldPoint(touch.position); if (touch.phase == TouchPhase.Began) { startPosition = touchPosition; lastPosition = touchPosition; startedPosition = touch.position; lastedPosition = touch.position; trueStartPosition = touch.position; } //me.position = new Vector3(menus[activeMenu - 1].transform.position.x + (startPosition.x - touchPosition.x), me.position.y, me.position.z); else if (touch.phase == TouchPhase.Moved && canWeSlide && !MainManager.movingLocked) { //GameObject.Find("Text").GetComponent<UnityEngine.UI.Text>().text // = "(" + (menus[0].transform.position.x).ToString() + ") " + // "(" + (menus[1].transform.position.x).ToString() + ")"; if (!scrollStarted && Mathf.Abs(startedPosition.x - touch.position.x) > (Screen.width / 7)) { moveStarted = true; } if (!moveStarted && Mathf.Abs(startedPosition.y - touch.position.y) > (Screen.height / 30)) { scrollStarted = true; } if ((moveStarted && lastedPosition.x - touch.position.x > (Screen.width / 100) && (activeMenu != 5 || startedPosition.x - touch.position.x < 0)) || (moveStarted && touch.position.x - lastedPosition.x > (Screen.width / 100) && (activeMenu != 1 || touch.position.x - startedPosition.x < 0)) && canWeSlide) { lastedPosition = new Vector2(touch.position.x, lastedPosition.y); me.position = new Vector3(menus[activeMenu - 1].transform.position.x + (startedPosition.x - lastedPosition.x) * 0.05f / (Screen.width / 100), me.position.y, me.position.z); scrollAllowed = false; } else if (scrollStarted) { //if (startPosition.y > touchPosition.y && height / 2f + transform.position.y >= borders[0].position.y + borders[0].lossyScale.y / 2) //{ //} //if ((startPosition.y > touch.position.y && height/2f+ transform.position.y <= borders[0].position.y + borders[0].lossyScale.y/2 ) || startPosition.y < touch.position.y //*|| (startPosition.y > touch.position.y && transform.position.y - height / 2f >= borders[0].position.y - borders[0].lossyScale.y / 2)*/) if (!((BoundsManager.BlockTop() && startPosition.y > touchPosition.y) || (BoundsManager.BlockBottom() && startPosition.y < touchPosition.y))) { Transform activedMenu = menus[activeMenu - 1].transform; float newY = activedMenu.position.y - (lastPosition.y - touchPosition.y); activedMenu.position = new Vector3(activedMenu.position.x, newY, activedMenu.position.z); lastPosition = touchPosition; } } } else if (touch.phase == TouchPhase.Ended && canWeSlide && !MainManager.movingLocked) { //GameObject.Find("Text").GetComponent<UnityEngine.UI.Text>().text // = "[" + (startedPosition.x - touch.position.x).ToString() + "] " + // "[" + (touch.position.x).ToString() + "]"; if (startedPosition.x - touch.position.x > (Screen.width * 0.25f) && activeMenu != 5 && moveStarted) { //GameObject.Find("Guzik1").GetComponent<SpriteRenderer>().color = Color.magenta; SlideTo(activeMenu + 1); } else if (touch.position.x - startedPosition.x > (Screen.width * 0.25f) && activeMenu != 1 && moveStarted) { SlideTo(activeMenu - 1); } else { bool check = true; if (!moveStarted && !scrollStarted) { Vector2 touchPosition2 = Camera.main.ScreenToWorldPoint(touch.position); for (int i = 0; i < 5; i++) { if (Physics2D.OverlapPoint(touchPosition2) == guziory[i]) { SlideTo(i + 1); check = false; break; } } } if (check == true) { SlideTo(activeMenu); } } moveStarted = false; scrollStarted = false; scrollAllowed = true; } } }
private void Awake() { instance = this; }