Beispiel #1
0
 private void CheckHighlight(mg_ss_ItemObject p_item)
 {
     p_item.ShowHighlight(p_show: false);
     if (p_item.ChaosItem)
     {
         return;
     }
     foreach (mg_ss_EItemTypes highlightType in m_highlightTypes)
     {
         if (highlightType == p_item.ItemType)
         {
             p_item.ShowHighlight(p_show: true);
             break;
         }
     }
 }
Beispiel #2
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);
            }
        }
        private void CheckItemCollision(Collider2D p_other)
        {
            mg_ss_ItemObject component = p_other.GetComponent <mg_ss_ItemObject>();

            if (component != null && component.Collidable)
            {
                if (component.ToeStub)
                {
                    Jump();
                    m_playerObject.PlayToeStub();
                }
                else if (State == mg_ss_EPlayerState.FALLING && (component.IsItemOnConveyor() || (!component.ChaosItem && !component.PowerUp)))
                {
                    SetCollision(mg_ss_EPlayerState.COLLISION);
                }
                if (component.IsItemOnConveyor())
                {
                    m_swipeTimer = 0f;
                }
                component.OnCollided(Action);
                switch (component.ItemType)
                {
                case mg_ss_EItemTypes.PINEAPPLE:
                    component.transform.position -= new Vector3(0f, 0.5f, 0f);
                    break;

                case mg_ss_EItemTypes.BLUEBERRY:
                    component.transform.position -= new Vector3(0f, 1f, 0f);
                    break;

                default:
                    component.transform.position -= new Vector3(0f, 0.25f, 0f);
                    break;
                }
                ConveyorCollidedWith = false;
            }
        }
Beispiel #4
0
 private void RemoveItem(mg_ss_ItemObject p_item)
 {
     p_item.OnDestroy();
     Object.Destroy(p_item.gameObject);
 }
Beispiel #5
0
 public bool IsItemOnConveyor(mg_ss_ItemObject p_itemObject)
 {
     return(Mathf.Approximately(p_itemObject.transform.position.y, m_spawnBottom.position.y) || p_itemObject.transform.position.y.CompareTo(m_spawnBottom.position.y) < 0);
 }
Beispiel #6
0
 public void Initialize(mg_ss_ItemObject p_itemObject)
 {
     m_itemObject      = p_itemObject;
     m_initialPosition = m_itemObject.transform.localPosition;
 }
Beispiel #7
0
 public override void Initialize(mg_ss_ItemObject p_itemObject)
 {
     base.Initialize(p_itemObject);
     m_amplitude = 0.25f;
 }