public void AddNewColumn(OreColumn oreColumn) { audioSourceEffects.PlayOneShot(addColumnSound); var columnHolder = InstantiateColumn(oreColumn); columnHolder.transform.SetAsFirstSibling(); columnHolder.transform.localPosition = new Vector3(-1 * _prefabSize.x, 0, 0); var transformAccessArray = new TransformAccessArray(_game.GetOreColumns().Count); for (int i = 0; i < spawnPoint.transform.childCount; i++) { transformAccessArray.Add(spawnPoint.transform.GetChild(i)); } new MoveColumnsLeftJob { PrefabWidth = _prefabSize.x } .Schedule(transformAccessArray) .Complete(); transformAccessArray.Dispose(); }
public void RemoveOre_GetRemovedOre_ReturnsNull() { var oreColumn = OreColumn.GenerateRandomColumn(1); oreColumn.Remove(5); Assert.IsNull(oreColumn.Get(5)); }
public void RemoveOre_DecreasesCount() { var oreColumn = OreColumn.GenerateRandomColumn(1); var count = oreColumn.Count; oreColumn.Remove(5); Assert.AreEqual(count - 1, oreColumn.Count); }
public void ApplyGravity_OneOreRemoved_GetRemovedOreReturnsSome_GetTopOreReturnsNull() { var oreColumn = OreColumn.GenerateRandomColumn(1); oreColumn.Remove(5); oreColumn.ApplyGravity(); Assert.IsNotNull(oreColumn.Get(5)); Assert.IsNull(oreColumn.Get(OreColumn.ColumnSize - 1)); }
private GameObject InstantiateColumn(OreColumn oreColumn) { var columnHolder = new GameObject("OreColumn"); columnHolder.transform.SetParent(spawnPoint, false); for (int j = 0; j < oreColumn.Count; j++) { var ore = oreColumn.Get(j); var oreInstance = Instantiate(Array.Find(orePrefabMaps, map => map.oreType == ore.type).prefab, columnHolder.transform, false); oreInstance.GetComponent <OreController>().Init(ore, _game.OnOreClicked); oreInstance.transform.localPosition = new Vector3(0, j * _prefabSize.y, 0); } return(columnHolder); }
public void ApplyGravity_NoOreRemoved_NothingChanges() { var oreColumn = OreColumn.GenerateRandomColumn(1); var oresList = new List <Ore>(); for (int i = 0; i < oreColumn.Count; i++) { oresList.Add(oreColumn.Get(i)); } oreColumn.ApplyGravity(); for (int i = 0; i < oreColumn.Count; i++) { Assert.AreEqual(oresList[i], oreColumn.Get(i)); } }
public void GenerateRandomColumn_RespectsOreTypes() { var oreTypes = 3; var oreColumn = OreColumn.GenerateRandomColumn(oreTypes); var oreTypesVerified = new List <OreType>(); for (int i = 0; i < oreColumn.Count; i++) { var ore = oreColumn.Get(i); if (!oreTypesVerified.Contains(ore.type)) { oreTypesVerified.Add(ore.type); } } Assert.LessOrEqual(oreTypesVerified.Count, oreTypes); }
public void GenerateRandomColumn_HasProperHeight() { var oreColumn = OreColumn.GenerateRandomColumn(1); Assert.AreEqual(oreColumn.Count, OreColumn.ColumnSize); }