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++;
                }
            }
        }
Esempio n. 2
0
 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);
     }
 }
Esempio n. 4
0
        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);
        }