Inheritance: MonoBehaviour
Ejemplo n.º 1
0
        public async Task <IActionResult> PutSafety([FromRoute] int id, [FromBody] Safety safety)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != safety.SafetyID)
            {
                return(BadRequest());
            }

            _context.Entry(safety).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SafetyExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 2
0
        private Command GetBestNavigateCommand(Ship ship, Position drop)
        {
            // new logic, path of least resistance
            var polr = Navigation.CalculatePathOfLeastResistance(ship.position, drop);

            if (Safety.IsCompletelySafeMove(ship, polr[0].position.GetDirectionTo(ship.position)))
            {
                var best = polr[0].position.GetDirectionTo(ship.position);
                return(ship.Move(best, "Moving from path of least resistance2"));
            }

            // old logic, pick any safe direction
            List <Direction> directions = drop.GetAllDirectionsTo(ship.position);

            if (directions.All(x => Map.At(ship, x).IsOccupiedByOpponent || (Map.At(ship, x).IsThreatened) && !Map.At(ship, x).IsMyStructure))
            {
                directions = DirectionExtensions.ALL_DIRECTIONS.ToList(); // add all
            }
            directions = directions.OrderBy(d => Map.At(ship, d).IsOpponentsStructure&& Map.At(ship, d).IsThreatened ? ship.halite * 3 :
                                            Map.At(ship, d).IsThreatened || Map.At(ship, d).IsOccupiedByOpponent ? ship.halite - Map.At(ship, d).SmallestEnemyValue :
                                            Map.At(ship, d).IsOccupiedByMe ? Map.At(ship, d).halite * .45 :
                                            ship.CellHalite * .1).ToList();
            foreach (var d in directions)
            {
                if (Safety.IsSafeMove(ship, d))
                {
                    return(ship.Move(d, "moving to dropoff"));
                }
            }
            if (Safety.IsCompletelySafeMove(ship, Direction.STILL))
            {
                return(ship.StayStill("staying still because nothing else available..."));
            }
            return(null);
        }
Ejemplo n.º 3
0
    public byte[] Sum()
    {
        List <byte> bytes = new List <byte>();

        // Manual regrouping of data and then putting all the bytes one after each other
        // TODO

        lastSum = Safety.Hash(bytes.ToArray());
        return(GetLastSum());
    }
Ejemplo n.º 4
0
        public ActionResult SignIn(Safety saf)
        {
            if (saf.Login.Equals("pete") && saf.Password.Equals("pete"))
            {
                RedirectToAction("Home", "Index");
            }
            else {
                return new EmptyResult();
            }

            return View();
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> PostSafety([FromBody] Safety safety)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Safety.Add(safety);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetSafety", new { id = safety.SafetyID }, safety));
        }
Ejemplo n.º 6
0
 private void Awake()
 {
     // anim = GetComponent<Animator>();
     safety = transform.parent.GetComponentInChildren <Safety>();
     flames = new GameObject[BurnPoints.Length];
     for (int f = 0; f < BurnPoints.Length; f++)
     {
         flames[f] = Instantiate(flamePrefab, BurnPoints[f].position, Quaternion.identity, this.transform) as GameObject;
         flames[f].SetActive(false);
     }
     // Ignite();
 }
 public void Delete(Safety instance)
 {
     if (instance == null)
     {
         throw new ArgumentNullException("instance");
     }
     else
     {
         Db.Entry(instance).State = EntityState.Deleted;
         this.SaveChanges();
     }
 }
        /*public List<TransferRecords> GetTransfers() {
         *  return Db.TransferRecords.ToList();
         *
         * }*/


        public void Create(Safety instance)
        {
            if (instance == null)
            {
                throw new ArgumentNullException("instance");
            }
            else
            {
                Db.Safety.Add(instance);
                this.SaveChanges();
            }
        }
Ejemplo n.º 9
0
        public MoveControlConfig()
        {
            SafetyData tempSensorData;

            foreach (EnumMoveControlSafetyType item in (EnumMoveControlSafetyType[])Enum.GetValues(typeof(EnumMoveControlSafetyType)))
            {
                tempSensorData = new SafetyData();
                Safety.Add(item, tempSensorData);
            }

            foreach (EnumSensorSafetyType item in (EnumSensorSafetyType[])Enum.GetValues(typeof(EnumSensorSafetyType)))
            {
                tempSensorData = new SafetyData();
                SensorByPass.Add(item, false);
            }
        }
