示例#1
0
    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);
        }
    }
示例#7
0
 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;
         }
     }
 }