Exemplo n.º 1
0
 private void FixedUpdate()
 {
     if ((playerTransform.position - _transform.position).magnitude >= Player.instance.despawnDistance)
     {
         QueueActionPlayer action = new QueueActionPlayer(false, new CubeStruct(new Vector3Int((int)_transform.position.x, (int)_transform.position.y, (int)_transform.position.z), id));
         Player.instance.actionsQueue.Enqueue(action);
     }
 }
Exemplo n.º 2
0
    private void FixedUpdate()
    {
        foreach (var cubeStruct in grid[false])
        {
            if ((_transform.position - cubeStruct.position).magnitude < despawnDistance)
            {
                var action = new QueueActionPlayer(true, cubeStruct);
                actionsQueue.Enqueue(action);
            }
        }
NoContains:
        while (actionsQueue.Count > 0)
        {
            var queueAction = actionsQueue.Dequeue();
            if (queueAction.add)
            {
                foreach (var cubeStruct in grid[false])
                {
                    if (queueAction.cube.position == cubeStruct.position)
                    {
                        goto Contains;
                    }
                }
                goto NoContains;
Contains:
                grid[false].Remove(queueAction.cube);
                grid[true].Add(queueAction.cube);
                cube.GetComponent <Cube>().SetID(queueAction.cube.id);
                dictObjects[queueAction.cube.position] = PoolManager.instance.Spawn(cube, queueAction.cube.position, Quaternion.identity);
            }
            else
            {
                foreach (var cubeStruct in grid[true])
                {
                    if (queueAction.cube.position == cubeStruct.position)
                    {
                        goto Contains;
                    }
                }
                goto NoContains;
Contains:
                grid[true].Remove(queueAction.cube);
                grid[false].Add(queueAction.cube);
                PoolManager.instance.Despawn(dictObjects[queueAction.cube.position]);
                dictObjects[queueAction.cube.position] = null;
            }
        }
    }