public TouchRect PushClickRect(Point point, IImage image, TouchTrigger touchTrigger, bool center = false) { var touchRect = new TouchRect(point.X, point.Y, image.Width, image.Height, touchTrigger, center); touchRects.Add(touchRect); return(touchRect); }
public bool HasTouchTriggerBrickBeenConnectedToAltar() { if (!AltarInstance) //needed because of AutoAdvance triggering this immediately instead of respecting the setup callbacks { return(false); } TouchTrigger[] triggersInScene = FindObjectsOfType <TouchTrigger>(); foreach (var touchTrigger in triggersInScene) { Brick brick = touchTrigger.GetComponent <Brick>(); if (!brick) { continue; } foreach (var connectedBrick in brick.GetConnectedBricks(false)) { if (connectedBrick.transform.root.gameObject != AltarInstance) { continue; } touchTriggerConnectedToAltar = touchTrigger; return(true); } } return(false); }
public TouchRect(int x, int y, int width, int height, TouchTrigger eventToTrigger, object state = null) { X = x; Y = y; Width = width; Height = height; EventToTrigger = eventToTrigger; State = state; }
public void FindWinBrick() { winAction = FindObjectsOfType <WinAction>().Where(action => action.CompareTag("TutorialRequirement")).FirstOrDefault(); if (!winAction) { Debug.LogError("In order to be completed, this tutorial expects exactly one 'WinAction' brick tagged as 'TutorialRequirement', to which a 'TouchTrigger' brick is connected"); return; } if (!TouchTrigger) { TouchTrigger = winAction.GetTargetingTriggers().First() as TouchTrigger; } if (!TouchTrigger || triggerCopy) { return; } GameObject touchTriggerObject = TouchTrigger.gameObject; Transform touchTriggerTransform = touchTriggerObject.transform; triggerCopy = Instantiate(touchTriggerObject, touchTriggerTransform.parent); // Remove one-way connectivity references var brick = triggerCopy.GetComponent <Brick>(); foreach (var part in brick.parts) { foreach (var field in part.connectivity.connectionFields) { field.connected.Clear(); for (var i = 0; i < field.connections.Length; i++) { field.connectedTo[i].field = null; field.connectedTo[i].indexOfConnection = -1; } } } // The original TouchTrigger is referenced by the previous tutorial steps so it has a // SceneObjectGuid for it and we need to get rid duplicate GUID for the the clone. var sceneObjGuid = triggerCopy.GetComponent <SceneObjectGUIDComponent>(); if (sceneObjGuid != null) { DestroyImmediate(sceneObjGuid); } triggerCopy.transform.localPosition = touchTriggerTransform.localPosition; triggerCopy.transform.localEulerAngles = touchTriggerTransform.localEulerAngles; triggerCopy.transform.localScale = touchTriggerTransform.localScale; triggerCopy.layer = touchTriggerObject.layer; triggerCopy.tag = touchTriggerObject.tag; triggerCopy.hideFlags = touchTriggerObject.hideFlags; triggerCopy.SetActive(false); }
public void FindWinBrick() { winAction = FindObjectsOfType <WinAction>().Where(action => action.CompareTag("TutorialRequirement")).FirstOrDefault(); if (!winAction) { Debug.LogError("In order to be completed, this tutorial expects exactly one 'WinAction' brick tagged as 'TutorialRequirement', to which a 'TouchTrigger' brick is connected"); return; } TouchTrigger = winAction.GetTargetingTriggers().First() as TouchTrigger; }
public void SelectTouchTriggerInScene() { TouchTrigger touchTrigger = DeletionCriteria.TouchTrigger; if (!touchTrigger) { return; } Selection.activeObject = touchTrigger.gameObject; (SceneView.sceneViews[0] as SceneView).Focus(); }
public void SelectTouchTriggerInScene() { TouchTrigger touchTrigger = DeletionCriteria.TouchTrigger; if (!touchTrigger) { Debug.LogError("This tutorial assumes that exactly one TouchTrigger object is active in the scene. Please add it."); return; } Selection.activeObject = touchTrigger.gameObject; (SceneView.sceneViews[0] as SceneView).Focus(); }
static int OnDestory(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); TouchTrigger obj = (TouchTrigger)ToLua.CheckObject <TouchTrigger>(L, 1); obj.OnDestory(); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int setParamStyle(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); TouchTrigger obj = (TouchTrigger)ToLua.CheckObject <TouchTrigger>(L, 1); int arg0 = (int)LuaDLL.luaL_checknumber(L, 2); obj.setParamStyle(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int OnPointerUp(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); TouchTrigger obj = (TouchTrigger)ToLua.CheckObject <TouchTrigger>(L, 1); UnityEngine.EventSystems.PointerEventData arg0 = (UnityEngine.EventSystems.PointerEventData)ToLua.CheckObject <UnityEngine.EventSystems.PointerEventData>(L, 2); obj.OnPointerUp(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int setTouchEnabled(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); TouchTrigger obj = (TouchTrigger)ToLua.CheckObject <TouchTrigger>(L, 1); bool arg0 = LuaDLL.luaL_checkboolean(L, 2); obj.setTouchEnabled(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int setLuaDoubleClick(IntPtr L) { try { ToLua.CheckArgsCount(L, 3); TouchTrigger obj = (TouchTrigger)ToLua.CheckObject <TouchTrigger>(L, 1); LuaFunction arg0 = ToLua.CheckLuaFunction(L, 2); object arg1 = ToLua.ToVarObject(L, 3); obj.setLuaDoubleClick(arg0, arg1); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public TouchRect(int x, int y, int width, int height, TouchTrigger eventToTrigger, bool pointIsCenter = false, object state = null) { if (pointIsCenter) { X = x - width / 2; Y = y - height / 2; } else { X = x; Y = y; } Width = width; Height = height; TouchEventToTrigger = eventToTrigger; State = state; }
static int setLuaCallback(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 3) { TouchTrigger obj = (TouchTrigger)ToLua.CheckObject <TouchTrigger>(L, 1); LuaFunction arg0 = ToLua.CheckLuaFunction(L, 2); object arg1 = ToLua.ToVarObject(L, 3); obj.setLuaCallback(arg0, arg1); return(0); } else if (count == 4) { TouchTrigger obj = (TouchTrigger)ToLua.CheckObject <TouchTrigger>(L, 1); LuaFunction arg0 = ToLua.CheckLuaFunction(L, 2); object arg1 = ToLua.ToVarObject(L, 3); LuaFunction arg2 = ToLua.CheckLuaFunction(L, 4); obj.setLuaCallback(arg0, arg1, arg2); return(0); } else if (count == 5) { TouchTrigger obj = (TouchTrigger)ToLua.CheckObject <TouchTrigger>(L, 1); LuaFunction arg0 = ToLua.CheckLuaFunction(L, 2); object arg1 = ToLua.ToVarObject(L, 3); LuaFunction arg2 = ToLua.CheckLuaFunction(L, 4); LuaFunction arg3 = ToLua.CheckLuaFunction(L, 5); obj.setLuaCallback(arg0, arg1, arg2, arg3); return(0); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: TouchTrigger.setLuaCallback")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public void UpdateTouchTriggerCriteriaReference() { winAction = FindObjectsOfType <WinAction>().Where(action => action.CompareTag("TutorialRequirement")).FirstOrDefault(); if (!winAction) { Debug.LogError("In order to be completed, this tutorial expects exactly one 'WinAction' brick tagged as 'TutorialRequirement', to which a 'TouchTrigger' brick is connected"); return; } if (!TouchTrigger) { TouchTrigger = winAction.GetTargetingTriggers().First() as TouchTrigger; if (!TouchTrigger) { Debug.LogError("'Touch Trigger' brick not found. In order to be completed, this tutorial expects exactly one 'WinAction' brick tagged as 'TutorialRequirement', to which a 'TouchTrigger' brick is connected"); return; } } ObjectReference referenceToBrick = new ObjectReference(); referenceToBrick.sceneObjectReference = new SceneObjectReference(); referenceToBrick.sceneObjectReference.Update(TouchTrigger.gameObject); var criteria = tutorialPage.paragraphs[2].criteria; foreach (var criterion in criteria) { if (criterion.criterion as RequiredSelectionCriterion) { (criterion.criterion as RequiredSelectionCriterion).SetObjectReferences(new List <ObjectReference>() { referenceToBrick }); EditorUtility.SetDirty(tutorialPage); AssetDatabase.SaveAssets(); break; } } }
public TouchRect(Rectangle rect, TouchTrigger eventToTrigger, bool pointIsCenter = false, object state = null) : this(rect.X, rect.Y, rect.Width, rect.Height, eventToTrigger, pointIsCenter, state) { }
public TouchRect(Point p, Point size, TouchTrigger eventToTrigger, bool pointIsCenter = false, object state = null) : this(p.X, p.Y, size.X, size.Y, eventToTrigger, pointIsCenter, state) { }
public TouchRect(Rectangle rect, TouchTrigger eventToTrigger, object state = null) : this(rect.X, rect.Y, rect.Width, rect.Height, eventToTrigger, state) { }
public TouchRect(Point p, int width, int height, TouchTrigger eventToTrigger, bool pointIsCenter = false, object state = null) : this(p.X, p.Y, width, height, eventToTrigger, pointIsCenter, state) { }