private static PlaneCreaterData GetCreaterData(int idMin, int idMax, int queueNum, int queuePlaneNum, EnemyType type, double x) { var createrData = new PlaneCreaterData(); createrData.IdMin = idMin; createrData.IdMax = idMax; createrData.QueueNum = queueNum; createrData.QueuePlaneNum = queuePlaneNum; createrData.Type = type; createrData.X = x; return(createrData); }
private static IEnemyCreater SpawnCreater( Transform parent, PlaneCreaterData data, AllEnemyData enemyData, EnemyTrajectoryDataMgr trajectoryData) { var go = new GameObject("PlaneEnemyCreater"); var creater = go.AddComponent <PlaneEnemyCreater>(); creater.Init(data, enemyData, trajectoryData); go.transform.SetParent(parent); return(creater); }
public void Init(ICreaterData data, AllEnemyData enemyData, EnemyTrajectoryDataMgr trajectoryData) { if (data is PlaneCreaterData) { _data = data as PlaneCreaterData; } else { Debug.LogError("传入数据类型错误,类型为:" + data); return; } _trajectoryData = trajectoryData; InitPos((float)_data.X); InitEnemyData(_data, enemyData, trajectoryData); LifeCycleMgr.Single.Add(LifeName.UPDATE, this); }
private void InitEnemyData(PlaneCreaterData data, AllEnemyData enemyData, EnemyTrajectoryDataMgr trajectoryData) { _id = Random.Range(data.IdMin, data.IdMax + 1); _type = data.Type; var spriteName = string.Format(Const.ENEMY_PREFIX, _type, _id); _sprite = LoadMgr.Single.Load <Sprite>(Paths.PICTURE_ENEMY_FOLDER + spriteName); var allData = enemyData.GetData(data.Type); _enemyData = allData.FirstOrDefault(u => u.id == _id); if (_enemyData == null) { Debug.LogError("不存在ID为" + _id + "的敌方单位数据,type:" + data.Type); } else { trajectoryData.Init(_enemyData.trajectoryID); } }