Ejemplo n.º 10
0
        new public void writeURDF(XmlWriter writer)
        {
            writer.WriteStartElement("joint");
            writer.WriteAttributeString("name", "joint_" + name);
            writer.WriteAttributeString("type", type);

            Origin.writeURDF(writer);
            Parent.writeURDF(writer);
            Child.writeURDF(writer);
            Axis.writeURDF(writer);
            Limit.writeURDF(writer);
            Calibration.writeURDF(writer);
            Dynamics.writeURDF(writer);
            Safety.writeURDF(writer);

            writer.WriteEndElement();
        }
        public ClassSyntax(
            Accessibility accessibility,
            bool isPartial,
            Safety safety,
            bool isSealed,
            bool isAbstract,
            SyntaxToken name,
            IEnumerable<ClassMemberSyntax> members)
            : base(accessibility, name)
        {
            Requires.EnumDefined(safety, nameof(safety));

            IsPartial = isPartial;
            Safety = safety;
            IsSealed = isSealed;
            IsAbstract = isAbstract;
            Members = members.ToList();
        }
        public ClassSyntax(
            Accessibility accessibility,
            bool isPartial,
            Safety safety,
            bool isSealed,
            bool isAbstract,
            SyntaxToken name,
            IEnumerable <ClassMemberSyntax> members)
            : base(accessibility, name)
        {
            Requires.EnumDefined(safety, nameof(safety));

            IsPartial  = isPartial;
            Safety     = safety;
            IsSealed   = isSealed;
            IsAbstract = isAbstract;
            Members    = members.ToList();
        }
Ejemplo n.º 13
0
        public override void CommandShips()
        {
            var list = new List <Projection>();

            Fleet.AvailableShips.ForEach(s => list.Add(new Projection(s)));
            list = list.OrderBy(p => p.numTurns).ToList();
            while (list.Count > 0)
            {
                // switch next to a ship on a dropoff if it's surrounded
                var next = list[0];
                foreach (var proj in list.Where(l => l.ship.OnDropoff))
                {
                    if (proj.ship.Neighbors.All(n => Fleet.CollisionCells.Contains(n) || n.IsOccupied()))
                    {
                        next = proj;
                        break;
                    }
                }
                var s = next.ship;
                if (next.valuer.TurnsToFill(s, ValueMapping.IsPreviousTarget(s.Id, next.valuer.Target.position)) != next.numTurns)
                {
                    list[list.IndexOf(next)] = new Projection(s);
                    list.OrderBy(p => p.numTurns);
                    continue;
                }
                Command move;
                if (!s.CanMove)
                {
                    move = s.StayStill("Ship cannot move, forcing it to stay still... Target " + next.valuer.Target.position.ToString() + "... Expected Turns: " + next.numTurns);
                }
                else if (!(s.CurrentMapCell.Neighbors.Any(n => n.halite > GameInfo.UpperThirdAverage && n.halite > s.CellHalite * MyBot.HParams[Parameters.STAY_MULTIPLIER])) &&
                         s.CellHalite > GameInfo.UpperThirdAverage && Safety.IsSafeMove(s, Direction.STILL))
                {
                    move = s.StayStill("Forcing ship to sit still... Target " + next.valuer.Target.position.ToString() + "... Expected Turns: " + next.numTurns);
                }
                else
                {
                    move = next.GetMove();
                }
                DoMove(move, next.valuer.Target, next.ship.Id);
                list.Remove(next);
            }
        }
        public int Safety(string pd)
        {
            var user = User.Identity.GetUserId();

            try
            {
                Safety sf = new Safety
                {
                    userId     = user,
                    SafetyHash = pd.ToMD5()
                };
                new MangerRepository().Create(sf);
                return(1);
            }
            catch
            {
                return(0);
            }
        }
