public void Init(LoopPoint point, Vector3 position, bool addbutton = false, LoopPointButton target = null) { m_addbutton = addbutton; m_loopPoint = point; m_rect = GetComponent <RectTransform>(); m_defaultSize = m_rect.sizeDelta.x; if (!m_addbutton) { m_defaultAnchorArrow = m_rect.GetChild(0).GetComponent <RectTransform>().anchoredPosition.y; LoopEditor.inst.pointMove += UpdateAngle; } else { m_target = target; LoopEditor.inst.pointMove += FindMiddleFromTarget; } SetPosition(position); }
void SpawnAllButtons() { LoopPoint lastPoint = null; LoopPointButton firstButton = null; LoopPointButton lastButton = null; int index = 0; foreach (LoopPoint lp in PlayerLoop.inst.GetLoopPoints()) { LoopPointButton b = Instantiate(m_prefab_loopPointButton, m_LoopPointsButtonContainer); b.Init(lp, lp.GetPosition()); if (lastPoint != null && PlayerLoop.inst.GetSize() < m_maxLoopPoint) { Vector3 position = (lastPoint.GetPosition() - lp.GetPosition()) * .5f + lp.GetPosition(); Instantiate(m_prefab_addLoopPointButton, m_LoopPointsButtonContainer).Init(lastPoint, position, true, b); } if (lastButton != null) { lastButton.SetAngle(b); } else { firstButton = b; } lastPoint = lp; lastButton = b; index++; } if (PlayerLoop.inst.GetSize() < m_maxLoopPoint) { Vector3 position0 = (lastPoint.GetPosition() - PlayerLoop.inst.GetPointAt(0).GetPosition()) * .5f + PlayerLoop.inst.GetPointAt(0).GetPosition(); Instantiate(m_prefab_addLoopPointButton, m_LoopPointsButtonContainer).Init(lastPoint, position0, true, firstButton); } lastButton.SetAngle(firstButton); }
public void SetAngle(LoopPointButton target) { m_target = target; UpdateAngle(); }