Inheritance: MonoBehaviour
        public void Given_hazards_Then_should_detach_correctly()
        {
            //Given
            var user = new UserForAuditing();
            var target = GeneralRiskAssessment.Create("", "", default(long), null);

            var hazardDetaching = new Hazard()
                             {
                                 Id = 1
                             };
            var hazardToRemain = new Hazard()
                             {
                                 Id = 2
                             };
            IEnumerable<Hazard> hazards = new[]
                                              {
                                                  hazardDetaching, 
                                                  hazardToRemain,  
                                              };
            target.AttachHazardsToRiskAssessment(hazards, user);
            
            
            //When
            target.DetachHazardsFromRiskAssessment(new List<Hazard> { hazardDetaching }, user);

            //Then
            Assert.That(target.Hazards.Count(x => !x.Deleted), Is.EqualTo(1));
            Assert.That(target.LastModifiedBy, Is.EqualTo(user));
        }
 void Awake()
 {
     (collider as SphereCollider).radius = radius;
     cachedHazard = (GameObject.Instantiate(hazardPrefab.gameObject, transform.position, transform.rotation) as GameObject).GetComponent<Hazard>();
     cachedHazard.gameObject.SetActive(false);
     toDirectionRef = transform.FindChild(TO_DIRECTION_REF_NAME);
 }
        public void When_clone_for_risk_assessment_templating_Then_should_have_correct_result()
        {
            //Given
            var user = new UserForAuditing();
            var riskAssessment = new GeneralRiskAssessment();
            var hazard = new Hazard();

            var riskAssessmentHazard = MultiHazardRiskAssessmentHazard.Create(riskAssessment, hazard, user);
            riskAssessmentHazard.UpdateDescription("Test Description", user);

            var controlMeasure1 = new MultiHazardRiskAssessmentControlMeasure();
            var controlMeasure2 = new MultiHazardRiskAssessmentControlMeasure();
            riskAssessmentHazard.AddControlMeasure(controlMeasure1, user);
            riskAssessmentHazard.AddControlMeasure(controlMeasure2, user);


            //When
            var result = riskAssessmentHazard.CloneForRiskAssessmentTemplating(user, riskAssessment);

            //Then
            Assert.That(result.Description, Is.EqualTo(riskAssessmentHazard.Description));
            Assert.That(result.MultiHazardRiskAssessment, Is.EqualTo(riskAssessment));
            Assert.That(result.Hazard, Is.EqualTo(hazard));
            Assert.That(result.CreatedBy, Is.EqualTo(user));
            Assert.That(result.CreatedOn.Value.Date, Is.EqualTo(DateTime.Now.Date));
            Assert.That(result.ControlMeasures.Count, Is.EqualTo(riskAssessmentHazard.ControlMeasures.Count));
        }
Exemple #4
0
 public void RecieveDamage( Hazard source )
 {
     if ( source.element != GetElement )
         Kill();
     else
     {
         // Some kind of feedback that player got by without damage
         // particles or sound or whatever.
         source.AddToScore();
         Destroy( source.gameObject );
     }
 }
 public static CompanyHazardDto CreateFrom(Hazard companyDefault)
 {
     return new CompanyHazardDto()
                {
                    Id = companyDefault.Id,
                    Name = companyDefault.Name,
                    IsSystemDefault = GetIsSystemDefault(companyDefault.CompanyId),
                    IsGra = companyDefault.HazardTypes.Count(x => x.Id == (int)HazardTypeEnum.General) == 1,
                    IsPra = companyDefault.HazardTypes.Count(x => x.Id == (int)HazardTypeEnum.Personal) == 1,
                    IsFra = companyDefault.HazardTypes.Count(x=>x.Id == (int)HazardTypeEnum.Fire)==1
                };
 }
Exemple #6
0
	public void TakeDamage(Hazard source)
	{
		if(invulnerable) { return; }
		
		current -= source.damage;
		
		invulnerable = true;
		_invulnerableTime = Time.time;
		
		if(current <= 0) {
			Destroy(this.gameObject);
		}
	}
        public void Given_general_risk_assessment_contains_generic_hazard_When_CloneForRiskAssessmentTemplating_called_Then_same_hazard_is_referenced()
        {
            var hazard = new Hazard
                             {
                                 Name = "Generic Hazard",
                                 HazardTypes = _hazardTypes
                             };

            var hazards = new List<Hazard> {hazard};
            _generalRiskAssessment.AttachHazardsToRiskAssessment(hazards, _currentUser);
            var newGeneralRiskAssessment = _generalRiskAssessment.Copy("General Risk Assessment 2", "GRA02", _currentUser) as GeneralRiskAssessment;
            Assert.That(newGeneralRiskAssessment.Hazards.Count, Is.EqualTo(1));
            Assert.That(newGeneralRiskAssessment.Hazards[0].Hazard, Is.SameAs(hazard));
        }
Exemple #8
0
        private void addHazard_Click(object sender, EventArgs e)
        {
            try
            {
                Hazard h = new Hazard();
                h.hazard_start = double.Parse(textBox1.Text);
                h.hazard_end = double.Parse(textBox2.Text);

                current_video.hazards.Add(h);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Start and end must be a point in the video. This hazard was not added.");
            }
            load_hazards();
        }
        public void Given_riskassessment_one_hazard_no_further_control_measure_Then_should_be_able_to_delete()
        {
            //Given
            var hazard = new Hazard();
            var user = new UserForAuditing();
            
            var riskAssessment = GeneralRiskAssessment.Create("", "", default(long), null);
            var riskAssessmentHazard = MultiHazardRiskAssessmentHazard.Create(riskAssessment, hazard, user);
            riskAssessment.Hazards.Add(riskAssessmentHazard);

            //When
            var result = riskAssessment.HasUndeletedTasks();

            //Then
            Assert.False(result);

        }
        public void Given_riskassessmenthazardid_that_exists_When_Find_Risk_Assessment_Hazard_Then_should_return_hazard()
        {
            //Given
            var target = GeneralRiskAssessment.Create("", "", default(long), null);
            
            var user = new UserForAuditing();
            var hazard = new Hazard();
            target.AttachHazardsToRiskAssessment(new[] { hazard }, user);


            var hazardId = target.Hazards.First().Id;

            //When
            var result = target.FindRiskAssessmentHazard(hazardId);

            //Then
            Assert.That(result, Is.Not.Null);
            
        }