Ejemplo n.º 15
0
 public override void CommandShips()
 {
     // see if we can disrupt an opponent
     foreach (var s in Fleet.AvailableShips)
     {
         var     occupiedNeighbors = s.CurrentMapCell.Neighbors.Where(n => n.IsOccupiedByOpponent && !EnemyFleet.IsReturningHome(n.ship));
         MapCell bestMove          = null;
         double  best = 0.0;
         foreach (var n in occupiedNeighbors)
         {
             var zone = new Zone(n.position, 5);
             if (zone.SafetyRatio < MyBot.HParams[Parameters.SAFETY_RATIO])
             {
                 continue;
             }
             if (GameInfo.MyShipsCount * 1.1 < GameInfo.OpponentShipsCount)
             {
                 continue;
             }
             if (n.halite < s.CellHalite)
             {
                 continue;
             }
             if (GameInfo.LowestNeighboringOpponentHalite(n) < s.halite)
             {
                 continue;
             }
             if (Safety.IsSafeMove(s, n))
             {
                 var val = (n.halite * .25 + n.ship.halite) - (s.CellHalite * .25 + s.halite);
                 if (val > best)
                 {
                     bestMove = n;
                     best     = val;
                 }
             }
         }
         if (bestMove != null)
         {
             Fleet.AddMove(s.Move(bestMove, "trying to disrupt opponent from Combat logic"));
         }
     }
 }
Ejemplo n.º 16
0
            public Command GetMove()
            {
                var dirs = valuer.Target.position.GetAllDirectionsTo(ship.position);

                dirs = dirs.OrderBy(d => GameInfo.CellAt(ship.position.DirectionalOffset(d)).halite).ToList();
                if (dirs.Count == 1 && GameInfo.Distance(ship, valuer.Target.position) > 1)
                {
                    var extraDirs = DirectionExtensions.GetLeftRightDirections(dirs[0]);
                    dirs.AddRange(extraDirs);
                }
                foreach (var d in dirs)
                {
                    var cell = GameInfo.CellAt(ship, d);
                    if (Safety.IsSafeAndAvoids2Cells(ship, d) && Navigation.IsAccessible(cell.position, valuer.Target.position))
                    {
                        return(ship.Move(d, $"moving towards best projection {valuer.Target.position.ToString()}... Expected turns: {numTurns}"));
                    }
                }
                return(null);
            }
Ejemplo n.º 17
0
        // Save Athlete and address
        private void btnSaveAthlete_Click(object sender, EventArgs e)
        {
            athleteID = Convert.ToInt32(lblCustID.Text);

            try
            {
                cityID    = City.GetCityID(cbZip.Text);
                addressID = Address.GetAddressID(cityID, cbZip.Text, tbAdd.Text, tbPhone.Text);
                Address.Insert_UpdateAddress(addressID, tbAdd.Text, cityID, cbZip.Text, tbPhone.Text);

                addressID = Address.GetAddressID(cityID, cbZip.Text, tbAdd.Text, tbPhone.Text);

                SelectDiscipline();
                if (isCorner)
                {
                    Corner.Insert_UpdateCorner(athleteID, tbName.Text, cbPosition.Text, cbDiscipline.Text, addressID);
                }
                else
                {
                    Safety.Insert_UpdateSafety(athleteID, tbName.Text, cbPosition.Text, cbDiscipline.Text, addressID);
                }

                MessageBox.Show("Athlete Added/Updated");// Feedback

                this.Hide();
                Schedule schedulingScreen = new Schedule();
                schedulingScreen.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);// print error message
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
        }
Ejemplo n.º 18
0
 // Use this for initialization
 void Start()
 {
     safety   = false;
     isCatch  = false;
     recovery = false;
     gc       = GameObject.Find("GameController").GetComponent <GameController>();
     sf       = GetComponent <Safety>();
     maxHp    = hp;
     pNums    = GameObject.FindGameObjectsWithTag("Player").Length;
     Players  = new bool[pNums];
     for (int i = 0; i < pNums; i++)
     {
         if (this.gameObject.name == "Player0" + (i + 1).ToString())
         {
             Players[i] = true;
         }
         else
         {
             Players[i] = false;
         }
     }
     respawn = Respawn(respawnWait);
 }
Ejemplo n.º 19
0
        public bool ShouldMineInsteadOfDropoff(Ship ship, List <Ship> bucket, Dictionary <Position, List <Ship> > buckets)
        {
            // verified...
            if (ship.CellHalite < 10)
            {
                return(false);
            }
            if (ship.CellHalite * .15 + ship.halite > 1000)
            {
                return(false);
            }
            if (ship.CurrentMapCell.IsThreatened)
            {
                return(false);
            }
            if (!Safety.IsSafeMove(ship, Direction.STILL))
            {
                return(false);
            }
            if (!MyBot.ShouldSpawnShip(0) && MyBot.ShouldSpawnShip(ship.halite) /* and not 2 ships same dist from drop */)
            {
                return(false);
            }
            if (bucket.Count > 1 && bucket[1].DistanceToMyDropoff - 1 <= ship.DistanceToMyDropoff)
            {
                return(false);
            }

            foreach (var b in buckets.Where(x => x.Value != bucket))
            {
                if (b.Value.First().DistanceToMyDropoff <= ship.DistanceToMyDropoff)
                {
                    return(false);
                }
            }
            return(true);
        }
