protected override void OnUpdate() { var hp = playerGroup.GetComponentDataArray <HealthData>(); if (hp.Length == 0) { return; } if (hp[0].Value <= 0) { return; } timer += Time.deltaTime; var timeBetweenBullets = SurvivalShooterBootstrap.Settings.TimeBetweenBullets; var effectsDisplayTime = SurvivalShooterBootstrap.Settings.GunEffectsDisplayTime; var gun = gunGroup.GetGameObjectArray(); for (var i = 0; i < gun.Length; i++) { if (Input.GetButton("Fire1") && timer > timeBetweenBullets) { Shoot(i); } if (timer >= timeBetweenBullets * effectsDisplayTime) { DisableEffects(i); } } }
protected override void OnUpdate() { var mainCamera = Camera.main; if (mainCamera == null) { return; } var mousePos = Input.mousePosition; var camRayLen = SurvivalShooterBootstrap.Settings.CamRayLen; var floor = LayerMask.GetMask("Floor"); var go = playerGroup.GetGameObjectArray(); var rigidbody = playerGroup.GetComponentArray <Rigidbody>(); for (var i = 0; i < go.Length; i++) { var camRay = mainCamera.ScreenPointToRay(mousePos); RaycastHit floorHit; if (Physics.Raycast(camRay, out floorHit, camRayLen, floor)) { var position = go[i].transform.position; var playerToMouse = floorHit.point - new Vector3(position.x, position.y, position.z); playerToMouse.y = 0f; var newRot = Quaternion.LookRotation(playerToMouse); rigidbody[i].MoveRotation(newRot); } } }
protected override void OnUpdate() { var playerInput = playerInputGroup.GetComponentDataArray <PlayerInputData>(); if (playerInput.Length == 0) { return; } var mainCamera = Camera.main; if (mainCamera == null) { return; } var go = playerInputGroup.GetGameObjectArray(); var playerPos = go[0].transform.position; if (firstFrame) { offset = mainCamera.transform.position - playerPos; firstFrame = false; } var smoothing = SurvivalShooterBootstrap.Settings.CamSmoothing; var dt = Time.deltaTime; var targetCamPos = playerPos + offset; mainCamera.transform.position = Vector3.Lerp(mainCamera.transform.position, targetCamPos, smoothing * dt); }
protected override void OnUpdate() { var go = enemyGroup.GetGameObjectArray(); var audioSource = enemyGroup.GetComponentArray <AudioSource>(); var damaged = enemyGroup.GetComponentDataArray <DamagedData>(); for (var i = 0; i < go.Length; ++i) { audioSource[i].Play(); var particles = go[i].GetComponentInChildren <ParticleSystem>(); particles.transform.position = damaged[i].HitPoint; particles.Play(); } }
protected override void OnUpdate() { var player = playerGroup.GetGameObjectArray(); var playerHp = playerGroup.GetComponentDataArray <HealthData>(); var agent = enemyGroup.GetComponentArray <NavMeshAgent>(); var enemyHp = enemyGroup.GetComponentDataArray <HealthData>(); for (var i = 0; i < agent.Length; i++) { if (enemyHp[i].Value > 0 && playerHp[0].Value > 0) { agent[i].SetDestination(player[0].transform.position); } else { agent[i].enabled = false; } } }
protected override void OnUpdate() { var speed = SurvivalShooterBootstrap.Settings.PlayerMoveSpeed; var dt = Time.deltaTime; var go = inputGroup.GetGameObjectArray(); var input = inputGroup.GetComponentDataArray <PlayerInputData>(); var rigidbody = inputGroup.GetComponentArray <Rigidbody>(); for (var i = 0; i < go.Length; i++) { var move = input[i].Move; var movement = new Vector3(move.x, 0, move.y); movement = movement.normalized * speed * dt; var position = go[i].transform.position; var newPos = new Vector3(position.x, position.y, position.z) + movement; rigidbody[i].MovePosition(newPos); } }
protected override void OnUpdate() { if (group.GetEntityArray().Length > 0) { List <ParentSpawnerData> parentSpawnerDatas = new List <ParentSpawnerData>(10); EntityManager.GetAllUniqueSharedComponentData(parentSpawnerDatas); int lengthParentSpawner = parentSpawnerDatas.Count; for (int ParentSpawnerIndex = 1; ParentSpawnerIndex < lengthParentSpawner; ++ParentSpawnerIndex) { Entity parent = parentSpawnerDatas[ParentSpawnerIndex].Parent; float respawnTime = EntityManager.GetSharedComponentData <BonusSpawnerComponentData>(parent).bonusRespawnDelay; TimerData timer = new TimerData(); timer.Interval = respawnTime; EntityManager.AddComponentData(parent, timer); } GameObjectArray gameObjects = spawners.GetGameObjectArray(); int length = gameObjects.Length; for (int i = 0; i < length; ++i) { gameObjects[i].GetComponent <SpawnerComponent>().enabled = true; } } }