}//end RecieverCode //for answer check, grab if "E_State" != Right, sort of deal. public void ResetError() {///Debug.LogWarning("Resetting value now"); //reset value of answer check state = E_State.Empty; if (heldObj != null) {//only apply if reciever/filled && type == E_Type.Filled //Debug.Log("null check works"); //if in doubt, go nuclear and reload scene instead. Lazy wise NewRocketPuzzle heldRef = heldObj.GetComponent<NewRocketPuzzle>(); heldRef.type = E_Type.Puzzle;//reset value of answer check if (resetPos != null) { }//jnc cautious check else Debug.LogWarning("variable error - resetPos is null"); //reset heldObj to (mostly) initial settings heldObj.transform.position = resetPos; heldObj.tag = "Draggable"; heldObj = null; }//endif type = E_Type.Reciever; }//end ResetError
}//end OnTriggerEnter2D ///3D Trigger alt, ignore for now, unless 'switching' back to 3D "Pieces". //In which case, lazy take off the "2D" Tag for now, collider wise ;) //this function is called, to 'set' the held object on a 'holder' object. private void RecieverCode(NewRocketPuzzle refee, GameObject obj) { refee.heldObj = obj;//Fill in the held obj, for later reference heldObj.transform.position = transform.position;//this heldObj.tag = "Untagged";//detag to default tag if (refee.order != order) {//if not an exact pair state = E_State.Wrong;//Debug.Log("Answer is Wrong!"); } else {//if the same state = E_State.Right;//Debug.Log("Answer is Right!"); }//endif }//end RecieverCode
}//end awake //OnTriggerEnter2D is called when 2D Collider ENTERS a trigger collider, collider wise. private void OnTriggerEnter2D(Collider2D collision) { if (type == E_Type.Reciever) {//draggable check if (collision.gameObject.tag == "Draggable") {//script reference check type = E_Type.Filled; NewRocketPuzzle refee = collision.gameObject.GetComponent<NewRocketPuzzle>(); if (refee != null)//error check wise, hack though it may be {//puzzle script, function call wise. collision.gameObject.transform.position = gameObject.transform.position;//IE: This position! refee.RecieverCode(refee, collision.gameObject);//refee.heldObj = collision.gameObject; ///type = E_Type.Filled;//fixes a "put two things in one" bug. }//endif }//endif }//endif //else, no code is called, puzzle type wise ;) }//end OnTriggerEnter2D