Ejemplo n.º 20
0
        static public void RunOption(int option)
        {
            Console.Clear();
            switch (option)
            {
            case 1:    //1. SET BUDGET

                if (Cart.Budget == 0)
                {
                    Console.WriteLine("--THE BUDGET HAS NOT BEEN SET--");
                }
                else
                {
                    Console.WriteLine("--THE BUDGET IS CURRENTLY: $" + Cart.Budget + "--");
                }
                Console.WriteLine("--INPUT A BUDGET--");

                //UNIT TESTING PROOF OF CONCEPT, HARCODING INPUT
                //StringReader testInput = new StringReader("200");
                //Console.SetIn(testInput);

                Cart.Budget = ReadValidPrice();
                break;

            case 2:    //2. VIEW CART

                Console.WriteLine("--VIEW CART--");
                Cart.WriteCart();

                Console.WriteLine("\n--BUDGET INFORMATION--");
                Cart.WriteBudget();

                Console.WriteLine("\nPRESS ENTER TO CONTINUE");
                Console.ReadLine();
                break;

            case 3:    //3. ADD ITEM TO CART

                Console.WriteLine("--ADD ITEM TO CART--");

                //BASE ITEM PROPERTIES
                Console.WriteLine("WHAT IS THE NAME OF YOUR ITEM:");
                string name = Console.ReadLine();
                Console.WriteLine("WHAT IS THE PRICE OF YOUR ITEM:");
                double price = ReadValidPrice();

                Item item = new Item(name, price);    //SET ITEM PROPERTIES

                Console.WriteLine("IS YOUR ITEM:");
                Console.WriteLine("\t1. CLOTHING \n\t2. FOOD \n\t3. OTHER");
                int selection = ReadValidSelection(1, 3);
                //BASE CLOTHING PROPERTIES
                if (selection == 1)
                {
                    Console.WriteLine("IS YOUR CLOTHING SIZE:");
                    Console.WriteLine("\t1. S\n\t2. M\n\t3. L\n\t4. XL");
                    int size = ReadValidSelection(1, 4);

                    Clothing clothing = new Clothing(item, (Clothing.Sizes)size);    //SET CLOTHING PROPERTIES

                    Console.WriteLine("IS YOUR CLOTHING FOR:");
                    Console.WriteLine("\t1. SAFTEY \n\t2. CASUAL");
                    selection = ReadValidSelection(1, 2);
                    //SAFTEY CLOTHING PROPERTIES
                    if (selection == 1)
                    {
                        Console.WriteLine("WHAT IS THE SAFTEY RATING OF YOUR CLOTHING:");
                        Console.WriteLine("\t1. L\n\t2. M\n\t3. H");
                        int safteyRating = ReadValidSelection(1, 3);

                        item = new Safety(clothing, (Safety.Ratings)safteyRating);    //SET SAFTEY PROPERTIES
                    }
                    //CASUAL CLOTHING PROPERTIES
                    else if (selection == 2)
                    {
                        Console.WriteLine("WHAT IS THE STYLE OF YOUR CLOTHING:");
                        Console.WriteLine("\t1. Day Wear\n\t2. Night Wear\n\t3. Swim Wear");
                        int style = ReadValidSelection(1, 3);

                        item = new Casual(clothing, (Casual.Styles)style);    //SET CASUAL PROPERTIES
                    }
                }
                //BASE FOOD PROPERTIES
                else if (selection == 2)
                {
                    Console.WriteLine("WHAT IS YOUR FOODS GROSS WEIGHT:");
                    double grossWeight = ReadValidPrice();

                    Food food = new Food(item, grossWeight);    //SET FOOD PROPERTIES

                    Console.WriteLine("IS YOUR FOOD ITEM:");
                    Console.WriteLine("\t1. PERISHABLE \n\t2. NON_PERISHABLE");
                    selection = ReadValidSelection(1, 2);
                    //PERISHABLE FOOD PROPERTIES
                    if (selection == 1)
                    {
                        Console.WriteLine("WHAT IS THE EXPIRY DATE OF YOUR FOOD(yyyy-mm-dd):");
                        DateTime expiryDate = ReadValidDate();

                        item = new Perishable(food, expiryDate);    //SET PERISHABLE PROPERTIES
                    }
                    //NON-PERISHABLE FOOD PROPERTIES
                    else if (selection == 2)
                    {
                        Console.WriteLine("WHAT IS THE NET WEIGHT OF YOU FOOD:");
                        double netWeight = ReadValidPrice();

                        item = new NonPerishable(food, netWeight);    //SET NON-PERISHABLE PROPERTIES
                    }
                }

                Cart.Items.Add(item);
                Console.Clear();
                Console.WriteLine("YOU HAVE ADDED THE FOLLOWING ITEM TO THE CART:");
                Console.WriteLine(item.ToString());

                Console.WriteLine("\nPRESS ENTER TO CONTINUE");
                Console.ReadLine();
                break;

            case 4:     //Remove Item From Cart

                if (Cart.Items.Count == 0)
                {
                    Console.WriteLine("YOUR CART IS EMPTY");

                    Console.WriteLine("\nPRESS ENTER TO CONTINUE");
                    Console.ReadLine();
                    break;
                }

                Console.WriteLine("--YOUR CART--");
                Cart.WriteCart();

                Console.WriteLine("\n--SELECT AN ITEM TO REMOVE--");
                int index = ReadValidSelection(1, Cart.Items.Count) - 1;
                Cart.Items.RemoveAt(index);

                Console.WriteLine("\nPRESS ENTER TO CONTINUE");
                Console.ReadLine();
                break;

            case 5:    //EXIT
                Program.Exit = true;
                break;

            default:
                break;
            }
        }
