public static void MoveObjectToScene(GameObject go, SceneField targetScene) { if (targetScene.SceneName.Length < 1) { return; } Scene s = SceneManager.GetSceneByName(targetScene.SceneName); Debug.Log(s); if (s != null) { SceneManager.MoveGameObjectToScene(go, s); SaveObjManager.MoveItem(go, targetScene.SceneName, go.transform.position); } else { SaveObjManager.MoveItem(go, targetScene.SceneName, go.transform.position); Destroy(go); } }
protected override void onTrigger(GameObject interactor) { if (interactor != null) { if (interactor.GetComponent <Attackable> ().Alive == false) { return; } TriggerUsed = true; if (TriggerID != "none") { RoomDirection realDir = dir; string realTarget = TargetTriggerID; if (TargetTriggerID == "none") { realTarget = TriggerID; } if (realDir == RoomDirection.AUTO) { float diffX = transform.position.x - interactor.transform.position.x; float diffY = transform.position.y - interactor.transform.position.y; if (Mathf.Abs(diffX) > Mathf.Abs(diffY)) { if (diffX < 0f) { realDir = RoomDirection.LEFT; } else { realDir = RoomDirection.RIGHT; } } else { if (diffY > 0f) { realDir = RoomDirection.UP; } else { realDir = RoomDirection.DOWN; } } } if (interactor.GetComponent <PersistentItem>() != null) { SaveObjManager.MoveItem(interactor, NextSceneName, realTarget, realDir); } } else if (Vector2.Equals(Vector2.zero, newPos) && (interactor.GetComponent <PersistentItem>() != null)) { SaveObjManager.MoveItem(interactor, NextSceneName, interactor.gameObject.transform.position); } else if (interactor.GetComponent <PersistentItem>() != null) { SaveObjManager.MoveItem(interactor, NextSceneName, newPos); } if (true) //interactor.GetComponent<CharacterBase> ().IsCurrentPlayer) { //GameManager.Instance.LoadRoom (sceneName); { Initiate.Fade(NextSceneName, Color.black, 5.0f); } Destroy(interactor); } }
protected virtual void changeRoom(GameObject go) { if (go.GetComponent <BasicMovement> ()) { if (go.GetComponent <Attackable> ().Alive == false) { return; } TriggerUsed = true; if (TriggerID != "none") { RoomDirection realDir = dir; string realTarget = TargetTriggerID; if (TargetTriggerID == "none") { realTarget = TriggerID; } if (realDir == RoomDirection.NEUTRAL) { float diffX = transform.position.x - go.transform.position.x; float diffY = transform.position.y - go.transform.position.y; if (Mathf.Abs(diffX) > Mathf.Abs(diffY)) { if (diffX < 0f) { realDir = RoomDirection.LEFT; } else { realDir = RoomDirection.RIGHT; } } else { if (diffY > 0f) { realDir = RoomDirection.UP; } else { realDir = RoomDirection.DOWN; } } } if (go.GetComponent <PersistentItem>() != null) { SaveObjManager.MoveItem(go, sceneName, realTarget, realDir); } } else if (Vector2.Equals(Vector2.zero, newPos) && (go.GetComponent <PersistentItem>() != null)) { SaveObjManager.MoveItem(go, sceneName, go.gameObject.transform.position); } else if (go.GetComponent <PersistentItem>() != null) { SaveObjManager.MoveItem(go, sceneName, newPos); } if (go.GetComponent <BasicMovement> ().IsCurrentPlayer) { //GameManager.Instance.LoadRoom (sceneName); Initiate.Fade(sceneName, Color.black, 5.0f); } Destroy(go); } else { } }