Пример #1
0
        public mg_ss_EItemTypes GetNextFruitToQueue(mg_ss_OrderSystem p_orderSystem)
        {
            mg_ss_EItemTypes result = mg_ss_EItemTypes.NULL;
            mg_ss_OrderStep  firstIncompleteStep = FirstIncompleteStep;

            if (p_orderSystem.IsItemSpawnedOnConveyor(firstIncompleteStep.FruitType))
            {
                LastStepQueued++;
                mg_ss_OrderStep mg_ss_OrderStep2 = null;
                if (LastStepQueued < Steps.Count && LastStepQueued < Steps.Count)
                {
                    mg_ss_OrderStep2 = Steps[LastStepQueued];
                }
                if (mg_ss_OrderStep2 != null && mg_ss_OrderStep2.State == mg_ss_EOrderStepState.INCOMPLETE)
                {
                    result = mg_ss_OrderStep2.FruitType;
                }
            }
            else
            {
                LastStepQueued = Steps.IndexOf(firstIncompleteStep);
                result         = firstIncompleteStep.FruitType;
            }
            return(result);
        }
Пример #2
0
 public override void Initialize(mg_ss_EItemTypes p_itemType, mg_ss_IItemMovement p_movement, Vector2 p_spawnPointBottom, Vector2 p_spawnPointTop, float p_screenWidth, bool p_chaosItem)
 {
     m_chaosItem = p_chaosItem;
     base.Initialize(p_itemType, p_movement, p_spawnPointBottom, p_spawnPointTop, p_screenWidth, p_chaosItem);
     if (m_chaosItem)
     {
         SetInitialPosition(new Vector2(p_spawnPointBottom.x, Random.Range(p_spawnPointBottom.y, p_spawnPointTop.y)));
     }
 }
Пример #3
0
        public void SpawnChoasFruit(float p_delay)
        {
            mg_ss_EItemTypes mg_ss_EItemTypes2 = CalculateRandomFruit();

            if (mg_ss_EItemTypes2 != mg_ss_EItemTypes.NULL)
            {
                mg_ss_ItemMovement_Bounce p_movement = new mg_ss_ItemMovement_Bounce(mg_ss_ItemObject.CalculateRandomBounceVelocity());
                m_gameLogic.ItemManager.SpawnItem(mg_ss_EItemTypes2, p_movement, p_delay, p_chaosItem: true);
            }
        }
Пример #4
0
        public mg_ss_EItemTypes GetNextFruitToQueue()
        {
            mg_ss_EItemTypes nextFruitToQueue = m_currentOrder.GetNextFruitToQueue(this);

            if (nextFruitToQueue == mg_ss_EItemTypes.NULL)
            {
                nextFruitToQueue = m_nextOrder.GetNextFruitToQueue(this);
            }
            return(nextFruitToQueue);
        }
Пример #5
0
        public void CompleteStep(mg_ss_EItemTypes p_fruitType)
        {
            mg_ss_OrderStep mg_ss_OrderStep2 = Steps.Find((mg_ss_OrderStep step) => step.State == mg_ss_EOrderStepState.INCOMPLETE && step.FruitType == p_fruitType);

            if (mg_ss_OrderStep2 != null)
            {
                mg_ss_OrderStep2.State = mg_ss_EOrderStepState.COMPLETE;
                OrderCompleted         = FirstIncompleteStep == null;
            }
        }
Пример #6
0
 public virtual void Initialize(mg_ss_EItemTypes p_itemType, mg_ss_IItemMovement p_movement, Vector2 p_spawnPointBottom, Vector2 p_spawnPointTop, float p_screenHalfWidth, bool p_chaosItem)
 {
     m_movement        = p_movement;
     m_screenHalfWidth = p_screenHalfWidth;
     ItemFinished      = false;
     ItemType          = p_itemType;
     CollideState      = mg_ss_ECollideState.NONE;
     Animation         = mg_ss_EItemAnimation.IDLE;
     SetInitialPosition(p_spawnPointBottom);
 }