Ejemplo n.º 21
0
        protected void Button_Send_Pass_Click(object sender, EventArgs e)
        {
            MyError.Text = "";

            txtUid.Text        = Safety.SafeSql(txtUid.Text);
            TextBox_Email.Text = Safety.SafeSql(TextBox_Email.Text);


            // check if there is code
            if (txtUid.Text.Length < 8)
            {
                xalert("Please enter Organcode");
                TextBox_numberSendPass.Text = "";
                return;
            }

            // check if there is email
            if (TextBox_Email.Text.Length == 0)
            {
                xalert("Please enter correct Email");
                TextBox_numberSendPass.Text = "";
                return;
            }

            // check if email is valid
            Regex regex = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");
            Match match = regex.Match(TextBox_Email.Text);

            if (!match.Success)
            {
                xalert("Please enter correct Email");
                TextBox_numberSendPass.Text = TextBox_Email.Text = "";
                return;
            }

            //چک کردن کد امنیتی
            string number_server_side = (string)Session[ADSSAntiBot.SESSION_CAPTCHA];

            TextBox_numberSendPass.Text = Safety.SafeSql(TextBox_numberSendPass.Text);
            number_server_side          = Encryption.EncryptEngine.RawEncrypt(number_server_side, "AcS5Cf");

            if (number_server_side != Encryption.EncryptEngine.RawEncrypt(TextBox_numberSendPass.Text, "AcS5Cf"))
            {
                TextBox_numberSendPass.Text   = "";
                Label_invalidSendPass.Visible = true;
                return;
            }
            else
            {
                // check if there is exist same code and email and cheked

                string ret = DataAccessFactory.CreateOrganInsuredData().
                             GetOrganEmail(Convert.ToInt32(txtUid.Text));
                if (ret == "0")
                {
                    xalert("چنین دستگاهی با این آدرس پست الکترونیکی شناسایی نشد .");
                    TextBox_numberSendPass.Text = TextBox_Email.Text = "";
                    return;
                }
                else if (ret == "")
                {
                    xalert("پست الکترونیکی دستگاه در سامانه ثبت نگردیده است .");
                    TextBox_numberSendPass.Text = TextBox_Email.Text = "";
                    return;
                }
            }
        }
