private void InitStraights(VTrajectoryData data) { _straights = new StraightTrajectory[2]; _straights[0] = new StraightTrajectory(); _straights[0].Init((float)data.Angle); _straights[1] = new StraightTrajectory(); _straights[1].Init(-(float)data.Angle); }
public bool SetCurrentTrajectory(float x) { if (x >= _xPos[0] && x <= _xPos[2]) { _currentTrajectory = _straights[GetTrajectoryIndex(x)]; return(true); } else { return(false); } }
public static ITrajectory[] GetStraightArray(int[] data) { ITrajectory[] array; array = new ITrajectory[data.Length]; for (int i = 0; i < data.Length; i++) { var s = new StraightTrajectory(); s.Init(data[i]); array[i] = s; } return(array); }
public void Init(ITrajectoryData data) { if (data is VTrajectoryData) { _data = data as VTrajectoryData; } else { Debug.LogError("当前传入数据类型错误,传入类型为:" + data); } _xPos = _data.XPos; InitStraights(_data); _currentTrajectory = _straights[0]; }
public void Trajectory(Action <ITrajectory[]> callBack) { if (_trajectories == null) { var tempList = new List <ITrajectory>(); var angleOffset = 5; StraightTrajectory temp; for (var curAngle = 60; curAngle < 120; curAngle += angleOffset) { temp = new StraightTrajectory(); temp.Init(curAngle); tempList.Add(temp); } _trajectories = tempList.ToArray(); } callBack(_trajectories); }
protected override ITrajectory[] GetTrajectory() { var data = GameDataMgr.Single.Get <AllBulletData>().Enemy_Boss_1; var rotateData = data.trajectory[0]; if (_angle == 0) { _angle = (float)rotateData.StartAngle; _forward = true; } if (_angle < rotateData.EndAngle) { _forward = false; } else if (_angle > rotateData.StartAngle) { _forward = true; } if (_forward) { _angle += (float)rotateData.RotateOffset; } else { _angle -= (float)rotateData.RotateOffset; } StraightTrajectory trajectory = new StraightTrajectory(); trajectory.Init(_angle); _trajectories[0] = trajectory; return(_trajectories); }
public float[] GetY(float x, Vector2 startPos) { _currentTrajectory = _straights[GetTrajectoryIndex(x)]; return(_currentTrajectory.GetY(x, startPos)); }
public override void Init(Transform trans, ITrajectoryData data) { base.Init(trans, data); _trajectory = new StraightTrajectory(); _trajectory.Init(data); }