Exemplo n.º 1
0
        protected override void OnUpdate()
        {
            Entity hitEntity;

            Entities
            .WithoutBurst()
            .WithStructuralChanges()
            .ForEach((
                         Entity entity,
                         int entityInQueryIndex,
                         ref MouseInput mouseInput
                         ) => {
                if (mouseInput.primaryAction == 0)
                {
                    return;
                }

                hitEntity = RaycastUtils.Raycast(
                    mouseInput.mousePosition,
                    out RaycastHit hit,
                    buildPhysicsWorldSystem
                    );

                if (hitEntity == Entity.Null)
                {
                    return;
                }

                if (EntityManager.HasComponent <SettlerTag>(hitEntity))
                {
                    SelectUnit.Create(hitEntity);
                    // EntityManager.AddComponentData<Selected>(hitEntity, new Selected {});
                    mouseInput.primaryAction = 0;

                    return;
                }

                HexCoordinates coordinates = CoordinatesService.GetCoordinatesFromPosition(hit.Position);
                Entity selectedEntity      = HexCellService.FindBy(coordinates);

                if (EntityManager.HasComponent <Selected>(selectedEntity))
                {
                    SelectCommand.Remove(coordinates);
                }
                else
                {
                    SelectCommand.Create(coordinates);
                }

                mouseInput.primaryAction = 0;
            })
            .Run();
        }
Exemplo n.º 2
0
 public void SelectCity()
 {
     SelectCommand.Create(cityData.hexCoordinates);
 }
Exemplo n.º 3
0
 public void Execute()
 {
     SelectCommand.Create(cityData.hexCoordinates);
 }