Ejemplo n.º 22
0
	void  Start (){
		disable_springs = false;
		if(transform.FindChild("slide")){
			var slide= transform.FindChild("slide");
			has_slide = true;
			slide_rel_pos = slide.localPosition;
			if(slide.FindChild("auto mod toggle")){
				has_auto_mod = true;
				auto_mod_rel_pos = slide.FindChild("auto mod toggle").localPosition;
				if(Random.Range(0,2) == 0){
					auto_mod_amount = 1.0f;
					auto_mod_stage = AutoModStage.ENABLED;
				}
			}
		}
		var hammer= GetHammer();
		if(hammer){
			has_hammer = true;
			hammer_rel_pos = hammer.localPosition;
			hammer_rel_rot = hammer.localRotation;
		}
		var yolk_pivot= transform.FindChild("yolk_pivot");
		Transform extractor_rod = null;
		if(yolk_pivot){
			yolk_pivot_rel_rot = yolk_pivot.localRotation;
			var yolk= yolk_pivot.FindChild("yolk");
			if(yolk){
				var cylinder_assembly= yolk.FindChild("cylinder_assembly");
				if(cylinder_assembly){
					extractor_rod = cylinder_assembly.FindChild("extractor_rod");
					if(extractor_rod){
						extractor_rod_rel_pos = extractor_rod.localPosition;
					}
				}
			}
		}
		
		if(gun_type == GunType.AUTOMATIC){
			magazine_instance_in_gun = Instantiate(magazine_obj);
			magazine_instance_in_gun.transform.parent = transform;
		
			var renderers= magazine_instance_in_gun.GetComponentsInChildren<Renderer>();
			foreach(Renderer renderer in renderers){
				renderer.shadowCastingMode = ShadowCastingMode.Off; 
			}
			
			if(Random.Range(0,2) == 0){
				round_in_chamber = Instantiate(casing_with_bullet, transform.FindChild("point_chambered_round").position, transform.FindChild("point_chambered_round").rotation) as GameObject;
				round_in_chamber.transform.parent = transform;
				round_in_chamber.transform.localScale = new Vector3(1.0f,1.0f,1.0f);
				renderers = round_in_chamber.GetComponentsInChildren<Renderer>();
				foreach(Renderer renderer in renderers){
					renderer.shadowCastingMode = ShadowCastingMode.Off; 
				}
			}
			
			if(Random.Range(0,2) == 0){
				slide_amount = kSlideLockPosition;
				slide_lock = true;
			}
		}
		
		if(gun_type == GunType.REVOLVER){
			cylinders = new CylinderState[cylinder_capacity];
			for(var i=0; i<cylinder_capacity; ++i){
				cylinders[i] = new CylinderState();
				if(Random.Range(0,2) == 0){
					continue;
				}
				var name= "point_chamber_"+(i+1);
				cylinders[i]._object = Instantiate(casing_with_bullet, extractor_rod.FindChild(name).position, extractor_rod.FindChild(name).rotation) as GameObject;
				cylinders[i]._object.transform.localScale = new Vector3(1.0f,1.0f,1.0f);
				cylinders[i].can_fire = true;
				cylinders[i].seated = Random.Range(0.0f,0.5f);
				var renderers = cylinders[i]._object.GetComponentsInChildren<Renderer>();
				foreach(Renderer renderer in renderers){
					renderer.shadowCastingMode = ShadowCastingMode.Off;
				}
			}
		}
		
		if(Random.Range(0,2) == 0 && has_hammer){
			hammer_cocked = 0.0f;
		}
		
		if(transform.FindChild("safety")){
			has_safety = true;
			safety_rel_pos = transform.FindChild("safety").localPosition;
			safety_rel_rot = transform.FindChild("safety").localRotation;
			if(Random.Range(0,4) == 0){
				safety_off = 0.0f;
				safety = Safety.ON;
				slide_amount = 0.0f;
				slide_lock = false;
			}
		}
		
	}
Ejemplo n.º 23
0
	public void  ToggleSafety (){
		if(!has_safety){
			return;
		}
		if(safety == Safety.OFF){
			if(slide_amount == 0.0f && hammer_cocked == 1.0f){
				safety = Safety.ON;
				PlaySoundFromGroup(sound_safety, kGunMechanicVolume);
			}
		} else if(safety == Safety.ON){
			safety = Safety.OFF;
			PlaySoundFromGroup(sound_safety, kGunMechanicVolume);
		}
	}
