private void Update_Delayed(float p_deltaTime) { m_delayTimer -= p_deltaTime; if (m_delayTimer <= 0f) { m_state = m_nextState; m_nextState = mg_ss_ERotatingAppleState.NONE; } }
public void Delay(float p_delay) { m_delayTimer = p_delay; if (m_delayTimer >= 0f) { m_nextState = m_state; m_state = mg_ss_ERotatingAppleState.DELAYED; } }
private void Update_Flying(float p_deltaTime) { float num = p_deltaTime - m_flyData.RemainingFlyTime; m_flyData.RemainingFlyTime -= p_deltaTime; if (num >= 0f) { m_state = mg_ss_ERotatingAppleState.ROTATING; Update_Rotation(num); return; } float num2 = 1f - m_flyData.RemainingFlyTime / m_flyData.TotalFlyTime; Vector2 vector = base.transform.position; vector.x = m_flyData.Start.x + (m_flyData.Target.x - m_flyData.Start.x) * num2; vector.y = m_flyData.Start.y + (m_flyData.Target.y - m_flyData.Start.y) * num2; vector.y -= Mathf.Sin(num2 * (float)Math.PI) * 1.2f; base.transform.position = vector; }
private void Update_Rotation(float p_delta) { if (!(p_delta <= 0f)) { float num = (float)Math.PI * 2f; float num2 = p_delta / m_rotateData.RotateTime; num2 *= num; m_rotateData.CurrentAngle += num2; if (m_rotateData.MaxTurns > 0f && (m_rotateData.CurrentAngle - m_rotateData.StartingAngle) / num >= m_rotateData.MaxTurns) { m_state = mg_ss_ERotatingAppleState.PARTICLES; m_animator.SetTrigger(ANIM_TRIGGER_SPARKLE); } Vector2 rotateAround = m_rotateData.RotateAround; rotateAround.y -= m_rotateData.Offset; rotateAround.x += m_rotateData.Radius * Mathf.Cos(m_rotateData.CurrentAngle); rotateAround.y += m_rotateData.Radius * Mathf.Sin(m_rotateData.CurrentAngle); base.transform.position = rotateAround; } }
public void Fly(mg_ss_GoldenApple_FlyInfo p_flyInfo) { base.transform.position = p_flyInfo.Start; m_flyData = p_flyInfo; m_state = mg_ss_ERotatingAppleState.FLYING; }
protected void Awake() { m_animator = GetComponent <Animator>(); m_state = mg_ss_ERotatingAppleState.FLYING; }