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);
    }
Пример #2
0
    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);
        }
    }