Ejemplo n.º 24
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Safety obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
        protected void SignInBt_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                string number_server_side = (string)Session[ADSSAntiBot.SESSION_CAPTCHA];
                TextBox_number.Text = Safety.SafeSql(TextBox_number.Text);
                number_server_side  = Encryption.EncryptEngine.RawEncrypt(number_server_side, "AcS5Cf");
                if (number_server_side != Encryption.EncryptEngine.RawEncrypt(TextBox_number.Text, "AcS5Cf"))
                {
                    Label_invalid.Visible = true;
                    TextBox_number.Text   = "";

                    return;
                }
                else
                {
                    SignInUser.Text = SignInUser.Text.Replace("'", "''");
                    SignInPass.Text = SignInPass.Text.Replace("'", "''").Trim();

                    //---------------------------  CHECK FOR EMPTY PASSWORD


                    if (SignInPass.Text.Length == 0)
                    {
                        lblMessage.Text     = "Please enter your password";
                        TextBox_number.Text = "";
                        return;
                    }
                    else
                    {
                        lblMessage.Text = "";
                    }
                    //------------------------------------------------------

                    int  tmp;
                    bool useridIsNumeric = int.TryParse(SignInUser.Text, out tmp);
                    if (useridIsNumeric && (SignInUser.Text.Length == 7 || SignInUser.Text.Length == 5 || SignInUser.Text.Length == 1))
                    {
                        SignInUser.Text = "0" + SignInUser.Text;
                    }

                    if (useridIsNumeric && SignInUser.Text.Length == 8) // check for devices
                    {
                        string xpass = DataAccessFactory.CreateOrganInsuredData()
                                       .GetOrganLoginData(Convert.ToInt32(SignInUser.Text));

                        if (SignInUser.Text + SignInPass.Text != xpass)
                        {
                            lblMessage.Text     = "Incorrect Username or password";
                            TextBox_number.Text = "";
                            return;
                        }

                        HttpContext.Current.Session.Clear();
                        SessionHelper.Karbar = 0;
                        SessionHelper.Dastgah.Refresh(int.Parse(SignInUser.Text));
                        Response.Redirect("~/InsuredAgentOrg/Default.aspx", false);
                        return;
                    }
                }
                if (SignInPass.Text.Length == 0)
                {
                    return;
                }
            }
        }
Ejemplo n.º 26
0
        public override void CommandShips()
        {
            // go through buckets and move the ships...
            var dropoffBuckets = GetBuckets(AvailableShipsMovingToBase);

            var ShipPositions = new List <List <Ship> >();

            for (int i = 0; i < GameInfo.Map.width * 2; i++)
            {
                ShipPositions.Add(new List <Ship>());
            }

            if (dropoffBuckets.Any(kvp => kvp.Key.Equals(GameInfo.Me.shipyard.position)))
            {
                var yardDrop = dropoffBuckets.Single(kvp => kvp.Key.Equals(GameInfo.Me.shipyard.position));
                foreach (var s in yardDrop.Value)
                {
                    var dist = GameInfo.Distance(s, yardDrop.Key);
                    ShipPositions[dist].Add(s);
                }

                // iterate....
                bool frontOccupied = false;
                for (int i = 0; i < ShipPositions.Count; i++)
                {
                    if (ShipPositions[i].Count >= 1)
                    {
                        var ships = ShipPositions[i];
                        ships = ships.OrderByDescending(s => s.halite).ToList();
                        foreach (var s in ships)
                        {
                            if (frontOccupied && !s.IsFull() && s.CellHalite >= 10)
                            {
                                Fleet.AddMove(s.StayStill("Mining halite because I can"));
                                Safety.TwoTurnAvoider.Add(s, s.CurrentMapCell, yardDrop.Key.GetAllDirectionsTo(s.CurrentMapCell));
                            }
                            else
                            {
                                var cmd = GetBestNavigateCommand(s, yardDrop.Key);
                                if (cmd != null)
                                {
                                    Fleet.AddMove(cmd);
                                    Safety.TwoTurnAvoider.Add(s, cmd.TargetCell, yardDrop.Key.GetAllDirectionsTo(cmd.TargetCell));
                                }
                            }
                            frontOccupied = true;
                        }
                    }
                    frontOccupied = ShipPositions[i].Count > 0;
                }

                // remove the key
                dropoffBuckets.Remove(yardDrop.Key);
            }

            foreach (var drop in dropoffBuckets.Keys)
            {
                var ships   = dropoffBuckets[drop].OrderBy(s => Map.CalculateDistance(s.position, drop) * 10000 - s.halite).ToList();
                int maxDist = 0;
                foreach (var ship in ships)
                {
                    int thisDist = Map.CalculateDistance(ship.position, drop);
                    if (ShouldMineInsteadOfDropoff(ship, ships, dropoffBuckets))
                    {
                        Fleet.AddMove(ship.StayStill("Mining halite because I can"));
                        Safety.TwoTurnAvoider.Add(ship, ship.CurrentMapCell, drop.GetAllDirectionsTo(ship.CurrentMapCell));
                    }
                    else if (thisDist > maxDist || ship.CellHalite < 10 || !Safety.IsSafeMove(ship, Direction.STILL))
                    {
                        var cmd = GetBestNavigateCommand(ship, drop);
                        if (cmd != null)
                        {
                            Fleet.AddMove(cmd);
                            Safety.TwoTurnAvoider.Add(ship, cmd.TargetCell, drop.GetAllDirectionsTo(cmd.TargetCell));
                        }
                    }
                    else
                    {
                        Fleet.AddMove(ship.StayStill($"Staying still to stagger ships"));
                        Safety.TwoTurnAvoider.Add(ship, ship.CurrentMapCell, drop.GetAllDirectionsTo(ship.CurrentMapCell));
                    }
                    maxDist = Math.Max(maxDist, thisDist);
                }
            }
        }
