Example #1
0
        public SpawningSystem(IMyRemoteControl remoteControl)
        {
            UseSpawningSystem    = false;
            SpawnGroups          = new List <string>();
            SpawnFactionOverride = new List <string>();

            MinTimeBetweenSpawns = 120;
            MaxTimeBetweenSpawns = 300;

            MaxNumberOfSpawnEvents = 5;

            SpawnPositioning           = SpawnPositioningEnum.RandomDirection;
            MinSpawnDistance           = 300;
            MaxSpawnDistance           = 500;
            SpawnVelocity              = 0;
            SpawnOffsetPosition        = Vector3D.Zero;
            IgnoreSpawningSafetyChecks = false;

            RemoteControl = remoteControl;
            Rnd           = new Random();

            LastSpawnTime      = MyAPIGateway.Session.GameDateTime;
            ForceSpawn         = false;
            TimeUntilNextSpawn = Rnd.Next(MinTimeBetweenSpawns, MaxTimeBetweenSpawns);
            TotalSpawnEvents   = 0;

            SpawnInProgress         = false;
            SelectedSpawnGroup      = "";
            SelectedFactionOverride = "";
            SpawnCoords             = Vector3D.Zero;
            SafeToSpawn             = false;
        }
Example #2
0
        public static SpawnPositioningEnum TagSpawnPositioningEnumCheck(string tag)
        {
            SpawnPositioningEnum result = SpawnPositioningEnum.RandomDirection;
            var tagSplit = ProcessTag(tag);

            if (tagSplit.Length == 2)
            {
                if (SpawnPositioningEnum.TryParse(tagSplit[1], out result) == false)
                {
                    return(SpawnPositioningEnum.RandomDirection);
                }
            }

            return(result);
        }
Example #3
0
        public static BroadcastType TagBroadcastTypeEnumCheck(string tag)
        {
            BroadcastType result   = BroadcastType.None;
            var           tagSplit = ProcessTag(tag);

            if (tagSplit.Length == 2)
            {
                if (SpawnPositioningEnum.TryParse(tagSplit[1], out result) == false)
                {
                    return(BroadcastType.None);
                }
            }

            return(result);
        }