Exemple #11
0
        private void CreateHazard(HazardTypes hazardType)
        {
            switch (hazardType)
            {
            case HazardTypes.STATIONARY_SPIKES:
                hazard = new StationarySpikes(this);
                break;

            case HazardTypes.RETRACTABLE_SPIKES:
                hazard = new RetractableSpikes(this);
                break;

            case HazardTypes.LAVA_FALLS:
                hazard = new Lavafall(this);
                break;
            }

            hazards.Add(hazard);
        }
Exemple #12
0
    private Hazard CreateHazard(int level, Vector3 pos, PlayerID owner = PlayerID.NP, float dir = 1)
    {
        Hazard hazard = null;

        if (DataUtility.gameData.isNetworkedGame && PhotonNetwork.IsMasterClient)
        {
            var hp = PhotonNetwork.Instantiate(Path.Combine(pathRelativeToResources, prefabName), pos, Quaternion.identity);
            hazard = hp.GetComponent <Hazard>();
        }
        else
        {
            hazard = GetPooledHazard();
        }

        hazard.Initialize(this, level, pos, owner, dir);
        hazards.Add(hazard);

        return(hazard);
    }
Exemple #13
0
        public IActionResult AdminPut(int id, [FromBody] Hazard hazard)
        {
            var userId = _UserManager.GetUserId(User);

            var existingHazard = _Context.Hazards.Find(id);

            if (existingHazard == null)
            {
                return(NotFound());
            }

            existingHazard.Latitude  = hazard.Latitude;
            existingHazard.Longitude = hazard.Longitude;
            existingHazard.Type      = hazard.Type;

            _Context.SaveChanges();

            return(Ok(existingHazard));
        }
        public void Given_a_GRA_has_duplicate_hazards_when_removing_the_duplicate_Then_it_should_be_removed()
        {
            //Given
            var user = new UserForAuditing();
            var target = GeneralRiskAssessment.Create("", "", default(long), null);
            var duplicateHazard = new Hazard() {Id = 123};

            target.Hazards.Add(MultiHazardRiskAssessmentHazard.Create(target,  new Hazard() {Id = 1}, null));
            target.Hazards.Add(MultiHazardRiskAssessmentHazard.Create(target, duplicateHazard, null));
            target.Hazards.Add(MultiHazardRiskAssessmentHazard.Create(target, duplicateHazard, null));

            //When
            target.DetachHazardsFromRiskAssessment(new List<Hazard> {duplicateHazard}, user);

            //Then
            Assert.That(target.Hazards.Count(x => x.Hazard.Id == duplicateHazard.Id && x.Deleted), Is.EqualTo(2));
            Assert.That(target.Hazards.Count(x => x.Hazard.Id != duplicateHazard.Id && !x.Deleted), Is.EqualTo(1));

        }
Exemple #15
0
    private void EnvironmentDetection()
    {
        float stench = 0;
        float noise  = 0;

        RaycastHit2D[] env = Physics2D.CircleCastAll(transform.position, 0.5f, Vector2.up, 1.0f, 1 << LayerMask.NameToLayer("Environment"));
        foreach (RaycastHit2D obj in env)
        {
            Distraction distraction = obj.transform.GetComponent <Distraction>();
            if (distraction != null)
            {
                float dist    = Vector2.Distance(transform.position, distraction.transform.position);
                float falloff = m_Falloff.Evaluate(dist / distraction.radius);
                float output  = distraction.distractionAmount * falloff;

                switch (distraction.distractionType)
                {
                case Distraction.DistractionType.Smell:
                    stench += output;
                    break;

                case Distraction.DistractionType.Noise:
                    noise += output;
                    break;
                }
            }
            else
            {
                Hazard hazard = obj.transform.GetComponent <Hazard>();
                if (hazard != null)
                {
                    float dist    = Vector2.Distance(transform.position, hazard.transform.position);
                    float falloff = m_Falloff.Evaluate(dist / hazard.radius);

                    stench -= hazard.smell * falloff;
                    noise  -= hazard.noise * falloff;
                }
            }
        }

        m_StinkCurrent = stench;
        m_NoiseCurrent = noise;
    }
Exemple #16
0
        public void meteoChange()
        {
            int rand = Hazard.Next(1, 100);

            if (rand > 0 && rand < Config.probaPluie)
            {
                meteo.Etat = "pluie";
                meteo.Notify();
            }
            else if (rand > Config.probaPluie && rand < (Config.probaPluie + Config.probaBrouillard))
            {
                meteo.Etat = "brouillard";
                meteo.Notify();
            }
            else
            {
                meteo.Etat = "soleil";
                meteo.Notify();
            }
        }
Exemple #17
0
    void OnTriggerEnter2D(Collider2D hitInfo)
    {
        if (!piercing)
        {
            Trail  trail  = hitInfo.GetComponent <Trail>();
            Weapon weapon = hitInfo.GetComponent <Weapon>();
            Hazard hazard = hitInfo.GetComponent <Hazard>();

            if (trail == null)
            {
                if (((!EnemyShot && weapon == null) || (EnemyShot && hazard == null)) && hitInfo.tag != "MainCamera" && hitInfo.gameObject.layer != 4)
                {
                    GameObject impact = Instantiate(impactEffect, transform.position, transform.rotation, impactEffect.transform.parent);
                    impact.transform.localScale = new Vector2(transform.localScale.x, transform.localScale.y);
                    SoundManager.PlaySound("shot explode");
                    Destroy(gameObject);
                }
            }
        }
    }