Ejemplo n.º 27
0
        public override void CommandShips()
        {
            var prevShipAssignments  = ShipAssignments;
            var prevPointAssignments = PointAssignments;

            ShipAssignments  = new Dictionary <Ship, Assignment>();
            PointAssignments = new Dictionary <Point, Assignment>();

            // stay still...
            foreach (var s in Fleet.AvailableShips.Where(s => !s.CanMove))
            {
                Fleet.AddMove(s.StayStill("Ship cannot move, forcing it to stay still..."));
            }

            // select targets
            Queue <Ship> queue = new Queue <Ship>();

            Fleet.AvailableShips.ForEach(s => queue.Enqueue(s));

            while (queue.Count > 0)
            {
                var     s       = queue.Dequeue();
                var     xLayers = GameInfo.RateLimitXLayers(15);
                var     cells   = GameInfo.Map.GetXLayers(s.position, xLayers);
                MapCell target  = s.CurrentMapCell;
                int     maxVal  = GetCellValue(s, target);
                do
                {
                    foreach (var c in cells)
                    {
                        var otherAssign = PointAssignments.ContainsKey(c.position.AsPoint) ? PointAssignments[c.position.AsPoint] : null;
                        if (otherAssign != null && GameInfo.Distance(s, c.position) >= otherAssign.Distance)
                        {
                            continue;
                        }

                        // value calculation...
                        int val = GetCellValue(s, c);
                        if (prevPointAssignments.ContainsKey(c.position.AsPoint) && prevPointAssignments[c.position.AsPoint].Ship.Id == s.Id)
                        {
                            val = (int)(val * 1.1);
                        }
                        int distDiff = GameInfo.Distance(s, c.position) - GameInfo.Distance(s, target.position);
                        int oppCost  = distDiff < 0 ? distDiff * (int)(c.halite * .125) : // cell is closet to ship than curTarget
                                       distDiff * (int)(target.halite * .125);            // distDiff is 0/positive, cell is further than curTarget
                        if (val - oppCost > maxVal && Navigation.IsAccessible(s.position, c.position))
                        {
                            maxVal = val;
                            target = c;
                        }
                    }
                    xLayers++;
                    cells = GameInfo.GetXLayersExclusive(s.position, xLayers);
                } while(target == null && xLayers <= Math.Min(GameInfo.Map.width, GameInfo.RateLimitXLayers(xLayers)));

                if (target != null)
                {
                    var otherTarget = AssignAndReturnPrevAssignIfAny(s, target);
                    if (otherTarget != null)
                    {
                        queue.Enqueue(otherTarget.Ship);
                    }
                }
            }
            var vals = ShipAssignments.Values.OrderBy(a => a.Distance);

            foreach (var a in vals)
            {
                var dirs = a.Target.position.GetAllDirectionsTo(a.Ship.position);
                dirs = dirs.OrderBy(d => GameInfo.CellAt(a.Ship, d).halite).ToList();
                if (dirs.Any(d => Safety.IsSafeMove(a.Ship, d)))
                {
                    var dir = dirs.First(d => Safety.IsSafeMove(a.Ship, d));
                    Fleet.AddMove(a.Ship.Move(dir, $"Moving to best target {a.Target.position.ToString()} End Game Collect Logic"));
                }
            }
        }