// Called when the build phase is over. Activates physics for objects that need it, etc. public void StartGame() { gameBegan = true; foreach (GameObject gameObj in objectsToEnable) { if (gameObj != null) { gameObj.SetActive(true); } } // Find all InteractiveObjects in the game and BeginGame on each one GameObject[] allInteractiveObjects = GameObject.FindGameObjectsWithTag("InteractiveObject"); foreach (GameObject gameObj in allInteractiveObjects) { InteractiveObject interObj = gameObj.GetComponent <InteractiveObject>(); interObj.BeginGame(); } // Get the final positions of all player placed objects invController.GetFinalValues(); invController.RestrictInventory(true); // No player actions after beginning dragScript.ResetDraggedObjectValues(); dragScript.enabled = false; adjustScript.HideButtons(); adjustScript.enabled = false; wireEditor.enabled = false; }
// Called by this script and also inventory items when clicked (whose click position will just be 0) public void SetNewDraggedObject(GameObject newDraggedObject, Vector2 clickPosition) { AudioController.Instance.audioSource.PlayOneShot(takeSound); Vector3 newClickPos = new Vector3(clickPosition.x, clickPosition.y, 0); // When dragging hide the modifyButtons adjustObjectsScript.HideButtons(); draggedObject = newDraggedObject; // Remember some variables since we are going to change them previousColor = draggedObject.transform.GetComponent <SpriteRenderer>().material.color; previousLayer = draggedObject.GetComponent <Renderer>().sortingLayerName; previousZCord = draggedObject.transform.position.z; draggedObject.GetComponent <Renderer>().sortingLayerName = "AboveAll"; draggedObject.transform.GetComponent <SpriteRenderer>().material.color = draggingColor; // Used when setting draggedObject's transform.position so that where the player clicked // is where the object is being dragged offset = new Vector3(draggedObject.transform.position.x, draggedObject.transform.position.y, 0) - newClickPos; }