Exemple #18
0
 public HazardFile(string fileName)
 {
     try
     {
         using (STFReader stf = new STFReader(fileName, false))
         {
             stf.ParseFile(new STFReader.TokenProcessor[] {
                 new STFReader.TokenProcessor("tr_worldfile", () => { Hazard = new Hazard(stf); }),
             });
             //TODO This should be changed to STFException.TraceError() with defaults values created
             if (Hazard == null)
             {
                 throw new STFException(stf, "Missing Tr_WorldFile");
             }
         }
     }
     finally
     {
     }
 }
        public StandardVocabOutput Find(string find)
        {
            //Build filtered data cache
            var dataCache = new List<Hazard>();

            var hazards = _context.Hazards
                .Include(x => x.HazardType)
                .Include(x => x.Parent)
                .Where(x => find == "" || x.Value.ToLower().Contains(find.ToLower()));

            dataCache.AddRange(hazards.ToList());

            bool foundParents = true;
            while (foundParents)
            {
                foundParents = false;
                var copyCache = new Hazard[dataCache.Count];
                Array.Copy(dataCache.ToArray(), copyCache, dataCache.Count);
                foreach (var hazard in copyCache)
                {
                    if (hazard.Parent != null && !hazards.Any(x => x.Id == hazard.Parent.Id))
                    {
                        var parents = _context.Hazards
                                .Include(x => x.HazardType)
                                .Include(x => x.Parent)
                                .Where(x => x.Id == hazard.Parent.Id);

                        foreach (var parent in parents)
                        {
                            if (!dataCache.Any(x => x.Id == parent.Id))
                            {
                                dataCache.Add(parent);
                                foundParents = true;
                            }
                        }
                    }
                }
            }

            return new StandardVocabOutput { Items = GetHazards(dataCache.AsQueryable()) };
        }
Exemple #20
0
    /// <summary>
    /// Checks to see which safety item is getting picked up and acts accordingly
    /// </summary>
    public void Equip()
    {
        //collision timer fixes bugs of having constant visuals blocked by assets and
        //collision boxes
        collision_Timer = 10f;

        hazard_Menu_UI.SetActive(false);
        Pointer.MenuIsActive(false);
        Hazard hazard = safety_item.GetComponent <Hazard>();

        if (hazard != null)
        {
            hazard.Completed = true;
        }

        //attachs the helmet to player given it a more realistic feeling
        if (safety_item.name == "Hard_Hat" || safety_item.name == "Hard_Hat(Clone)")
        {
            safety_item.gameObject.tag = "Untagged";

            //print(safety_item.name);
            safety_item.transform.SetParent(player_Camera.transform);
            safety_item.transform.SetPositionAndRotation(player_Camera.transform.position, player_Camera.transform.rotation);

            player_Icon.ToggleHardHat(true);
            safety_item = null;
        }
        else if (safety_item.name == "Safety Vest" || safety_item.name == "Safety Vest(Clone)")
        {
            player_Icon.ToggleVest(true);
            Destroy(safety_item);
            safety_item = null;
        }
        else if (safety_item.name == "Safety Glasses" || safety_item.name == "Safety Glasses(Clone)")
        {
            player_Icon.ToggleGoggles(true);
            Destroy(safety_item);
            safety_item = null;
        }
        //destroy object and implement attaching to player;
    }
    private BloodParticleData GetBloodParticleData(Hazard hazard, Vector2 ninjaPosition)
    {
        var star = hazard as NinjaStarController;

        if (star != null)
        {
            var data = new BloodParticleData(Quaternion.Euler(0, 0, Random.Range(-40.0f, 40.0f)) * (star.Rigidbody2D.velocity * Random.Range(0.1f, 0.75f)), ninjaPosition);
            return(data);
        }
        var saw = hazard as RotatingHazard;

        if (saw != null)
        {
            float   speed    = saw.RotationSpeed;
            float   angle    = Random.Range(0.0f, 359.0f);
            Vector2 velocity = Quaternion.Euler(0, 0, angle) * new Vector2(speed * Random.Range(0.125f, 1.25f), 0);
            Vector2 position = Quaternion.Euler(0, 0, angle) * new Vector2(saw.Radius * 1.1f, 0) + saw.transform.position;
            return(new BloodParticleData(velocity, position));
        }
        return(new BloodParticleData(Random.insideUnitCircle * 10, ninjaPosition));
    }
        public void Given_controlmeasure_Then_should_add_correctly()
        {
            //Given
            var user = new UserForAuditing();
            var riskAssessment = GeneralRiskAssessment.Create("", "", default(long), null);
            var hazard = new Hazard();
            var riskAssessmentHazard = MultiHazardRiskAssessmentHazard.Create(riskAssessment, hazard, user);

            riskAssessmentHazard.Id = 1;
            
            var controlMeasure = MultiHazardRiskAssessmentControlMeasure.Create("", riskAssessmentHazard, user);

            riskAssessment.Hazards.Add(riskAssessmentHazard);

            //When
            riskAssessmentHazard.AddControlMeasure(controlMeasure, user);

            //Then
            Assert.That(riskAssessmentHazard.ControlMeasures.Count, Is.EqualTo(1));
            Assert.That(riskAssessmentHazard.LastModifiedBy, Is.EqualTo(user));
        }
Exemple #23
0
  } // End of Update

  // Return information if it is time to spawn hazard.
  private bool IsTimeToSpawn(Hazard hazard)
  {
    // If it is time to spawn hazard.
    if(this.last_random < this.time_since_last_spawn)
    {
      // Reset last spawn time.
      this.time_since_last_spawn=0;
      // Reset last random value.
      this.last_random=Random.Range(0.0F,hazard.seconds_to_spawn*this.spawn_rate*2);
      // Return true.
      return true;
    }
    // If it is not time to spawn hazard.
    else
    {
      // Actualize last spawn time.
      this.time_since_last_spawn = Time.deltaTime + this.time_since_last_spawn;
      // Return false.
      return false;
    }
  } // End of IsTimeToSpawn
