Beispiel #1
0
    private void makeBait()
    {
        Unity.Entities.EntityManager eM = World.DefaultGameObjectInjectionWorld.EntityManager;
        EntityArchetype bait            = eM.CreateArchetype(
            typeof(Translation),
            typeof(RenderMesh),
            typeof(Scale),
            typeof(Rotation),
            typeof(RenderBounds),
            typeof(bait),
            typeof(LocalToWorld));
        Entity entity = eM.CreateEntity(bait);

        eM.AddComponentData(entity, new Translation
        {
            Value = new float3(0, 0, 0)
        }
                            );
        eM.SetSharedComponentData(entity, new RenderMesh
        {
            mesh     = baitMesh,
            material = baitMaterial
        }
                                  );
    }
Beispiel #2
0
    private void makeEntity(int i)
    {
        Unity.Entities.EntityManager eM = World.DefaultGameObjectInjectionWorld.EntityManager;
        EntityArchetype boid            = eM.CreateArchetype(
            typeof(Translation),
            typeof(RenderMesh),
            typeof(Scale),
            typeof(Rotation),
            typeof(RenderBounds),
            typeof(Flock_settings),
            typeof(LocalToWorld));
        Entity entity = eM.CreateEntity(boid);

        eM.AddComponentData(entity, new Translation
        {
            Value = new float3(i % 24, (int)i / 4, 0)
        }
                            );
        eM.AddComponentData(entity, new Flock_settings
        {
            direction         = new float3(0, 0, 0),
            flockHeading      = new float3(0, 0, 0),
            flockCentre       = new float3(0, 0, 0),
            separationHeading = new float3(0, 0, 0),
            velocity          = new float3(0, 0, 0),
            index             = i,
            numFlockmates     = 0
        }
                            );
        eM.SetSharedComponentData(entity, new RenderMesh
        {
            mesh     = boidMesh,
            material = boidMaterial
        }
                                  );
        eM.AddComponentData(entity, new Scale
        {
            Value = .1f
        }
                            );
    }
        public void OnEntityCreated(Context f, Lockstep.UnsafeECS.Entity *pEntity)
        {
            if (pEntity == null)
            {
                Debug.LogError("OnEntityCreated null");
                return;
            }

            var pPrefab = EntityUtil.GetPrefab(pEntity);

            if (pPrefab == null)
            {
                return;
            }

            var assetId = pPrefab->AssetId;

            if (assetId == 0)
            {
                return;
            }
            Debug.Assert(_assetId2EntityPrefas.ContainsKey(assetId), "assetId" + assetId);
            var uEntity = _entityManager.Instantiate(_assetId2EntityPrefas[assetId]);

            _entityManager.AddComponentData(uEntity, pEntity->_ref);
            _id2UnityEntity[pEntity->LocalId] = uEntity;
            Transform3D *transform3D = EntityUtil.GetTransform3D(pEntity);

            if (transform3D != null)
            {
                _entityManager.SetComponentData(uEntity, new Unity.Transforms.LocalToWorld {
                    Value = float4x4.TRS(
                        transform3D->Position.ToVector3(),
                        quaternion.LookRotationSafe(transform3D->Forward.ToVector3(), Unity.Mathematics.math.up()),
                        new float3(1))
                });
            }

            if (!EntityViewUtil.HasView(pEntity))
            {
                return;
            }

            //bind view
            Debug.Assert(!_id2EntityView.ContainsKey(pEntity->_localId));
            var view = EntityViewUtil.BindEntityView(pEntity);

            view.BindEntity(pEntity);
            view.OnBindEntity();
            _id2EntityView[pEntity->_localId] = view;
        }
        public override void OnEntityCreated(Context f, Lockstep.UnsafeECS.Entity *pEntity)
        {
            if (pEntity == null)
            {
                int i = 0;
                Debug.LogError("OnEntityCreated null");
                return;
            }

            if (pEntity->TypeId != EntityIds.Boid)
            {
                //Debug.LogError("OnEntityCreated not a Enemy" + pEntity->EnumType());
                return;
            }

            var pBoid = (Boid *)pEntity;

            if (_entityPrefabs == null)
            {
                //TODO read config to setup Entity Prefabs
                var _spawners = GameObject.FindObjectsOfType <SSSamples.Boids.Authoring.SpawnRandomInSphere>();
                _entityManager = Unity.Entities.World.Active.EntityManager;
                _entityPrefabs = new Unity.Entities.Entity[_spawners.Length];
                for (int i = 0; i < _spawners.Length; i++)
                {
                    _entityPrefabs[i] = _spawners[i].PrefabEntity;
                }
            }

            var uEntity = _entityManager.Instantiate(_entityPrefabs[pBoid->AssetData.AssetId]);

            _id2GameObject[pEntity->LocalId] = uEntity;
            _entityManager.SetComponentData(uEntity, new Unity.Transforms.LocalToWorld {
                Value = float4x4.TRS(
                    pBoid->LocalToWorld.Position.ToVector3(),
                    //quaternion.identity,
                    quaternion.LookRotationSafe(pBoid->LocalToWorld.Forward.ToVector3(), Unity.Mathematics.math.up()),
                    new float3(1.0f, 1.0f, 1.0f))
            });
            _entityManager.AddComponentData(uEntity, pEntity->_ref);
        }
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new LogoPosition {
         Value = Value
     });
 }
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new SetBulletVelocity {
         TargetEntity = TargetEntity, TargetPosition = TargetPosition
     });
 }
Beispiel #7
0
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new PlayerReadyStateComponent {
         IsReady = IsReady
     });
 }
Beispiel #8
0
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new PaddleInputData {
         inputName = inputName
     });
 }
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new CameraControllerVS {
         Player = conversionSystem.GetPrimaryEntity(Player)
     });
 }
Beispiel #10
0
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new CurrentTurnActorTag {
     });
 }
Beispiel #11
0
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new PlayerViewTag {
     });
 }
Beispiel #12
0
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new RotatorVS {
         Speed = Speed
     });
 }
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new TimedSelfDestruct {
         Duration = Duration, TimeStarted = TimeStarted
     });
 }
Beispiel #14
0
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new CubeRotationComponent {
         speed = speed
     });
 }
Beispiel #15
0
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new LogoSpawner {
         PrefabEntity = conversionSystem.GetPrimaryEntity(PrefabEntity), InstanceCount = InstanceCount
     });
 }
 public void Convert(Unity.Entities.Entity entity, Unity.Entities.EntityManager dstManager, GameObjectConversionSystem conversionSystem)
 {
     dstManager.AddComponentData(entity, new PlayerWeaponData {
         BulletType = BulletType, BulletTypePrefab = conversionSystem.GetPrimaryEntity(BulletTypePrefab)
     });
 }