public void ConversionIgnoresMissingMonoBehaviour() { TestTools.LogAssert.Expect(LogType.Warning, new Regex("missing")); var scene = EditorSceneManager.OpenScene("Packages/com.unity.entities/Unity.Entities.Hybrid.Tests/MissingMonoBehaviour.unity"); var world = new World("Temp"); GameObjectConversionUtility.ConvertScene(scene, world); world.Dispose(); }
void Start() { drawRoads = false; Points = new List <Vector3>(); carEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(car, World.Active); entityManager = World.Active.EntityManager; roadCounter = 0; pointRoadCounter = 0; }
// Start is called before the first frame update void Start() { // Create entity prefab from the game object hierarchy once _settings = GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, null); _prefabEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(prefab, _settings); _entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; createLocations(); createActions(); }
void Start() { playerEntityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(playerPrefab, World.Active); enemy1EntityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(enemy1Prefab, World.Active); playerBulletEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(bulletPrefab, World.Active); InitPlayer(); InitEnemySpawns(); }
// Start is called before the first frame update void Start() { ResourceEnt = GameObjectConversionUtility.ConvertGameObjectHierarchy(ResourcePrefab, World.Active); for (int i = 0; i < ResourcesAtStart; ++i) { SpawnResource(); } }
void Start() { sourceEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(prefab, World.Active); entityManager = World.Active.EntityManager; center = float3.zero; center.y += range.y; btn.onClick.AddListener(() => { SpawnSphere(); }); }
static T ConvertHierarchyAndUpdateTransformSystems <T>( GameObject gameObjectHierarchyRoot, EntityQueryDesc query, bool returnData ) where T : struct, IComponentData { if ( returnData && // i.e. value of post-conversion data will be asserted !query.All.Contains(ComponentType.ReadWrite <T>()) && !query.Any.Contains(ComponentType.ReadWrite <T>()) ) { Assert.Fail($"{nameof(query)} must contain {ComponentType.ReadWrite<T>()} in order to trigger update of transform system"); } var queryStr = query.ToReadableString(); using (var world = new World("Test world")) { // convert GameObject hierarchy GameObjectConversionUtility.ConvertGameObjectHierarchy(gameObjectHierarchyRoot, world); // trigger update of transform systems using (var group = world.EntityManager.CreateEntityQuery(query)) { using (var entities = group.ToEntityArray(Allocator.TempJob)) { Assert.That( entities.Length, Is.EqualTo(1), $"Conversion systems produced unexpected number of physics entities {queryStr}" ); } var localToWorldSystem = world.GetOrCreateSystem <EndFrameTRSToLocalToWorldSystem>(); var lastVersion = localToWorldSystem.GlobalSystemVersion; world.GetOrCreateSystem <EndFrameParentSystem>().Update(); world.GetOrCreateSystem <EndFrameCompositeRotationSystem>().Update(); world.GetOrCreateSystem <EndFrameCompositeScaleSystem>().Update(); world.GetOrCreateSystem <EndFrameParentScaleInverseSystem>().Update(); world.GetOrCreateSystem <EndFrameTRSToLocalToWorldSystem>().Update(); world.GetOrCreateSystem <EndFrameTRSToLocalToParentSystem>().Update(); world.GetOrCreateSystem <EndFrameLocalToParentSystem>().Update(); world.GetOrCreateSystem <EndFrameWorldToLocalSystem>().Update(); world.EntityManager.CompleteAllJobs(); using (var entities = group.ToEntityArray(Allocator.TempJob)) { Assume.That( entities.Length, Is.EqualTo(1), $"Updating transform systems resulted in unexpected number of physics entities {queryStr}" ); } if (!returnData) { return(default);
void Start() { if (useECS) { manager = World.Active.EntityManager; wallEntityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(wallPrefab, World.Active); floorEntityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(floorPrefab, World.Active); } InitializeMap(); }
void Awake() { using (BlobAssetStore blobAssetStore = new BlobAssetStore()){ var setting = GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, blobAssetStore); Entity entityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(AgentPrefab, setting); AgentManagerSystem agentManagerSystem = World.DefaultGameObjectInjectionWorld.GetOrCreateSystem <AgentManagerSystem>(); agentManagerSystem.CreateAgents(entityPrefab, CountAgents); //agentManagerSystem.Materials = Materials; } }
void Start() { // PrefabEntityをPrefabObjectから作成 this.prefabEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(prefab, World.Active); // 最初の一個を原点に作成(ディフォルト値がゼロなので) this.entities = new NativeArray <Entity>(1, Allocator.Persistent, NativeArrayOptions.UninitializedMemory); World.Active.EntityManager.Instantiate(this.prefabEntity, this.entities); this.textGUI.text = $"{this.entities.Length.ToString("0")} [Tapioka]"; }
private void Start() { _entity = GameObjectConversionUtility.ConvertGameObjectHierarchy(Prefab, World.Active); _entityManager = World.Active.EntityManager; for (var i = 0; i < Count; i++) { Invoke(nameof(Spawn), i * Interval); } }
// private static GameObject chooseEffectPrefab; public static void Init() { entityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy( Resources.Load("Character/CharacterEntity") as GameObject, GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, World.DefaultGameObjectInjectionWorld.GetOrCreateSystem <ConvertToEntitySystem>().BlobAssetStore)); presentationPrefab = Resources.Load("Character/Character1") as GameObject; // chooseEffectPrefab = Resources.Load("Effect/ChooseEffect") as GameObject; }
public void TestAudioSourceConversion() { var gameObject = new GameObject("TestObject"); gameObject.AddComponent <AudioSource>(); var entity = GameObjectConversionUtility.ConvertGameObjectHierarchy(gameObject, settings); Assert.IsTrue(m_Manager.HasComponent <Unity.Tiny.Audio.AudioSource>(entity)); Assert.IsTrue(m_Manager.HasComponent <Unity.Tiny.Audio.Audio2dPanning>(entity)); }
private void Start() { var world = World.DefaultGameObjectInjectionWorld; m_EntityManager = world.EntityManager; m_ProjectileEntityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(m_ProjectilePrefab, new GameObjectConversionSettings { DestinationWorld = World.DefaultGameObjectInjectionWorld }); }
// Start is called before the first frame update void Start() { m_world = World.DefaultGameObjectInjectionWorld; m_manager = m_world.EntityManager; //Permet de convertir une prefab Mono en entité GameObjectConversionSettings settings = GameObjectConversionSettings.FromWorld(m_world, null); m_entityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(m_prefab, settings); }
private void Start() { var settings = GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, null); entityFromPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(enemy, settings); entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; InvokeRepeating("Spawn", 0, spawnTime); }
private void Start() { entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; var settings = GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, null); enemyEntityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(enemyPrefab, settings); //entityManager.Instantiate(enemyEntityPrefab); SpawnWave(); }
protected virtual void Start() { // get reference to current EntityManager entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; // create entity prefab from the game object prefab, using default conversion settings var settings = GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, null); bulletEntityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(bulletPrefab, settings); }
void Start() { entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; entityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy( gameObjectPrefab, GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, null)); InstatiateGrid(xSize, ySize, spacing); }
void Start() { // initialize manager and bullet prefab for instantiate manager = World.Active.EntityManager; bulletEntityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(shot, World.Active); nextFire1 = Time.time + Done_GameController_stage1.startWait; nextFire2 = Time.time + Done_GameController_stage1.startWait + 10; nextFire3 = Time.time + Done_GameController_stage1.startWait + 20; haveAccelerate = false; }
private void SetupECSConversion() { if (mode == DemoMode.ECSConversion) { defaultWorld = World.DefaultGameObjectInjectionWorld; entityManager = defaultWorld.EntityManager; GameObjectConversionSettings settings = GameObjectConversionSettings.FromWorld(defaultWorld, null); unitEntityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(ECSPrefab, settings); } }
void Start() { prefabReference = prefabGameObject; using (BlobAssetStore blobAssetStore = new BlobAssetStore()) { var settings = GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, null); Entity prefabEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(prefabGameObject, settings); PrefabEntities.prefabEntity = prefabEntity; } }
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem) { using (BlobAssetStore blobAssetStore = new BlobAssetStore()) { Entity prefabEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(prefabGameObject , GameObjectConversionSettings.FromWorld(dstManager.World, blobAssetStore)); PrefabEntities.prefabEntity = prefabEntity; } }
protected override void OnStartRunning() { base.OnStartRunning(); setup = EnemySpawner.Instance.GetComponent <SnakeSetup>(); var settings = GameObjectConversionSettings.FromWorld(World, new BlobAssetStore()); headPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(setup.headPrefab, settings); tailPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(setup.tailPrefab, settings); }
//------------------------------------------ // 初期化 //------------------------------------------ #region ===== INITIALIZE ===== /// <summary> /// World 座標系で座標を扱うので注意!! /// </summary> /// <param name="_sys"></param> public void Initialize(Camera _mainCam, GameObject _mainPrefab, GameObject _stickPrefab) { m_mainCamera = _mainCam; E_Manager = World.Active.EntityManager; // UI生成 var parentEntity = E_Manager.Instantiate(GameObjectConversionUtility.ConvertGameObjectHierarchy(_mainPrefab, World.Active)); E_Manager.SetComponentData(parentEntity, new Translation { Value = new float3(0f, 0f, 0f) }); #if UNITY_EDITOR E_Manager.SetName(parentEntity, "Base"); #endif var childEntity = E_Manager.Instantiate(GameObjectConversionUtility.ConvertGameObjectHierarchy(_stickPrefab, World.Active)); E_Manager.SetComponentData(childEntity, new Translation { Value = new float3(0f, 0f, 0f) }); #if UNITY_EDITOR E_Manager.SetName(childEntity, "Stick"); #endif var relationEntity = E_Manager.CreateEntity(); #if UNITY_EDITOR E_Manager.SetName(relationEntity, "UI_Relation"); #endif m_uiTransData = new EcsUIData() { Parent = parentEntity, Child = childEntity, }; E_Manager.AddComponentData(relationEntity, m_uiTransData); // Size 設定 m_baseSpriteParam.PixelPerUnit = _mainCam.orthographicSize; m_baseSpriteParam.Radius = 10; m_stickerSpriteParam.PixelPerUnit = _mainCam.orthographicSize; m_stickerSpriteParam.Radius = 3; // Base の可動域の設定 Vector3 leftBottom = MainCam.ScreenToWorldPoint(new Vector3(0f, 0f, 0f)); Vector3 rightTop = MainCam.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height, 0f)); m_baseMoveRange_X = new Vector2(leftBottom.x, rightTop.x); m_baseMoveRange_Z = new Vector2(leftBottom.z, rightTop.z); // Stick の可動域 m_stickMoveRange = (BaseSpriteRadius - m_stickerSpriteParam.Radius);// Radius m_posY = leftBottom.y - 100; HideUI(); m_isInitialized = true; }
// Start is called before the first frame update void Start() { assetStore = new BlobAssetStore(); world = World.DefaultGameObjectInjectionWorld; entityManager = world.EntityManager; GameObjectConversionSettings settings = GameObjectConversionSettings.FromWorld(world, assetStore); Entity enemyEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(enemyPrefab, settings); Entity neutralEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(neutralPrefab, settings); projectileEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(projectilePrefab, settings); spawnedAfterEnemyDeathEntity = GameObjectConversionUtility.ConvertGameObjectHierarchy(spawnedAfterEnemyDeathPrefab, settings); for (int i = 0; i < numberOfEnemyPrefabs; i++) { var instance = entityManager.Instantiate(enemyEntity); float x = UnityEngine.Random.Range(-500, 500); float y = UnityEngine.Random.Range(-500, 500); float z = UnityEngine.Random.Range(-500, 500); float3 position = new float3(x, y, z); entityManager.SetComponentData(instance, new Translation { Value = position }); float randomSpeed = UnityEngine.Random.Range(1, 10) / 10f; entityManager.SetComponentData(instance, new MotionData { motionSpeed = randomSpeed }); } for (int i = 0; i < numberOfNeutralPrefabs; i++) { var instance = entityManager.Instantiate(neutralEntity); float x = UnityEngine.Random.Range(-500, 500); float y = UnityEngine.Random.Range(-500, 500); float z = UnityEngine.Random.Range(-500, 500); float3 position = new float3(x, y, z); entityManager.SetComponentData(instance, new Translation { Value = position }); float randomSpeed = UnityEngine.Random.Range(1, 10) / 10f; entityManager.SetComponentData(instance, new MotionData { motionSpeed = randomSpeed }); } }
private void Start() { var settings = GameObjectConversionSettings.FromWorld(World.DefaultGameObjectInjectionWorld, null); settings.ConversionFlags = GameObjectConversionUtility.ConversionFlags.AssignName; var entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; var entityInfos = _map.EntityInfos; var entityPrefabs = new Dictionary <GameObject, Entity>(); var entityInstances = new Entity[entityInfos.Length]; for (int i = 0; i < entityInfos.Length; i++) { var currentInfo = entityInfos[i]; if (!entityPrefabs.ContainsKey(currentInfo.Entity)) { var entityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(currentInfo.Entity, settings); entityPrefabs.Add(currentInfo.Entity, entityPrefab); } var instance = entityManager.Instantiate(entityPrefabs[currentInfo.Entity]); entityManager.SetComponentData(instance, new Translation { Value = new float3(currentInfo.Position.x, 0, currentInfo.Position.y) }); entityManager.SetComponentData(instance, new Rotation { Value = new quaternion(currentInfo.Rotation.x, currentInfo.Rotation.y, currentInfo.Rotation.z, currentInfo.Rotation.w) }); entityInstances[i] = instance; } for (int i = 0; i < entityInstances.Length; i++) { var infos = entityInfos[i].Components; var entity = entityInstances[i]; for (int j = 0; j < infos.Length; j++) { /* * Итак, у нас есть имя типа конвертера, энтитя, список энтитей, ворлд... что еще нужно? Да вроде бы все... * Нам тут при инстанцировании важно не знать что мы инстанцируем, поэтому всю олологику придется пхать в один класс */ var info = infos[j]; //var converterType = ComponentsTable.GetComponentData(info.ConverterTypeId); //var componentObject = // (JsonUtility.FromJson(info.SerializedData, converterType) as ComponentConvertion) // .Convert(entityInstances); //var type = componentObject.GetType(); //var mine = new MineCommand(){ TargetDruse = entity }; //entityManager.AddComponentData<MineCommand>(entity, mine); World.DefaultGameObjectInjectionWorld.AddComponentData(info.ConverterTypeId, entity, entityInstances, info.SerializedData); //entityManager.AddComponentObject(entity, componentObject); //entityManager.AddComponent() } } }
// Start is called before the first frame update void Start() { var prefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(cellPrefab, World.Active); var entityManager = World.Active.EntityManager; for (int x = 0; x < gridWidth; x++) { for (int y = 0; y < gridHeight; y++) { for (int z = 0; z < gridDepth; z++) { // Instantiate our cell prefab as a entity var cellInstance = entityManager.Instantiate(prefab); var position = transform.TransformPoint(x * 1.2f - 4.5f, y * 1.2f, z * 1.2f); CellTransition cTran = new CellTransition { value = 0.0f }; CellIndex cIndex; if (x == 0 || x == gridWidth - 1 || y == 0 || y == gridHeight - 1 || z == 0 || z == gridDepth - 1) { cIndex = new CellIndex { deadCell = true, index = cellCounter }; } else { cIndex = new CellIndex { deadCell = false, index = cellCounter }; } cellCounter++; entityManager.AddComponent <CellIndex>(cellInstance); entityManager.AddComponent <CellTransition>(cellInstance); entityManager.AddComponent <CellStatus>(cellInstance); entityManager.AddComponent <Scale>(cellInstance); //entityManager.AddComponent<CellNeighbors>(cellInstance); entityManager.SetComponentData(cellInstance, cTran); entityManager.SetComponentData(cellInstance, cIndex); entityManager.SetComponentData(cellInstance, new Translation { Value = position }); entityManager.SetComponentData(cellInstance, new Scale { Value = cIndex.deadCell ? 0.0f:1.0f }); } } } }
// Start is called before the first frame update void Awake() { manager = World.Active.EntityManager; random = new Random(); asteroidPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(AsteroidPrefab, World.Active); entities = new List <Entity>(); SpawnAsteroidECS(); SpawnAsteroidECS(); SpawnAsteroidECS(); }
void Start() { _defaultWorld = World.DefaultGameObjectInjectionWorld; _entityManager = _defaultWorld.EntityManager; GameObjectConversionSettings settings = GameObjectConversionSettings.FromWorld(_defaultWorld, null); _entityPrefab = GameObjectConversionUtility.ConvertGameObjectHierarchy(_prefab, settings); InstantiateEntityGrid(_xSize, _ySize, _spacing); }