private bool CreateNewVirtualButtonFromBehaviour(VirtualButtonAbstractBehaviour newVBB) { Vector2 vector; Vector2 vector2; newVBB.CalculateButtonArea(out vector, out vector2); RectangleData area = new RectangleData { leftTopX = vector.x, leftTopY = vector.y, rightBottomX = vector2.x, rightBottomY = vector2.y }; VirtualButton virtualButton = this.mImageTarget.CreateVirtualButton(newVBB.VirtualButtonName, area); if (virtualButton == null) { UnityEngine.Object.Destroy(newVBB.gameObject); return(false); } IEditorVirtualButtonBehaviour behaviour = newVBB; behaviour.InitializeVirtualButton(virtualButton); this.mVirtualButtonBehaviours.Add(virtualButton.ID, newVBB); return(true); }
void IEditorImageTargetBehaviour.AssociateExistingVirtualButtonBehaviour(VirtualButtonAbstractBehaviour virtualButtonBehaviour) { VirtualButton virtualButtonByName = this.mImageTarget.GetVirtualButtonByName(virtualButtonBehaviour.VirtualButtonName); if (virtualButtonByName == null) { Vector2 vector; Vector2 vector2; virtualButtonBehaviour.CalculateButtonArea(out vector, out vector2); RectangleData area = new RectangleData { leftTopX = vector.x, leftTopY = vector.y, rightBottomX = vector2.x, rightBottomY = vector2.y }; virtualButtonByName = this.mImageTarget.CreateVirtualButton(virtualButtonBehaviour.VirtualButtonName, area); if (virtualButtonByName != null) { Debug.Log("Successfully created virtual button " + virtualButtonBehaviour.VirtualButtonName + " at startup"); virtualButtonBehaviour.UnregisterOnDestroy = true; } else { Debug.LogError("Failed to create virtual button " + virtualButtonBehaviour.VirtualButtonName + " at startup"); } } if ((virtualButtonByName != null) && !this.mVirtualButtonBehaviours.ContainsKey(virtualButtonByName.ID)) { IEditorVirtualButtonBehaviour behaviour = virtualButtonBehaviour; behaviour.InitializeVirtualButton(virtualButtonByName); this.mVirtualButtonBehaviours.Add(virtualButtonByName.ID, virtualButtonBehaviour); Debug.Log(string.Concat(new object[] { "Found VirtualButton named ", virtualButtonBehaviour.VirtualButton.Name, " with id ", virtualButtonBehaviour.VirtualButton.ID })); virtualButtonBehaviour.UpdatePose(); if (!virtualButtonBehaviour.UpdateAreaRectangle() || !virtualButtonBehaviour.UpdateSensitivity()) { Debug.LogError("Failed to update virtual button " + virtualButtonBehaviour.VirtualButton.Name + " at startup"); } else { Debug.Log("Updated virtual button " + virtualButtonBehaviour.VirtualButton.Name + " at startup"); } } }