Exemple #24
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        EditorGUILayout.LabelField("Approximated Stats");

        Hazard c = (Hazard)serializedObject.targetObject;

        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Stealth", UnityEngine.GUILayout.MaxWidth(UnityEngine.Screen.width * .31f));
        EditorGUILayout.LabelField("+", UnityEngine.GUILayout.MaxWidth(10));
        EditorGUILayout.IntField(Hazard.GetSkillDC(c.GetAttribute(MStatAttr.STEALTH), c.level) - 10);
        EditorGUILayout.LabelField("/", UnityEngine.GUILayout.MaxWidth(10));
        EditorGUILayout.IntField(Hazard.GetSkillDC(c.GetAttribute(MStatAttr.STEALTH), c.level));
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.IntField("Disable", Hazard.GetSkillDC(c.GetAttribute(MStatAttr.DISABLE), c.level));
        EditorGUILayout.IntField("AC", Hazard.GetArmorClass(c.GetAttribute(MStatAttr.AC), c.level));
        EditorGUILayout.IntField("Attack", Hazard.GetAttack(c.level, c.isComplex));
        EditorGUILayout.IntField("Save DC", Hazard.GetSaveDC(c.GetAttribute(MStatAttr.ABILITY_DC), c.level));
        EditorGUILayout.IntField("Fort", Hazard.GetFortReflexBonus(c.GetAttribute(MStatAttr.FORT), c.level));
        EditorGUILayout.IntField("Ref", Hazard.GetFortReflexBonus(c.GetAttribute(MStatAttr.REFX), c.level));
    }
        public void When_addfurtheractiontasks_Then_should_add_correctly()
        {
            //Given
            var user = new UserForAuditing();
            var hazard = new Hazard();
            var riskAssessment = new GeneralRiskAssessment();
            
            var target = MultiHazardRiskAssessmentHazard.Create(riskAssessment, hazard, user);

            var furtherActionTask = new MultiHazardRiskAssessmentFurtherControlMeasureTask();
            
            //When
            target.AddFurtherActionTask(furtherActionTask, user);

            //Then
            Assert.That(target.FurtherControlMeasureTasks.Count, Is.EqualTo(1));
            Assert.That(target.FurtherControlMeasureTasks.First().MultiHazardRiskAssessmentHazard, Is.EqualTo(target));
            Assert.That(target.LastModifiedBy, Is.EqualTo(user));
            Assert.That(target.LastModifiedOn.Value.Date, Is.EqualTo(DateTime.Today.Date));
            
        }
Exemple #26
0
    public void NextObject()
    {
        currentCooldown--;
        currentPosition++;

        if (currentCooldown <= 0)
        {
            int r = UnityEngine.Random.Range(0, possibleHazards.Count);
            while (apperanceCooldowns[r] > 0)             //Just check once?
            {
                r = UnityEngine.Random.Range(0, possibleHazards.Count);
            }

            for (int i = 0; i < apperanceCooldowns.Length; i++)
            {
                apperanceCooldowns[i] = Mathf.Clamp(apperanceCooldowns[i] - 1, 0, 100);
            }

            Hazard h = possibleHazards[r];

            apperanceCooldowns[r] = h.apperanceCooldown;

            if (h.cooldownOtherLanes)
            {
                controller.BlockHazard(2, h);
            }

            h.spawnedPosition = currentPosition;
            currentCooldown   = h.laneCooldown;

            GameObject g = GameObject.Instantiate(
                h.gameObject,
                h.spawnOffset + controller.transform.position + startingPosition.localPosition,
                Quaternion.identity * Quaternion.Euler(laneRotation));
            currentHazards.Add(g.GetComponent <Hazard>());

            CleanHazards();
        }
    }
Exemple #27
0
    void CheckHit(Collider2D hitInfo)
    {
        if (lastHit + iTime < Time.time)
        {
            Enemy  enemy  = hitInfo.GetComponent <Enemy>();
            Hazard hazard = hitInfo.GetComponent <Hazard>();
            if (enemy != null || hazard != null)
            {
                this.TakeDamage(20);

                //knockback
                if (hitInfo.transform.position.x - this.transform.position.x > 0)
                {
                    m_Rigidbody2D.AddForce(new Vector2(-3, 4) * knockback * m_Rigidbody2D.mass, ForceMode2D.Impulse);
                }
                else
                {
                    m_Rigidbody2D.AddForce(new Vector2(3, 4) * knockback * m_Rigidbody2D.mass, ForceMode2D.Impulse);
                }
            }
        }
    }
Exemple #28
0
        public IActionResult Hazards(Hazard theModel)
        {
            var optionsBuilder = new DbContextOptionsBuilder <AppContext>();

            optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb; Database=disaster_database;Trusted_Connection=True;");
            using (var context = new AppContext(optionsBuilder.Options))
            {
                Hazard temp = new Hazard {
                    Latitude    = theModel.Latitude,
                    Longitude   = theModel.Longitude,
                    PosReport   = 0,
                    NegReport   = 0,
                    Name        = theModel.Name,
                    Description = theModel.Description
                };

                context.Hazards.Add(temp);
                context.SaveChanges();
            }

            return(RedirectToAction("Hazards", "Home"));
        }
        public void Given_controlmeasure_Then_should_mark_control_measure_as_deleted()
        {
            //Given
            var user = new UserForAuditing();
            var riskAssessment = GeneralRiskAssessment.Create("", "", default(long), null);
            var hazard = new Hazard();

            var riskAssessmentHazard = MultiHazardRiskAssessmentHazard.Create(riskAssessment, hazard, user);
            riskAssessmentHazard.Id = 1;

            var controlMeasure = MultiHazardRiskAssessmentControlMeasure.Create("", riskAssessmentHazard, user);
            controlMeasure.Id = 1;

            riskAssessmentHazard.ControlMeasures.Add(controlMeasure);
            riskAssessment.Hazards.Add(riskAssessmentHazard);

            //When
            riskAssessmentHazard.RemoveControlMeasure(1, user);

            //Then
            Assert.That(riskAssessmentHazard.ControlMeasures[0].Deleted, Is.True);
        }
    public void SetUp(Color color, Hazard hazard, Vector2 ninjaPosition)
    {
        for (var i = 0; i < particleNumber; i++)
        {
            var     data             = GetBloodParticleData(hazard, ninjaPosition);
            Vector2 particleVelocity = data.Velocity;
            var     particle         = Instantiate(bloodParticle, data.Position, Quaternion.identity);
            particle.SetUp(color, particleVelocity);
        }

        var saw = hazard as RotatingHazard;

        if (saw != null)
        {
            for (var i = 0; i < 10; i++)
            {
                var position = (Vector2)saw.transform.position + (Random.insideUnitCircle * saw.Radius);
                var particle = Instantiate(bloodParticle, position, Quaternion.identity);
                particle.SetUp(color, Vector2.zero);
            }
        }
    }
