Exemplo n.º 1
0
    /// <summary>
    /// create a job for transform position all enimies with speed
    /// </summary>
    private void JobWorkToTransform()
    {
        NativeArray <float>  speedArr             = new NativeArray <float>(enemies.Count, Allocator.TempJob);
        TransformAccessArray transformAccessArray = new TransformAccessArray(enemies.Count);

        for (int i = 0; i < enemies.Count; i++)
        {
            speedArr[i] = enemies[i].speed;
            transformAccessArray.Add(enemies[i].transform);
        }

        UpdateTransform job = new UpdateTransform
        {
            deltaTime  = Time.deltaTime,
            speedArray = speedArr,
            targetX    = _targetX,
        };

        JobHandle jobHandle = job.Schedule(transformAccessArray);

        jobHandle.Complete();

        speedArr.Dispose();
        transformAccessArray.Dispose();
    }
Exemplo n.º 2
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else if (Instance != this)
     {
         Destroy(gameObject);
     }
 }
Exemplo n.º 3
0
        private void _UpdateTransform()
        {
            Matrix newMatrix = Matrix.Identity;

            newMatrix.Scale(_Scale, _Scale);
            newMatrix.Translate(-_StartX, -_StartY);

            Matrix = newMatrix;

            UpdateTransform?.Invoke();
        }