Ejemplo n.º 1
0
        public static TargetObstructionEnum TagTargetObstructionEnumCheck(string tag)
        {
            TargetObstructionEnum result = TargetObstructionEnum.None;
            var tagSplit = ProcessTag(tag);

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

            return(result);
        }
Ejemplo n.º 2
0
        public NewWeaponSystem(IMyRemoteControl remoteControl = null)
        {
            UseStaticGuns = false;
            UseTurrets    = true;

            AllowedObstructions      = TargetObstructionEnum.DefenseShield;
            MaxStaticWeaponRange     = 1500;
            WeaponMaxAngleFromTarget = 6;

            UseBarrageFire = false;
            MaxFireRateForBarrageWeapons = 200;

            UseAmmoReplenish        = true;
            AmmoReplenishClipAmount = 15;
            MaxAmmoReplenishments   = 10;

            Weapons = new List <IWeaponProfile>();

            _withinTargetAngle = false;

            _allowedFlags = new List <WaypointModificationEnum>();
            _allowedFlags.Add(WaypointModificationEnum.TargetIsInitialWaypoint);
            _allowedFlags.Add(WaypointModificationEnum.WeaponLeading);
            _allowedFlags.Add(WaypointModificationEnum.CollisionLeading);

            _restrictedFlags = new List <WaypointModificationEnum>();
            _restrictedFlags.Add(WaypointModificationEnum.Collision);
            _restrictedFlags.Add(WaypointModificationEnum.Offset);
            _restrictedFlags.Add(WaypointModificationEnum.PlanetPathing);

            if (remoteControl == null || !MyAPIGateway.Entities.Exist(remoteControl?.SlimBlock?.CubeGrid))
            {
                return;
            }

            _remoteControl = remoteControl;
        }