Exemple #31
0
        public async Task <IActionResult> ConsumerPost([FromBody] Hazard hazard)
        {
            var user = await _UserManager.GetUserAsync(User);

            var permission = new Permission();

            permission.Delete = true;
            permission.Grant  = true;
            permission.Read   = true;
            permission.Write  = true;
            permission.Type   = Permissions.Hazard;
            permission.User   = user;

            hazard.Signature = permission.Signature = Guid.NewGuid();

            _Context.Permissions.Add(permission);
            _Context.Hazards.Add(hazard);

            _Context.SaveChanges();

            return(Ok(hazard));
        }
Exemple #32
0
        private void CheckHazards(BoundingBox2D playerBox)
        {
            foreach (Hazard hazard in hazards)
            {
                BoundingBox2D hazardBox = hazard.BoundingBox;

                if (hazard == lastHazard)
                {
                    if (!lastHazard.Active || !playerBox.Intersects(hazardBox))
                    {
                        lastHazard = null;
                    }
                }
                else if (hazard.Active)
                {
                    if (playerBox.Intersects(hazardBox))
                    {
                        lastHazard = hazard;
                        player.RegisterDamage(GetCollisionDirection(playerBox, hazardBox, hazard.Type));
                    }
                }
            }
        }
        public IList <HazardPdfCdfHazardTriplet> Calculate(string populationGroup, int currentState)
        {
            var stateTransitionCodes = new List <string>();
            var returnObject         = new List <HazardPdfCdfHazardTriplet>();

            Console.WriteLine("Calculating Transition:" + transitionCode);

            var observationList = hazardReader.GetData(populationGroup, dateFrom, dateTo,
                                                       new Domain.Date.DateIncrement(DateIncrementTypes.Month, 1), transitionCode, currentState, 1);

            //var nelsonAalen = new KaplanMeier(observationList);
            //var nResult = nelsonAalen.GetSurvivalValueUpToPeriod(periods);
            var hazard = new Hazard(observationList);

            var hzd = hazard.GetHazardFunctionOverEachPeriod();
            var pdf = hazard.GetPDF();
            var cdf = hazard.SurvivalFunction();

            returnObject.Add(new HazardPdfCdfHazardTriplet(pdf, cdf, hzd, dateFrom, transitionCode, populationGroup.ToString()));


            return(returnObject);
        }
Exemple #34
0
    protected void CreateBullet(Vector2 offset, float angle)
    {
        offset = Math.Project2Dto3D(offset);
        Vector3 localOffset = transform.TransformPoint(offset);

        Debug.DrawLine(transform.position, localOffset, Color.yellow, 1);
        var newAmmo = Instantiate(Ammo, localOffset, Quaternion.identity);

        Projectile p = newAmmo.GetComponent <Projectile>();

        if (p)
        {
            p.Fire(transform.forward);
        }

        Hazard hazard = newAmmo.GetComponent <Hazard>();

        if (hazard)
        {
            hazard.ignoredColliders = new List <Collider>(collidersToIgnore);
            hazard.enabled          = true;
        }
    }
        public void LevelUpTest()
        {
            // Character with initial resistance of 0
            Character c4Clone = c4.Copy();

            // Hazard that deals 4 HP
            Hazard h3Clone = h3.Copy();

            // Destructible with 5 HP
            Destructible d2Clone = d2.Copy();

            h3Clone.ApplyDamage(c4Clone);

            // Since C4 has no resistance, hazard deals full damage
            Assert.AreEqual(c4Clone.HP, 7);

            for (int i = 0; i < 5; i++)
            {
                c4Clone.LevelUp();
            }

            // Character 1 grew up 5 levels
            Assert.AreEqual(c4Clone.Level, 6);

            //(int)System.Math.Ceiling(0 + (1 * (6 - 1) * 0.25)); = 2
            Assert.AreEqual(c4Clone.Resistance, 2);

            h3Clone.ApplyDamage(c4Clone);

            // After leveling up, hazard deals 1HP
            Assert.AreEqual(c4Clone.HP, 6);

            c4Clone.ApplyDamage(d2Clone);

            // After leveling up, C4 has 3 strength
            Assert.AreEqual(d2Clone.HP, 2);
        }
        public void Given_controlmeasure_Then_should_update_correctly()
        {
            //Given
            string target = "Test";
            var user = new UserForAuditing();
            var riskAssessment = GeneralRiskAssessment.Create("", "", default(long), null);
            var hazard = new Hazard();

            var riskAssessmentHazard = MultiHazardRiskAssessmentHazard.Create(riskAssessment, hazard, user);
            riskAssessmentHazard.Id = 1;

            var controlMeasure = MultiHazardRiskAssessmentControlMeasure.Create("", riskAssessmentHazard, user);
            controlMeasure.Id = 1;

            riskAssessmentHazard.ControlMeasures.Add(controlMeasure);
            riskAssessment.Hazards.Add(riskAssessmentHazard);

            //When
            riskAssessment.UpdateControlMeasureForRiskAssessmentHazard(1, 1, target, user);

            //Then
            Assert.That(riskAssessmentHazard.ControlMeasures.Count(c => c.ControlMeasure == target), Is.EqualTo(1));
            Assert.That(riskAssessmentHazard.LastModifiedBy, Is.EqualTo(user));
        }
