public void FindNextPosition() { if (m_positionIndex > (Positions.Count - 1)) { Vector3 posM = new Vector3( 0,// MyVRageUtils.GetRandomFloat(0,1), 0, MyUtils.GetRandomFloat(0, -1)); Vector2 rot = new Vector2( 0, MyUtils.GetRandomFloat(-10.0f, 10.0f)); MyLemmingPosition pos = new MyLemmingPosition() { //Position = Character.GetPosition() + dir Position = posM, Rotation = rot }; if (MyUtils.GetRandomFloat(0, 1) < 0.2f) { pos.Action = MyLemmingAction.Jump; } else if (MyUtils.GetRandomFloat(0, 1) < 0.3f) { pos.Action = MyLemmingAction.Crouch; } else if (MyUtils.GetRandomFloat(0, 1) < 0.2f) { pos.Action = MyLemmingAction.Sit; } Positions.Add(pos); CurrentPosition = pos; SetState(MyLemmingState.Go); } else { CurrentPosition = Positions[m_positionIndex]; SetState(MyLemmingState.Go); } if (State != MyLemmingState.FindNextPosition) { switch (Positions[m_positionIndex].Action) { case MyLemmingAction.Jump: Character.Jump(); break; case MyLemmingAction.Crouch: Character.Crouch(); break; case MyLemmingAction.Sit: break; case MyLemmingAction.None: break; } m_positionIndex++; } }
public void FindNextPosition() { if (m_positionIndex > (Positions.Count - 1)) { Vector3 posM = new Vector3( 0,// MyVRageUtils.GetRandomFloat(0,1), 0, MyUtils.GetRandomFloat(0, -1)); Vector2 rot = new Vector2( 0, MyUtils.GetRandomFloat(-10.0f, 10.0f)); MyLemmingPosition pos = new MyLemmingPosition() { //Position = Character.GetPosition() + dir Position = posM, Rotation = rot }; if (MyUtils.GetRandomFloat(0, 1) < 0.2f) { pos.Action = MyLemmingAction.Jump; } else if (MyUtils.GetRandomFloat(0, 1) < 0.3f) { pos.Action = MyLemmingAction.Crouch; } else if (MyUtils.GetRandomFloat(0, 1) < 0.2f) { pos.Action = MyLemmingAction.Sit; } Positions.Add(pos); CurrentPosition = pos; SetState(MyLemmingState.Go); } else { CurrentPosition = Positions[m_positionIndex]; SetState(MyLemmingState.Go); } if (State != MyLemmingState.FindNextPosition) { switch (Positions[m_positionIndex].Action) { case MyLemmingAction.Jump: Character.Jump(); break; case MyLemmingAction.Crouch: Character.Crouch(); break; case MyLemmingAction.Sit: break; case MyLemmingAction.None: break; } m_positionIndex++; } }