public void HandleTouchInput() { if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); if (touch.phase == TouchPhase.Began) { CheckIfTouchHitPlayerBall(touch); } if (currentBall != null) { StartArea startArea = MatchManager.Instance.GetCurrentPlayer().startArea; touchInSpawnPlane = MapScreenTouchToWorld(touch, startArea.transform.position); touchWorldTravel = Vector3.Distance(startArea.transform.position, touchInSpawnPlane); var collider = startArea.GetComponentInChildren <Collider>(); Vector3 closestPointToArea = collider.ClosestPointOnBounds(touchInSpawnPlane); currentBall.transform.position = closestPointToArea + new Vector3(0f, .5f, 0f); } if (touch.phase == TouchPhase.Ended && currentBall != null) { currentBall.SetStartPosition(); currentBall = null; } } }
// run public void RunTrial() { // initialization // reference to ExperimentManager experimentManagerObj = GameObject.Find("Experiment Manager"); experimentManager = experimentManagerObj.GetComponent <ExperimentManager>(); // reference to TiltManager tiltManagerObj = GameObject.Find("Tilt Manager"); tiltManager = tiltManagerObj.GetComponent <TiltManager>(); // prepare start area startAreaObj = (GameObject)Instantiate(startAreaPrefab, Vector3.zero, Quaternion.identity); startArea = startAreaObj.GetComponent <StartArea>(); startArea.SetStartAreaParameters(experimentalParameters); // 初期位置のサイズを設定・変更 // prepare target targetObj = (GameObject)Instantiate(targetPrefab, Vector3.zero, Quaternion.identity); target = targetObj.GetComponent <Target>(); target.Initialize(experimentalParameters); // 初期位置のサイズを設定・変更 // set cursor parameter in 1st trial if (experimentManager.iTrial == 1) { cursorObj = GameObject.Find("Cursor"); cursor = cursorObj.GetComponent <Cursor>(); cursor.SetCursorParameters(experimentalParameters); } // activate start area startAreaObj.SetActive(true); // next state state = stateStartAreaDisplayed; }
private void SpawnStartArea() { StartArea = Instantiate(StartArea, new Vector3(-30, 0, -15), new Quaternion(0, 0, 0, 0)); //voegt startarea floors toe aan floorlist foreach (Floor floor in StartArea.GetComponentsInChildren <Floor>()) { GameState.Instance.Player.FloorsList.Add(floor); } }
public void SetPlayerInfo(PlayerInfo playerInfo, StartArea startArea, PlayerScore playerScore) { this.playerInfo = playerInfo; this.startArea = startArea; this.playerScore = playerScore; this.playerScore.SetPlayerName(playerInfo.playerName); balls = CreatePlayerBalls(playerInfo); playerName = playerInfo.playerName; color = playerInfo.playerColor; this.playerScore.SetColor(color + new Color(0f, 0f, 0f, 0.3f)); }
private static void MovePlayerToSceneStartArea(GameObject player, string levelName) { GameObject levelContainer = GameObject.Find(levelName + "Container"); StartArea startArea = levelContainer.GetComponentInChildren <IBoundary>() as StartArea; if (startArea != null) { print("startArea found!"); Collider2D startAreaCollider2D = startArea.GetComponent <Collider2D>(); player.transform.position = startAreaCollider2D.bounds.center; } }
public void HandleWithTouch(Touch touch) { var position = touch.GetPosition(0); if (StartArea.Contains(position) && touch.GetState(0) == State.Pressing) { StartDragPosition = position; } else if (StartDragPosition != Vector2D.Unused && touch.GetState(0) != State.Released) { InvokeIfMovedFarEnough(position); } else { StartDragPosition = Vector2D.Unused; } }
public WinAnimation(Window window, Area target, int duration, Curve curve) : base(duration, null, null, window) { if (Window.IsNullOrNone(window)) { throw new ArgumentException("Given window was null or none"); } if (curve == null) { throw new ArgumentNullException("Given curve was null"); } Window = window; StartArea = window.Area; EndArea = target; AnimationCallback = t => window.Move(StartArea.Lerp(target, curve.Invoke(t))); CancelCallback = () => window.Move(StartArea); }
public void HandleWithMouse(Mouse mouse) { if (StartArea.Contains(mouse.Position) && mouse.GetButtonState(Button) == State.Pressing) { StartDragPosition = mouse.Position; } else if (StartDragPosition != Vector2D.Unused && mouse.GetButtonState(Button) != State.Released) { if (StartDragPosition.DistanceTo(mouse.Position) > PositionEpsilon) { Invoke(); } else { StartDragPosition = Vector2D.Unused; } } }
// Use this for initialization void Start() { scriptStart = GameObject.FindGameObjectWithTag("StartArea").GetComponent <StartArea>(); }
public void SetStartArea(StartArea startArea) { this.startArea = startArea; }