Пример #7
0
        private void QueuePowerUp(mg_ss_ItemGeneratorWeightingData p_weighting)
        {
            mg_ss_EItemTypes mg_ss_EItemTypes2 = mg_ss_ItemGeneratorData.CalculateItemType(p_weighting.Tag);

            if (mg_ss_EItemTypes2 != mg_ss_EItemTypes.NULL)
            {
                m_queuedPowerups.Enqueue(mg_ss_EItemTypes2);
                m_powerUpCooldown = m_generationData.PowerUpData.SpawnCooldown;
            }
        }
        public static mg_ss_EItemTypes CalculateItemType(string p_tag)
        {
            mg_ss_EItemTypes mg_ss_EItemTypes2 = mg_ss_EItemTypes.NULL;

            switch (p_tag)
            {
            case "apple":
                return(mg_ss_EItemTypes.APPLE);

            case "banana":
                return(mg_ss_EItemTypes.BANANA);

            case "blackberry":
                return(mg_ss_EItemTypes.BLACKBERRY);

            case "blueberry":
                return(mg_ss_EItemTypes.BLUEBERRY);

            case "fig":
                return(mg_ss_EItemTypes.FIG);

            case "grapes":
                return(mg_ss_EItemTypes.GRAPES);

            case "mango":
                return(mg_ss_EItemTypes.MANGO);

            case "orange":
                return(mg_ss_EItemTypes.ORANGE);

            case "peach":
                return(mg_ss_EItemTypes.PEACH);

            case "pineapple":
                return(mg_ss_EItemTypes.PINEAPPLE);

            case "raspberry":
                return(mg_ss_EItemTypes.RASPBERRY);

            case "strawberry":
                return(mg_ss_EItemTypes.STRAWBERRY);

            case "anvil":
                return(mg_ss_EItemTypes.ANVIL);

            case "bomb":
                return(mg_ss_EItemTypes.BOMB);

            case "clock":
                return(mg_ss_EItemTypes.CLOCK);

            default:
                return(mg_ss_EItemTypes.NULL);
            }
        }
Пример #9
0
        private void QueueNextItemInOrder(float p_delay)
        {
            m_randomTierItemsLeft = Random.Range(m_generationData.MinRandom, m_generationData.MaxRandom + 1);
            mg_ss_EItemTypes nextFruitToQueue = m_orderSystem.GetNextFruitToQueue();

            if (nextFruitToQueue == mg_ss_EItemTypes.NULL)
            {
                base.QueueRandomFruit(p_delay);
            }
            else
            {
                SpawnItem_Linear(nextFruitToQueue, p_delay);
            }
        }
Пример #10
0
        private void QueueFromWeighting(mg_ss_ItemGeneratorWeightingData p_weightingData, float p_delay)
        {
            mg_ss_EItemTypes mg_ss_EItemTypes2 = mg_ss_ItemGeneratorData.CalculateItemType(p_weightingData.Tag);

            if (mg_ss_EItemTypes2 == mg_ss_EItemTypes.NULL)
            {
                QueueRandomFruit(p_delay);
            }
            else if (p_weightingData.BounceVelocity > 0f)
            {
                SpawnItem_Bounce(mg_ss_EItemTypes2, p_delay, p_weightingData.BounceVelocity);
            }
            else
            {
                SpawnItem_Linear(mg_ss_EItemTypes2, p_delay);
            }
        }
Пример #11
0
        public void SpawnItem(mg_ss_EItemTypes p_itemType, mg_ss_IItemMovement p_movement, float p_timeAdjustment, bool p_chaosItem = false)
        {
            GameObject resource = GetResource(p_itemType);

            if (resource != null)
            {
                MinigameSpriteHelper.AssignParentTransform(resource, m_transformParent);
                mg_ss_ItemObject component = resource.GetComponent <mg_ss_ItemObject>();
                m_spawnedItems.Add(component);
                Vector2 p_spawnPointTop    = m_spawnTop.position;
                Vector2 p_spawnPointBottom = m_spawnBottom.position;
                p_spawnPointBottom.x = p_spawnPointTop.x;
                component.Initialize(p_itemType, p_movement, p_spawnPointBottom, p_spawnPointTop, m_screenHalfWidth, p_chaosItem);
                component.UpdatePosition(p_timeAdjustment, ConveyorSpeed);
                CheckHighlight(component);
            }
        }
