// Init void Awake() { edc = GetComponent <EnemyDataController>(); sceneObjects.transform.localScale = PlayAreaRealSize.GetScaleFactor(); var playerData = JsonUtility.FromJson <PlayerData>((Resources.Load("Database/player_data") as TextAsset).text); Debug.Log("Level" + currentLevel); levelData = playerData.levels.Where(x => x.level_id == currentLevel).FirstOrDefault(); }
/** * A normal member allowing to choose a Soldier during the gameplay * @param sender object. * @param e InteractableObjectEventArgs. */ private void ObjectChoosenToPlay(object sender, InteractableObjectEventArgs e) { if (GameManager.Instance.gamemode == GameManager.GameMode.PLAYER_TURN && canBeChosenToPlay) { Debug.Log("Player turn"); GameManager.Instance.SetRolePlayMode(); sceneObjects.localScale *= 2.5f / PlayAreaRealSize.GetFactor(); VRTK_DeviceFinder.PlayAreaTransform().position = transform.position; //teleport to soldier place soldierModel.SetActive(false); soldierCollider.SetActive(false); UsableItem.GetComponent <VRTK_InteractableObject>().isGrabbable = true; weaponController.setPosition(transform.position.x, transform.position.z); weaponController.collider.enabled = true; // collider control } }
/** * A normal member to be called after the user is done with playing in the role of the chosen Soldier. */ public void AfterFinishedAction() { sceneObjects.localScale /= 2.5f / PlayAreaRealSize.GetFactor(); VRTK_DeviceFinder.PlayAreaTransform().position = Vector3.zero; soldierModel.SetActive(true); soldierCollider.SetActive(true); UsableItem.GetComponent <VRTK_InteractableObject>().isGrabbable = false; UsableItem.transform.position = originalItemPosition; UsableItem.transform.rotation = originalItemRotation; UsableItem.GetComponent <Shooter>()?.ResetWeapon(); weaponController.collider.enabled = false; // disabling collider to avoid disabling a weapon when collider is moving around the playground // if gamemode is MENU (= level ended), enemy turn cannot be executed if (GameManager.Instance.gamemode != GameManager.GameMode.MENU) { GetComponent <Enemy>().EnemyController(); } }
/** * Pomocna funkcia ktora zmensi / zvacsi objekt podla velkost plochy vo VR * @param obj objekt ktory bude zmenseny/zvaceny podla velkosti sceny */ private static GameObject ScaleObject(GameObject obj) { obj.transform.localScale = Vector3.Scale(obj.transform.localScale, PlayAreaRealSize.GetScaleFactor()); return(obj); }