Exemple #37
0
        private void HandleHazard(Hazard hazard)
        {
            _log.ErrorIfNull(hazard, $"{hazard} has tag {Tags.Hazard} but does not have an item component.");

            foreach (var effect in hazard.Effects)
            {
                switch (effect)
                {
                case HazardEffects.Damage:
                    var damagingHazard = hazard as IDamaging;
                    _log.ErrorIfNull(damagingHazard, $"{hazard} has effect {effect} but does not implement {typeof(IDamaging).Name}.");
                    ApplyDamage(damagingHazard.Damage);
                    break;

                case HazardEffects.Impulse:
                    var knockbackHazard = hazard as IImpulsive;
                    _log.ErrorIfNull(knockbackHazard, $"{hazard} has effect {effect} but does not implement {typeof(IImpulsive).Name}.");
                    _rigidbody.velocity = knockbackHazard.GetImpulse(transform.position, _rigidbody.velocity);
                    break;

                default: _log.Error($"Unknown effect '{effect}'."); break;
                }
            }
        }
Exemple #38
0
    override protected IEnumerator AnimationCoroutine(GridBlock targetBlock)
    {
        ParticleSystem ps = GetComponent <ParticleSystem>();

        foreach (GameObject target in targetBlock.objectsOnBlock)
        {
            Hazard hazardTest = target.GetComponent <Hazard>();
            if (hazardTest != null)
            {
                var trigger = ps.trigger;
                trigger.enabled = true;

                trigger.SetCollider(0, target.GetComponent <Collider>());
                trigger.radiusScale = 0.5f;

                ps.Play();
                yield return(new WaitForSeconds(2.0f));

                ps.Stop();

                break;
            }
        }
    }
 private bool HazardAttachedToRiskAssessment(Hazard hazard)
 {
     return Hazards.Any(x => x.Hazard.Id == hazard.Id);
 }
 private bool HazardNotAttachedToRiskAssessment(Hazard hazard)
 {
     return Hazards.Count(x => x.Hazard.Id == hazard.Id) == 0;
 }
 public virtual void UpdateHazardOrder(Hazard hazard, int orderNumber, UserForAuditing user)
 {
     if (HazardAttachedToRiskAssessment(hazard))
     {
         var riskAssessmentHazard = Hazards.First(x => x.Hazard.Id == hazard.Id);
         riskAssessmentHazard.OrderNumber = orderNumber;
         riskAssessmentHazard.SetLastModifiedDetails(user);
         SetLastModifiedDetails(user);
     }
 }
        private void DetachHazardFromRiskAssessment(Hazard hazard, UserForAuditing user)
        {
            if (Hazards.Count(x => x.Hazard.Id == hazard.Id) == 0)
            {
                throw new HazardNotAttachedToRiskAssessmentException(Id, hazard.Id);
            }

            Hazards.Where(x => x.Hazard.Id == hazard.Id)
                .ToList()
                .ForEach(multiHazardRiskAssessmentHazard =>
                             {
                                 if (!multiHazardRiskAssessmentHazard.CanDeleteHazard())
                                 {
                                     throw new Exception("MultiHazardRiskAssessmentHazard with Id " + multiHazardRiskAssessmentHazard.Id.ToString(CultureInfo.InvariantCulture) +
                                                         " cannot be removed from risk assessment because it contains Control Measures or Further Control Measures.");
                                 }

                                 if (multiHazardRiskAssessmentHazard.ControlMeasures != null)
                                 {
                                     multiHazardRiskAssessmentHazard.ControlMeasures.ToList().ForEach(x => x.SetLastModifiedDetails(user));
                                 }

                                 multiHazardRiskAssessmentHazard.Deleted = true;
                                 multiHazardRiskAssessmentHazard.SetLastModifiedDetails(user);
                             });

            SetLastModifiedDetails(user);
        }
Exemple #43
0
        public override void Deplacement(int dimX, int dimY, PersonnageAbstrait unPerso)
        {
            ObservableCollection <ZoneAbstrait> zoneAccessible = new ObservableCollection <ZoneAbstrait>();
            ZoneAbstrait zoneFourmille = null;

            foreach (ZoneAbstrait uneZone in unPerso.ChoixZoneSuivante.Zonesaccessibles)
            {
                /*si on trouve une Fourmille on l'attaque*/
                if (uneZone.PersonnageList.Where(x => x.GetType().Equals(typeof(Reine))).Count() > 0)
                {
                    zoneFourmille = uneZone;
                    break;
                }
                else if (uneZone.PersonnageList.Where(x => x.GetType().Equals(typeof(Ouvriere))).Count() > 0)
                {
                    zoneFourmille = uneZone;
                    break;
                }
                else if (uneZone.PersonnageList.Where(x => x.GetType().Equals(typeof(Guerriere))).Count() > 0)
                {
                    zoneFourmille = uneZone;
                    break;
                }
                else
                {
                    zoneAccessible.Add(uneZone);
                }
            }

            if (zoneFourmille != null)
            {
                unPerso.Position.X = zoneFourmille.Position.X;
                unPerso.Position.Y = zoneFourmille.Position.Y;
            }
            else
            {
                int maCase = Hazard.Next(zoneAccessible.Count);
                zoneAccessible.OrderByDescending(x => x.Position.X);
                if (unPerso.Position.X > unPerso.Maison.X)
                {
                    if (zoneAccessible[maCase].Position.X != unPerso.Position.X && (unPerso.Position.X - unPerso.Maison.X) > zoneAccessible[maCase].Position.X - unPerso.Maison.X)
                    {
                        unPerso.Position.X = zoneAccessible[maCase].Position.X;
                    }
                }
                else
                {
                    if (zoneAccessible[maCase].Position.X != unPerso.Position.X && (unPerso.Position.X - unPerso.Maison.X) < zoneAccessible[maCase].Position.X - unPerso.Maison.X)
                    {
                        unPerso.Position.X = zoneAccessible[maCase].Position.X;
                    }
                }

                if (unPerso.Position.Y > unPerso.Maison.Y)
                {
                    if (zoneAccessible[maCase].Position.Y != unPerso.Position.Y && (unPerso.Position.Y - unPerso.Maison.Y) > zoneAccessible[maCase].Position.Y - unPerso.Maison.Y)
                    {
                        unPerso.Position.Y = zoneAccessible[maCase].Position.Y;
                    }
                }
                else
                {
                    if (zoneAccessible[maCase].Position.Y != unPerso.Position.Y && (unPerso.Position.Y - unPerso.Maison.Y) < zoneAccessible[maCase].Position.Y - unPerso.Maison.Y)
                    {
                        unPerso.Position.Y = zoneAccessible[maCase].Position.Y;
                    }
                }
            }

            /*
             * int newX = unPerso.Position.X + Hazard.Next(3) - 1;
             * int newY = unPerso.Position.Y + Hazard.Next(3) - 1;
             * if ((newX >= 0) && (newX < dimX) && (newX<=unPerso.Maison.X+5) && (newX>=unPerso.Maison.X-5)) unPerso.Position.X = newX;
             * if ((newY >= 0) && (newY < dimX) && (newY <= unPerso.Maison.Y + 5) && (newY >= unPerso.Maison.Y - 5)) unPerso.Position.Y = newY;
             */
        }