Пример #12
0
        private GameObject GetResource(mg_ss_EItemTypes p_itemType)
        {
            mg_ss_EResourceList assetTag = mg_ss_EResourceList.GAME_ITEM_APPLE;

            switch (p_itemType)
            {
            case mg_ss_EItemTypes.APPLE:
                assetTag = mg_ss_EResourceList.GAME_ITEM_APPLE;
                break;

            case mg_ss_EItemTypes.BANANA:
                assetTag = mg_ss_EResourceList.GAME_ITEM_BANANA;
                break;

            case mg_ss_EItemTypes.BLACKBERRY:
                assetTag = mg_ss_EResourceList.GAME_ITEM_BLACKBERRY;
                break;

            case mg_ss_EItemTypes.BLUEBERRY:
                assetTag = mg_ss_EResourceList.GAME_ITEM_BLUEBERRY;
                break;

            case mg_ss_EItemTypes.FIG:
                assetTag = mg_ss_EResourceList.GAME_ITEM_FIG;
                break;

            case mg_ss_EItemTypes.GRAPES:
                assetTag = mg_ss_EResourceList.GAME_ITEM_GRAPES;
                break;

            case mg_ss_EItemTypes.MANGO:
                assetTag = mg_ss_EResourceList.GAME_ITEM_MANGO;
                break;

            case mg_ss_EItemTypes.ORANGE:
                assetTag = mg_ss_EResourceList.GAME_ITEM_ORANGE;
                break;

            case mg_ss_EItemTypes.PEACH:
                assetTag = mg_ss_EResourceList.GAME_ITEM_PEACH;
                break;

            case mg_ss_EItemTypes.PINEAPPLE:
                assetTag = mg_ss_EResourceList.GAME_ITEM_PINEAPPLE;
                break;

            case mg_ss_EItemTypes.RASPBERRY:
                assetTag = mg_ss_EResourceList.GAME_ITEM_RASPBERRY;
                break;

            case mg_ss_EItemTypes.STRAWBERRY:
                assetTag = mg_ss_EResourceList.GAME_ITEM_STRAWBERRY;
                break;

            case mg_ss_EItemTypes.GOLDEN_APPLE:
                assetTag = mg_ss_EResourceList.GAME_ITEM_GOLDEN_APPLE;
                break;

            case mg_ss_EItemTypes.CLOCK:
                assetTag = mg_ss_EResourceList.GAME_ITEM_CLOCK;
                break;

            case mg_ss_EItemTypes.BOMB:
                assetTag = mg_ss_EResourceList.GAME_ITEM_BOMB;
                break;

            case mg_ss_EItemTypes.ANVIL:
                assetTag = mg_ss_EResourceList.GAME_ITEM_ANVIL;
                break;
            }
            return(m_resources.GetInstancedResource(assetTag));
        }
Пример #13
0
 public override bool ItemPartOfOrder(mg_ss_EItemTypes p_itemType)
 {
     return(m_orderSystem.IsFruitPartOfOrder(p_itemType));
 }
 public override void Initialize(mg_ss_EItemTypes p_itemType, mg_ss_IItemMovement p_movement, Vector2 p_spawnPointBottom, Vector2 p_spawnPointTop, float p_screenWidth, bool p_chaosItem)
 {
     base.Initialize(p_itemType, p_movement, p_spawnPointBottom, p_spawnPointTop, p_screenWidth, p_chaosItem);
     SetInitialPosition(p_spawnPointTop);
 }
Пример #15
0
 public bool ContainsFruit(mg_ss_EItemTypes p_fruitType)
 {
     return(Steps.Find((mg_ss_OrderStep step) => step.State == mg_ss_EOrderStepState.INCOMPLETE && step.FruitType == p_fruitType) != null);
 }
Пример #16
0
 public bool IsFruitPartOfOrder(mg_ss_EItemTypes p_fruitType)
 {
     return(m_currentOrder.ContainsFruit(p_fruitType));
 }
Пример #17
0
 public bool IsItemSpawnedOnConveyor(mg_ss_EItemTypes p_itemType)
 {
     return(m_itemGenerator.IsItemSpawnedOnConveyor(p_itemType));
 }
Пример #18
0
 protected void SpawnItem_Linear(mg_ss_EItemTypes p_itemType, float p_delay)
 {
     m_gameLogic.ItemManager.SpawnItem(p_itemType, new mg_ss_ItemMovement_Linear(), p_delay);
 }
Пример #19
0
 public virtual bool ItemPartOfOrder(mg_ss_EItemTypes p_itemType)
 {
     return(false);
 }
Пример #20
0
 public bool IsItemSpawnedOnConveyor(mg_ss_EItemTypes p_itemType)
 {
     return(m_gameLogic.ItemManager.IsItemSpawnedOnConveyor(p_itemType));
 }
Пример #21
0
        private void SpawnItem_Bounce(mg_ss_EItemTypes p_itemType, float p_delay, float p_velocity)
        {
            mg_ss_ItemMovement_Bounce p_movement = new mg_ss_ItemMovement_Bounce(p_velocity);

            m_gameLogic.ItemManager.SpawnItem(p_itemType, p_movement, p_delay);
        }
Пример #22
0
 public bool IsItemSpawnedOnConveyor(mg_ss_EItemTypes p_itemType)
 {
     return(m_spawnedItems.Find((mg_ss_ItemObject item) => item.ItemType == p_itemType && item.Collidable));
 }
Пример #23
0
 public bool ItemPartOfOrder(mg_ss_EItemTypes p_itemType)
 {
     return(m_itemGenerator.ItemPartOfOrder(p_itemType));
 }