Ejemplo n.º 1
0
    private void spawnTargetEntity(float x, float y, float z)
    {
        var info = new TurretInfo();

        info.definition = turret;
        info.facing     = transform.forward;
        info.position   = new float3(x, y, z);
        TurretInstantiator.instantiate(team, info, null);
    }
Ejemplo n.º 2
0
    private Entity instantiate(Entity template)
    {
        var entityManager = World.Active.EntityManager;
        var entity        = entityManager.Instantiate(template);

        entityManager.SetComponentData(
            entity,
            new Translation {
            Value = transform.TransformPoint(0, 0, 0)
        }
            );
        entityManager.SetComponentData(
            entity,
            new Rotation {
            Value = transform.rotation
        }
            );
        TeamTag tag = unitDef.team.toComponent();

        entityManager.SetComponentData(
            entity,
            new PhysicsVelocity {
            Linear = unitDef.initialVelocity
        }
            );
        tag.AssignToEntity(entityManager, entity);

        var baseRotation = entityManager.GetComponentData <Rotation>(entity);

        foreach (TurretInfo turret in unitDef.turretPositionInfo)
        {
            Entity turretEntity = TurretInstantiator.instantiate(unitDef.team, turret, baseRotation);
            entityManager.AddComponent(turretEntity, typeof(LocalToParent));
            entityManager.AddComponent(turretEntity, typeof(Parent));
            entityManager.SetComponentData <Parent>(turretEntity, new Parent {
                Value = entity
            });
        }

        return(entity);
    }
Ejemplo n.º 3
0
 void Start()
 {
     TurretInstantiator.instantiate(team, definition, null);
 }