Exemple #44
0
	Type GetTypeOfHazard(Hazard HazardPrefab)
	{
		return HazardPrefab.GetType();
	}
        public void Given_general_risk_assessment_When_AttachHazardToRiskAssessment_for_a_hazard_that_has_already_been_attached_then_no_error_message_and_no_duplicates()
        {
            var hazard = new Hazard() { Id = 123 };
            var hazard1 = MultiHazardRiskAssessmentHazard.Create(_generalRiskAssessment, hazard, null);
            var hazard2 = MultiHazardRiskAssessmentHazard.Create(_generalRiskAssessment, hazard, null);

            _generalRiskAssessment.AttachHazardToRiskAssessment(hazard,null);
            _generalRiskAssessment.AttachHazardToRiskAssessment(hazard, null);

            Assert.That(_generalRiskAssessment.Hazards.Count, Is.EqualTo(1));
            Assert.That(_generalRiskAssessment.Hazards[0].Hazard.Id, Is.EqualTo(hazard.Id));
        }
Exemple #46
0
 public static Hazard Copy(this Hazard hazard)
 {
     return(new Hazard(hazard.Strength));
 }
 public HazardDetail(Hazard haz)
 {
     InitializeComponent();
     BindingContext = new HazardDetailViewModel(Navigation, haz);
 }
Exemple #48
0
        public HazardWindow(MainEditorWindow form, Hazard hazard, bool editing)
        {
            this.form = form;
            this.editing = editing;
            this.hazard = hazard;

            InitializeComponent();
            this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;

            directions = new List<String>();
            directions.AddRange(new string[] { "UP", "DOWN", "LEFT", "RIGHT" });
            hazards = new List<string>();
            hazards.AddRange(new string[] { "SpikeShooter", "Moving platform" });
            this.comboBox2.DataSource = directions;
            this.comboBox1.DataSource = hazards;

            if (hazard is SpikeShooter)
            {
                /* Make sure the correct hazard is chosen in the combobox and disable the box,
                 to prevent a casting error. */
                this.comboBox1.SelectedIndex = 0;
                this.comboBox1.Enabled = false;

                SpikeShooter s = (SpikeShooter)hazard;

                switch (s.Direction)
                {
                    case Direction.UP:
                        this.comboBox2.SelectedIndex = 0;
                        break;
                    case Direction.DOWN:
                        this.comboBox2.SelectedIndex = 1;
                        break;
                    case Direction.LEFT:
                        this.comboBox2.SelectedIndex = 2;
                        break;
                    case Direction.RIGHT:
                        this.comboBox2.SelectedIndex = 3;
                        break;
                }

                this.xField.Text = "" + s.PosX;
                this.yField.Text = "" + s.PosY;
                this.timingField.Text = "" + s.Timing;
            }
            else if (hazard is MovingPlatform)
            {
                /* Make sure the correct hazard is chosen in the combobox and disable the box,
                 to prevent a casting error. */
                this.comboBox1.SelectedIndex = 1;
                this.comboBox1.Enabled = false;

                MovingPlatform m = (MovingPlatform)hazard;

                switch (m.Direction)
                {
                    case Direction.UP:
                        this.comboBox2.SelectedIndex = 0;
                        break;
                    case Direction.DOWN:
                        this.comboBox2.SelectedIndex = 1;
                        break;
                    case Direction.LEFT:
                        this.comboBox2.SelectedIndex = 2;
                        break;
                    case Direction.RIGHT:
                        this.comboBox2.SelectedIndex = 3;
                        break;
                }

                this.xField.Text = "" + m.PosX;
                this.yField.Text = "" + m.PosY;
                this.lengthField.Text = "" + m.Length; ;
                this.speedField.Text = "" + m.Speed;
                this.movementField.Text = "" + m.MovementAmount;
            }
        }
 public void AddHazard(Hazard hazard)
 {
     hazards.Add(hazard);
     this.gridPanel.Invalidate(true);
     gridPanel.Update();
 }
        public void Given_control_measure_doesnt_exist_When_removing_control_measure_Then_should_get_correct_exception()
        {
            //Given
            var user = new UserForAuditing();
            var riskAssessment = GeneralRiskAssessment.Create("", "", default(long), null);
            var hazard = new Hazard();

            var riskAssessmentHazard = MultiHazardRiskAssessmentHazard.Create(riskAssessment, hazard, user);
            riskAssessmentHazard.Id = 1;

            var controlMeasure = MultiHazardRiskAssessmentControlMeasure.Create("", riskAssessmentHazard, user);
            controlMeasure.Id = 1;

            riskAssessmentHazard.ControlMeasures.Add(controlMeasure);
            riskAssessment.Hazards.Add(riskAssessmentHazard);

            //When
            //Then
            Assert.Throws<ControlMethodDoesNotExistInHazard>(() => riskAssessmentHazard.RemoveControlMeasure(2, user));
        }     
 public virtual void AttachHazardToRiskAssessment(Hazard hazard, UserForAuditing user)
 {
     if (!HazardAttachedToRiskAssessment(hazard))
     {
         var multiHazardRiskAssessmentHazard = MultiHazardRiskAssessmentHazard.Create(this, hazard, user);
         Hazards.Add(multiHazardRiskAssessmentHazard);
         SetLastModifiedDetails(user);
     }
 }
