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; } } }
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; } }
private void RemoveItem(mg_ss_ItemObject p_item) { p_item.OnDestroy(); Object.Destroy(p_item.gameObject); }
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); }
public void Initialize(mg_ss_ItemObject p_itemObject) { m_itemObject = p_itemObject; m_initialPosition = m_itemObject.transform.localPosition; }
public override void Initialize(mg_ss_ItemObject p_itemObject) { base.Initialize(p_itemObject); m_amplitude = 0.25f; }