/// <summary> /// Internal method to prepare all events. /// </summary> void PrepEvents() { // if we don't have a alayout, then this fails. the importer should do this APLayout layout = gameObject.GetComponent <APLayout>(); if (layout != null) { setLayoutObject(gameObject.GetComponent <APLayout>()); } }
/// <summary> /// Sets the layout object. /// </summary> /// <param name="layout_object">Layout object.</param> public void setLayoutObject(APLayout layout_object) { if (_layoutObject != null) { //remove events this.OnNeedMaxVisibleItems -= _layoutObject.OnNeedMaximumVisibleItems; this.OnPositionForAttachmentPoint -= _layoutObject.OnPositionForAttachmentPoint; this.OnRotationForAttachmentPoint -= _layoutObject.OnRotationForAttachmentPoint; this.OnPositionForItemByIndex -= _layoutObject.OnPositionForItemByIndex; this.OnRotationForItemByIndex -= _layoutObject.OnRotationForItemByIndex; } _layoutObject = layout_object; //init delegate methods on object this.OnNeedMaxVisibleItems += _layoutObject.OnNeedMaximumVisibleItems; this.OnPositionForAttachmentPoint += _layoutObject.OnPositionForAttachmentPoint; this.OnRotationForAttachmentPoint += _layoutObject.OnRotationForAttachmentPoint; this.OnPositionForItemByIndex += _layoutObject.OnPositionForItemByIndex; this.OnRotationForItemByIndex += _layoutObject.OnRotationForItemByIndex; invalidateLayout(); }