Exemple #52
0
 public void SelectHazard(Hazard _hazard)
 {
     hazard = _hazard;
 }
Exemple #53
0
 void Awake()
 {
     plane = GetComponentInChildren<Hazard>();
 }
        public void Given_general_risk_assessment_contains_duplicate_hazards_When_CloneForRiskAssessmentTemplating_called_Then_only_one_hazard_entered()
        {
            var hazard =  new Hazard() { Id = 123 };
            var hazard1 = MultiHazardRiskAssessmentHazard.Create(_generalRiskAssessment, hazard, null);
            var hazard2 = MultiHazardRiskAssessmentHazard.Create(_generalRiskAssessment, hazard, null);
            _generalRiskAssessment.Hazards.Add(hazard1);
            _generalRiskAssessment.Hazards.Add(hazard2);

            var newGeneralRiskAssessment = _generalRiskAssessment.Copy("General Risk Assessment 3", "GRA03", _currentUser) as GeneralRiskAssessment;
            Assert.That(newGeneralRiskAssessment.Hazards.Count, Is.EqualTo(1));
            Assert.That(newGeneralRiskAssessment.Hazards[0].Hazard.Id, Is.EqualTo(hazard.Id));
        }
Exemple #55
0
 protected override void OnHazardTriggered(Hazard hazard)
 {
     _triggered.Value = true;
 }
    public void freezeHazard(Hazard haz)
    {
        haz.permafreeze();

        IceExplosion.Play();
    }
    private void OnCollisionEnter2D(Collision2D col)
    {
        if (removing)
        {
            return;
        }
        //collision with geometry
        //collision.contacts[0].normal

        GenericEnemy en = col.gameObject.GetComponent <GenericEnemy>();

        if ((en != null) && (en.Alive) && (!col.collider.isTrigger))
        {
            if (CanFreezeEnemies)
            {
                if (Launched)
                {
                    en.freeze(1.2f);
                    FreezePoof.Play();
                    Remove();
                }
                else
                {
                    /*
                     * if (FreezeFieldWhileHeld)
                     * {
                     *  en.freeze(1.2f);
                     *  FreezePoof.Play();
                     * }
                     */
                }
            }


            return;
        }

        EnemyProjectile proj = col.gameObject.GetComponent <EnemyProjectile>();

        if ((proj != null) && (proj.enabled) && (proj.Live) && (CanFreezeProjectiles))
        {
            freezeProjectile(proj);
            Remove();
            return;
        }

        Hazard haz = col.gameObject.GetComponent <Hazard>();

        if ((haz != null) && (haz.enabled) && (!haz.Permafrozen))
        {
            if (CanFreezeHazards)
            {
                freezeHazard(haz);
            }
            Remove();
            return;
        }
        //EnvironmentHazard

        if (col.gameObject.layer == LayerMask.NameToLayer("Geometry"))
        {
            //Hit a wall.
            //Create Ice on this wall
            if (FormsIcePillar)
            {
                Vector2   ndir = col.contacts[0].normal;
                IcePillar p    = GameObject.Instantiate(IcePillarPrefab, col.contacts[0].point, Quaternion.LookRotation(ndir, -Vector3.forward)).GetComponent <IcePillar>();
                //p.transform.Rotate(90f,0f,0f,Space.World);
                p.Lifetime = 5f;
            }


            FreezePoof.Play();
            if (BlizzardField)
            {
                explode();
            }
            Remove();
            return;
        }
    }
Exemple #58
0
        private void saveButton_Click(object sender, EventArgs e)
        {
            if (this.comboBox1.SelectedIndex == 0)
            {
                SpikeShooter s = (SpikeShooter)hazard;
                Direction direction = Direction.UP;
                switch (this.comboBox2.SelectedIndex)
                {
                    case 1:
                        direction = Direction.DOWN;
                        break;
                    case 2:
                        direction = Direction.LEFT;
                        break;
                    case 3:
                        direction = Direction.RIGHT;
                        break;
                }
                s.Direction = direction;
                s.PosX = Int32.Parse(this.xField.Text);
                s.PosY = Int32.Parse(this.yField.Text);
                s.Timing = Int32.Parse(this.timingField.Text);
                if (s.Timing <= 0)
                {
                    s.Timing = 1;
                }
                if (!editing)
                {
                    form.AddHazard(s);
                }
                else
                {
                    form.UpdateHazards();
                }
            }
            if (this.comboBox1.SelectedIndex == 1)
            {

                hazard = new MovingPlatform();
                MovingPlatform m = (MovingPlatform)hazard;
                Direction direction = Direction.UP;
                switch (this.comboBox2.SelectedIndex)
                {
                    case 1:
                        direction = Direction.DOWN;
                        break;
                    case 2:
                        direction = Direction.LEFT;
                        break;
                    case 3:
                        direction = Direction.RIGHT;
                        break;
                }
                m.Direction = direction;
                m.PosX = Int32.Parse(this.xField.Text);
                m.PosY = Int32.Parse(this.yField.Text);
                m.Speed = Int32.Parse(this.speedField.Text);
                m.MovementAmount = Int32.Parse(this.movementField.Text);
                m.Length = Int32.Parse(this.lengthField.Text);
                if (m.Speed <= 0)
                {
                    m.Speed = 1;
                }
                if (m.MovementAmount <= 0)
                {
                    m.MovementAmount = 1;
                }
                if (m.Length <= 0)
                {
                    m.Length = 1;
                }
                if (!editing)
                {
                    form.AddHazard(m);
                }
                else
                {
                    form.UpdateHazards();
                }
            }
            Close();
        }