public IEnumerator haul_task() { Human human = CreateHuman(); Vector2Int itemSpawnPosition = _spawnPosition + new Vector2Int(-10, 0); Vector2Int targetPosition = _spawnPosition - new Vector2Int(-10, 0); WoodLog item = Factory.Create <WoodLog>("wood log", itemSpawnPosition); Task task = new HaulTask(item, targetPosition, human.MotionComponent, human.InventoryComponent); yield return(AddTaskAndWaitUntilFinished(task, human.CommandProcessor)); //test inventory if (human.InventoryComponent.HasItem(item) == true) { Assert.Fail(); } //test item position if (item.Position != targetPosition) { Assert.Fail(); } human.Die(); item.Destroy(); Assert.Pass(); }
public void spawn_item_on_traversable_tile() { WoodLog item = Factory.Create <WoodLog>("wood log", _spawnPosition); if (check_item_initialization <WoodLog>(item, false) == false) { Assert.Fail(); } item.Destroy(); Assert.Pass(); }
public void spawn_item_on_tile_with_item() { WoodLog item1 = Factory.Create <WoodLog>("wood log", _spawnPosition); WoodLog item2 = Factory.Create <WoodLog>("wood log", _spawnPosition); if (check_item_initialization <WoodLog>(item2, true) == false) { Assert.Fail(); } item1.Destroy(); item2.Destroy(); Assert.Pass(); }
public void spawn_item_on_not_traversable_tile() { Tile t = Utils.TileAt(_spawnPosition); t.SetTraversability(false); WoodLog item = Factory.Create <WoodLog>("wood log", _spawnPosition); if (check_item_initialization <WoodLog>(item, true) == false) { Assert.Fail(); } item.Destroy(); t.SetTraversability(true); Assert.Pass(); }
public IEnumerator test_item_destroy() { WoodLog item = Factory.Create <WoodLog>("wood log", _spawnPosition); _OnDestroyedWasCalled = false; item.OnDestroyed += OnItemDestroy; item.Destroy(); yield return(new WaitForEndOfFrame()); if (check_item_destroy <WoodLog>(item) == false) { Assert.Fail(); } Assert.Pass(); }
public IEnumerator haul_to_item_holder_task() { Human human = CreateHuman(); WoodLog item = Factory.Create <WoodLog>("wood log", _spawnPosition); Vector2Int holderPosition = _spawnPosition + new Vector2Int(0, 10); ItemHolder holder = Factory.Create <ItemHolder>("plank wall", holderPosition); Task task = new HaulToItemHolderTask(item, holder, human.MotionComponent, human.InventoryComponent); yield return(AddTaskAndWaitUntilFinished(task, human.CommandProcessor)); //check human position if ((human.MotionComponent.GridPosition - holder.Position).magnitude > 1) { Assert.Fail(); } //check item position if (item.Position != holder.Position) { Assert.Fail(); } //check holder inventory if (holder.Items.Contains(item) == false) { Assert.Fail(); } //check human inventory if (human.InventoryComponent.HasItem(item)) { Assert.Fail(); } human.Die(); holder.Destroy(); item.Destroy(); Assert.Pass(); }
private void SpawnItem(string name) { WoodLog w = Factory.Create <WoodLog>(name, Utils.CursorToCoordinates()); }