Example #1
0
        public static Matrix GetSpawnTransform(
            App app,
            int databaseId,
            int fleetId,
            int shipIndex,
            int systemId,
            OrbitalObjectInfo[] objects)
        {
            GardenerInfo gardenerInfo = app.GameDatabase.GetGardenerInfos().FirstOrDefault <GardenerInfo>((Func <GardenerInfo, bool>)(x => x.FleetId == fleetId));

            if (gardenerInfo == null)
            {
                return(Matrix.Identity);
            }
            if (gardenerInfo.IsGardener)
            {
                return(Gardeners.GetSpawnMatrixForGardener(app, systemId, objects));
            }
            if (gardenerInfo.GardenerFleetId != 0)
            {
                return(Gardeners.GetSpawnMatrixForProteansWithGardener(app, databaseId, systemId, objects));
            }
            return(Gardeners.GetSpawnMatrixForProteansAtHome(app, databaseId, shipIndex, systemId, objects));
        }