private MappingButton CreateButton(float x, float y) { GameObject button = Instantiate(buttonPrefab, new Vector3(0, 0, 0), Quaternion.identity) as GameObject; button.transform.SetParent(this.transform, false); MappingButton mappingButton = button.GetComponent <MappingButton>(); mappingButton.duration = this.GetSpeedInputVal(); mappingButton.InitializeFirstButton(x, y); return(mappingButton); }
// Update is called once per frame private void Update() { this.UpdatePositionLabel(Input.mousePosition.x, Input.mousePosition.y); this.UpdateTimerLabel(); if (this.mapTimer.IsRunning && Input.GetMouseButtonDown(0)) { this.curPosition[0] = Input.mousePosition.x; this.curPosition[1] = Input.mousePosition.y; this.curTime = this.mapTimer.ElapsedMilliseconds; this.curButton = this.CreateButton(this.curPosition[0], this.curPosition[1]); this.lastPosition = Input.mousePosition; } if (Input.GetMouseButton(0) && this.curButton != null) { Vector3 diffPos = Input.mousePosition - this.lastPosition; this.curButton.dragRegion.gameObject.transform.localScale += new Vector3(((Mathf.Abs(diffPos.x) + Mathf.Abs(diffPos.y)) * 1 / 60f * scaleSensitivity), 0f, 0f); this.curButton.dragRegion.gameObject.transform.localPosition += ((diffPos) * scaleSensitivity * 0.75f); this.curButton.InitializeLastButton(Input.mousePosition.x, Input.mousePosition.y); this.lastPosition = Input.mousePosition; } else if (Input.GetMouseButtonUp(0) && curButton != null) { ButtonItem button = new ButtonItem(); button.time = this.curTime + this.GetSpeedInputVal(); button.position[0] = this.curPosition[0]; button.position[1] = this.curPosition[1]; button.isDrag = this.curButton.isDrag; button.endPosition[0] = this.lastPosition.x; button.endPosition[1] = this.lastPosition.y; this.mappedButtons.Add(button.time, button); this.curButton = null; this.lastPosition = new Vector3(); } if (curButton != null && curButton.buttonTimer.ElapsedMilliseconds > curButton.duration) { ButtonItem button = new ButtonItem(); button.time = this.curTime + this.GetSpeedInputVal(); button.position[0] = this.curPosition[0]; button.position[1] = this.curPosition[1]; button.isDrag = this.curButton.isDrag; button.endPosition[0] = this.lastPosition.x; button.endPosition[1] = this.lastPosition.y; this.mappedButtons.Add(button.time, button); curButton.DestroyButton(); this.curButton = null; this.lastPosition = new Vector3(); } }