private ITrajectoryData[] InitTrajectoryData(ITrajectoryData data) { VTrajectoryData source = null; if (data is VTrajectoryData) { source = data as VTrajectoryData; source.Angle = -source.Angle; } else { Debug.LogError("当前传入数据类型错误,传入类型为:" + data); } ITrajectoryData[] datas = new ITrajectoryData[_vCount]; VTrajectoryData temp = null; for (int i = 0; i < _vCount; i++) { temp = new VTrajectoryData(); temp.Angle = source.Angle; temp.XPos = new float[3]; temp.XPos[0] = _xPos[i * 2]; temp.XPos[1] = _xPos[i * 2 + 1]; temp.XPos[2] = _xPos[i * 2 + 2]; datas[i] = temp; } return(datas); }
public override void Init(Transform trans, ITrajectoryData data) { base.Init(trans, data); if (data is EllipseData) { _data = data as EllipseData; } else { Debug.LogError("当前传入椭圆形路径的数据类型错误,类型为:" + data); return; } _data.Center = new Vector2(0, (GameUtil.GetCameraMax().y - GameUtil.GetCameraMin().y) * (float)_data.YRatioInScreen); float offsetY = _data.Center.y + (float)_data.YRadius; _enter.InitByOffsetY(_trans, 0, offsetY, EnterPath.MoveDirection.UP_TO_DOWN); Vector2 startPos = new Vector2(_trans.position.x, offsetY); _data.StartPos = startPos; _trajectory = new EllipseTrajectory(); _trajectory.Init(_data); }
private void InitComponent(EnemyData data, EnemyType type, Sprite sprite, ITrajectoryData trajectoryData) { //更新飞机图片 Renderer = gameObject.AddOrGet <RenderComponent>(); Renderer.Init(); Renderer.SetSprite(sprite); //路径初始化 _path = new PathMgr(); _path.Init(transform, data, trajectoryData); gameObject.AddOrGet <CameraMove>().enabled = _path.NeedMoveWithCamera(); gameObject.AddOrGet <AutoDespawnComponent>(); gameObject.AddOrGet <EnemyTypeComponent>().Init(type); var lifeC = gameObject.AddOrGet <LifeComponent>(); lifeC.Init(data.life); gameObject.AddOrGet <EnemyBehaviour>().Init(data); _moveComponent = gameObject.AddOrGet <MoveComponent>(); _moveComponent.Init((float)data.speed); gameObject.AddOrGet <ColliderComponent>(); gameObject.AddOrGet <PlaneCollideMsgComponent>(); var bulletMgr = transform.Find("BulletRoot").AddOrGet <EnemyBulletMgr>(); bulletMgr.Init(data); if (_lifeView == null) { var lifeGo = LoadMgr.Single.LoadPrefabAndInstantiate(Paths.PREFAB_ENEMY_LIFE, transform); _lifeView = lifeGo.AddComponent <EnemyLifeView>(); } _lifeView.Init(); }
private PlaneEnemyView SpawnEnemy(int id, ITrajectoryData data) { var plane = PoolMgr.Single.Spawn(Paths.PREFAB_PLANE); var enemy = plane.AddOrGet <PlaneEnemyView>(); enemy.SetPos(transform.position); enemy.Init(id, _type, _enemyData, _sprite, data); return(enemy); }
public override void Init(Transform trans, ITrajectoryData data) { base.Init(trans, data); _state = PathState.ENTER; _vCount = 2; InitData(); InitXRange(); var datas = InitTrajectoryData(data); InitVTrajectory(datas); _enterPath.InitByRatio(trans, 0, 0.8f, EnterPath.MoveDirection.LEFT_TO_RIGHT); }
public void Init(ITrajectoryData data) { if (data is StraightTrajectoryData) { var temp = (StraightTrajectoryData)data; Init((float)temp.Angle); } else { Debug.LogError("当前传入数据不是直线轨迹数据.data:" + data); } }
public void Spawn() { ITrajectoryData data = _trajectoryData.GetData(_enemyData.trajectoryType); if (_spawnQueueNum < _data.QueueNum) { _spawnQueueNum++; for (int i = 0; i < _data.QueuePlaneNum; i++) { _lastEnemy = SpawnEnemy(i, data); } } }
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 Init(ITrajectoryData data) { if (data is EllipseData) { _data = data as EllipseData; } else { Debug.LogError("当前数据不是EllipseData类型,类型为:" + data); return; } _xRadius = (float)_data.XRadius; _yRadius = (float)_data.YRadius; InitPos(_data); _middleIndex = _posList.Length / 2; _curIndex = GetStartIndex(_posList, _data.StartPos); }
public void Init(Transform trans, ITrajectoryData trajectory) { }
public void Init(ITrajectoryData data) { throw new System.NotImplementedException(); }
public virtual void Init(Transform trans, ITrajectoryData trajectory) { _trans = trans; }
public override void Init(Transform trans, ITrajectoryData trajectory) { base.Init(trans, trajectory); _enterPath.InitByRatio(trans, 0, 0.8f, EnterPath.MoveDirection.UP_TO_DOWN); }
public void Init(Transform trans, EnemyData data, ITrajectoryData trajectoryData) { _path = PathFactory.GetPath(data.trajectoryType); _path.Init(trans, trajectoryData); }
public void Init(int id, EnemyType type, EnemyData data, Sprite sprite, ITrajectoryData trajectoryData) { gameObject.tag = Tags.ENEMY; InitComponent(data, type, sprite, trajectoryData); InitPos(id); }
public override void Init(Transform trans, ITrajectoryData data) { base.Init(trans, data); _trajectory = new StraightTrajectory(); _trajectory.Init(data); }