public void Execute(float dt) { //m_Plant.GameUpdate(dt); if (m_PlantRotateSpeed != 0) { Debug.LogWarning("Execute m_PlantRotateSpeed"); } float rot = dt * m_PlantRotateSpeed; m_Plant.UpdateGameRotate(rot); if (m_PlantRotateSpeed > 0) { m_PlantRotateSpeed -= m_ResisAcceleration * dt; if (m_PlantRotateSpeed <= 0) { m_PlantRotateSpeed = 0; //to planet ready m_Plant.ChangeState(new PlanetReady(m_Plant)); } } else if (m_PlantRotateSpeed < 0) { m_PlantRotateSpeed += m_ResisAcceleration * dt; if (m_PlantRotateSpeed >= 0) { m_PlantRotateSpeed = 0; //to planet ready m_Plant.ChangeState(new PlanetReady(m_Plant)); } } }
public void Execute(float dt) { if (m_bChangeToRunning) { m_bChangeToRunning = false; m_Planet.ChangeState(new PlanetControlRot(m_Planet)); } }
public void Execute(float dt) { //throw new NotImplementedException(); if (m_bChangeToRunning) { m_bChangeToRunning = false; PlantRunning running = new PlantRunning(this.m_Planet); running.m_PlantRotateSpeed = m_LastedRot; m_Planet.ChangeState(running); } }