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 override void OnEvent <ScrollSpeed>(ScrollSpeed t) { System.Object[] ps = t.GetParam(); if (ps != null && ps.Length > 0) { //在控制中 继续 if ((bool)ps[1]) { float moveoffset = (float)ps[0]; float h = Camera.main.pixelHeight; float strength = moveoffset / h; float rot = strength * m_PlantRotateSpeed; m_Planet.UpdateGameRotate(rot); //m_PlantRotateSpeed = speed; } else { float moveoffset = (float)ps[0]; float h = Camera.main.pixelHeight; float strength = moveoffset / h; float rot = strength * m_PlantRotateSpeed; m_LastedRot = rot; m_bChangeToRunning = true; } } }
public override void OnEvent <GameEvent>(GameEvent evt) { ScrollSpeed t = evt as ScrollSpeed; if (t == null) { return; } System.Object[] ps = t.GetParam(); if (t.scrollType == ScrollSpeed.ScrollType.Rotate) { if (ps != null && ps.Length > 0) { //在控制中 继续 if ((bool)ps[1]) { float moveoffset = (float)ps[0]; float h = Camera.main.pixelHeight; float strength = moveoffset / h; float rot = strength * m_PlantRotateSpeed; m_Planet.UpdateGameRotate(rot); //m_PlantRotateSpeed = speed; } else { float moveoffset = (float)ps[0]; float h = Camera.main.pixelHeight; float strength = moveoffset / h; float rot = strength * m_PlantRotateSpeed; m_LastedRot = rot; m_bChangeToRunning = true; } } } else if (t.scrollType == ScrollSpeed.ScrollType.Move) { Vector3 moveoffset = (Vector3)ps[0]; m_Planet.UpdateGamePosition(moveoffset); } }