public eDecision GetDecision(SHUIWidget_Stick pStick, SHUIWidget_Monster pMonster) { if ((null == pStick) || (null == pMonster)) { return(eDecision.Miss); } var fGap = Mathf.Abs(pMonster.GetLocalPosition().x - pStick.GetLocalPosition().x); var fSep = 50.0f;//pMonster.GetCollider().bounds.size.x / 3.0f; if (fGap <= (fSep * 0.5f)) { return(eDecision.Good); } if (fGap <= (fSep * 1.5f)) { return(eDecision.Normal); } if (fGap <= (fSep * 3.0f)) { return(eDecision.Bad); } return(eDecision.Miss); }
void ReturnStickObject(SHUIWidget_Stick pStick) { if (null == pStick) { return; } Single.ObjectPool.Return(pStick.GetGameObject()); }
void ClearStick() { if (null == m_pStick) { return; } Single.ObjectPool.Return(m_pStick.gameObject); m_pStick = null; }
public float GetRatioToGap(SHUIWidget_Stick pStick, SHUIWidget_Monster pMonster) { if ((null == pStick) || (null == pMonster)) { return(0.0f); } var fRatio = Mathf.Abs(pMonster.GetLocalPosition().x - pStick.GetLocalPosition().x) / 150.0f; //pMonster.GetCollider().bounds.size.x; return(Mathf.Clamp(fRatio, 0.0f, 1.0f)); }
public void SetCrash(SHUIWidget_Stick pStick) { if (0 == (--m_pInfo.m_iHP)) { ChangeState(eState.Die, pStick); } else { ChangeState(eState.Crash); } }
void SetStickSlot(eStickType eType, SHUIWidget_Stick pStick, SHUIWidget_ItemSlot pSlot) { if ((null == pStick) || (null == pSlot)) { return; } SHGameObject.SetParent(pStick.GetGameObject(), pSlot.GetGameObject()); pStick.Initialize(eType); pStick.SetLocalPosition(Vector3.zero); pStick.SetLocalScale(Vector3.one); pStick.SetActive(true); }
public void OnEventToTouch(Action pEventToPass) { if (null == m_pStick) { return; } m_pStick.SetActive(false); m_pStick.SetActive(true); m_pStick.Shoot(pEventToPass); SHCoroutine.Instance.WaitTime(() => CreateStick(), m_pStick.m_fReCreateTime); m_pStick = null; }
public void Initialize(eStickType eType1, eStickType eType2) { ReturnStickObject(m_pLeftStick); ReturnStickObject(m_pRightStick); SetStickSlot( (m_eLeftType = eType1), (m_pLeftStick = CreateStickSlot(eType1)), m_pLeftSlot); SetStickSlot( (m_eRightType = eType2), (m_pRightStick = CreateStickSlot(eType2)), m_pRightSlot); SetSelector(); }
private SHUIWidget_Stick CreateStick() { m_pStick = Single.ObjectPool.Get <SHUIWidget_Stick>( SHHard.GetStickName(GetStickType())); if (null == m_pStick) { return(null); } SHGameObject.SetParent(m_pStick.transform, Single.UI.GetRootToScene()); Single.ObjectPool.SetStartTransform(m_pStick.gameObject); m_pStick.SetActive(true); m_pStick.Initialize(GetStickType()); return(m_pStick); }
public eDirection GetDirection(SHUIWidget_Stick pStick, SHUIWidget_Monster pMonster) { if ((null != pStick) && (null != pMonster)) { if (pMonster.GetLocalPosition().x < pStick.GetLocalPosition().x) { return(eDirection.Left); } if (pMonster.GetLocalPosition().x > pStick.GetLocalPosition().x) { return(eDirection.Right); } } return(SHMath.RandomN(new List <eDirection>() { eDirection.Left, eDirection.Right, })); }
public void OnClickToSlot(SHUIWidget_Stick pStick) { if (null == pStick) { return; } var eUseType = Single.Inventory.GetStickGoodsStateToPlayerPrefs(pStick.m_eType); switch (eUseType) { case eGoodsState.NotHas: if (Single.Inventory.m_iCoin < pStick.GetPrice()) { Single.UI.ShowNotice(Localization.Get("POPUP_TITLE_NOTICE"), Localization.Format("STORE_COIN_SHORTAGE", (pStick.GetPrice() - Single.Inventory.m_iCoin))); } else { Single.UI.ShowNotice_TwoBtn("알림", string.Format("{0} 코인을 소모합니다.\n구매 하시겠습니까?", pStick.GetPrice()), () => { Single.Inventory.ConsumeCoin(pStick.GetPrice()); Single.Inventory.SetStickTypeToPlayerPrefs(pStick.m_eType, eGoodsState.Enable); }, null); } break; case eGoodsState.Disable: Single.Inventory.SetStickTypeToPlayerPrefs(pStick.m_eType, eGoodsState.Enable); break; case eGoodsState.Enable: Single.Inventory.SetStickTypeToPlayerPrefs(pStick.m_eType, eGoodsState.Disable); break; } RefleshSlotForSelect(); }