protected override void Execute(List <GameEntity> entities) { foreach (var miner in entities) { var minerTarget = m_context.game.GetEntityWithId(miner.target.value); if (!minerTarget.isOreVein) { continue; } if (minerTarget.isDestroyed) { continue; } var availableBranches = GetVeinAvailableBranches(minerTarget); while (availableBranches <= 0) { var branchPos = minerTarget.position.value; branchPos.y -= 1f; branchPos.x += Random.Range(-1.5f, 1.5f); OreFactory.CreateOreBranch(m_context.game, minerTarget, branchPos); availableBranches++; } } }
protected override void Execute(List <GameEntity> entities) { foreach (var branch in entities) { var orePiece = OreFactory.CreateOrePiece(m_context, branch.position.value); orePiece.AddRoomChild(branch.roomChild.id); var yFallPos = branch.position.value.y + Random.Range(-.6f, -.25f); orePiece.AddFallToGround(yFallPos); } }
protected override void Execute(List <GameEntity> entities) { foreach (var branch in entities) { var vein = m_context.GetEntityWithId(branch.parent.value); if (vein.isDestroyed) { continue; } OreFactory.CreateOreBranch(m_context, vein, branch.position.value); } }
public void AddOre(GameEntity ore) { if (m_oreCollected.IndexOf(ore.id.value) == -1) { m_oreCollected.Add(ore.id.value); } var value = 5; //ore.oreValue.value; var weight = 2; //ore.weight.value; OreFactory.CreateCollectedOrePiece("Copper", value, weight); }