public int WinAreaNumber = 1; // 中獎區編號 private void Start() { // 初始給值 BallFirstPos = Ball.transform.position; PinFirstPos = Pin.transform.position; BallList.Add(Ball); ReplayM = this.GetComponent <ReplayManager>(); // 上方設定 TopCapsule.SetActive(false); int horizontalOffset = int.Parse(HorizontalField.text); int verticalOffset = int.Parse(VerticalField.text); TopCapsuleInfo tempInfo = new TopCapsuleInfo(); tempInfo.capsule = GameObject.Instantiate <GameObject>(TopCapsule); tempInfo.HorizontalOffset = horizontalOffset; tempInfo.VerticalOffset = verticalOffset; tempInfo.capsule.SetActive(true); tempInfo.capsule.transform.SetParent(TopCapsule.GetComponentInParent <Transform>()); tempInfo.NameID = 0; TopCapsuleList.Add(tempInfo); MoveTopCapsule(); ResetPhysicMaterial(); }
public void ChangeIndexTopCapsule() { SelectCapsuleIndex = TopCapsuleDD.value; if (TopCapsuleList.Count > SelectCapsuleIndex) { TopCapsuleInfo info = TopCapsuleList[SelectCapsuleIndex]; HorizontalField.text = info.HorizontalOffset.ToString(); VerticalField.text = info.VerticalOffset.ToString(); } }
public void MoveTopCapsule() { if (TopCapsuleList.Count > SelectCapsuleIndex) { TopCapsuleInfo info = TopCapsuleList[SelectCapsuleIndex]; int horizontalOffset = int.Parse(HorizontalField.text); int verticalOffset = int.Parse(VerticalField.text); info.HorizontalOffset = horizontalOffset; info.VerticalOffset = verticalOffset; float x = Mathf.Lerp(TopCapsule_MinMaxHorizontal.x, TopCapsule_MinMaxHorizontal.y, (float)(horizontalOffset + 20) / 40); // 來回 -20 ~ 20 之間 float y = Mathf.Lerp(TopCapsule_MinMaxVertical.x, TopCapsule_MinMaxVertical.y, 1 - (float)(verticalOffset) / 30); // 來回 0 ~ 30 之間 info.capsule.transform.position = new Vector3(x, y, info.capsule.transform.position.z); } }
// Top Capsule 相關 public void AddTopCapsule() { int lastText = TopCapsuleList[TopCapsuleList.Count - 1].NameID; TopCapsuleDD.options.Add(new Dropdown.OptionData(text: (lastText + 1).ToString())); TopCapsuleInfo tempInfo = new TopCapsuleInfo(); tempInfo.capsule = GameObject.Instantiate <GameObject>(TopCapsule); tempInfo.HorizontalOffset = 0; tempInfo.VerticalOffset = 0; tempInfo.capsule.SetActive(true); tempInfo.capsule.transform.SetParent(TopCapsule.GetComponentInParent <Transform>()); tempInfo.NameID = lastText + 1; TopCapsuleList.Add(tempInfo); // 改變 List HorizontalField.text = "0"; VerticalField.text = "0"; SelectCapsuleIndex = TopCapsuleList.Count - 1; TopCapsuleDD.value = SelectCapsuleIndex; MoveTopCapsule(); }