private void PlantMines() { checkTimeRemaining -= Time.deltaTime; if (checkTimeRemaining < float.Epsilon) { Landmine mine = new Landmine(); mine.Position = Position; m_landmines.Add(mine); checkTimeRemaining = mineCheckFrequency; // determine whether to play sound if (Random.Range(0, 100) < m_clipProbability) { if (!m_audio.isPlaying) { // find the sound to play int index = Random.Range(0, m_audioclips.Count); m_audio.clip = m_audioclips[index]; m_audio.Play(); } } } }
public void ReturnsTrueIfClientIdIsNull() { var target = new Landmine(); var result = target.RequestGate(null, null); Assert.IsTrue(result); }
private void OnTriggerEnter2D(Collider2D collision) { Landmine landmine = collision.gameObject.GetComponent <Landmine>(); if (landmine != null) { landmine.Explode(); } Explosion explosion = collision.gameObject.GetComponent <Explosion>(); if (explosion != null) { explosion.DisableCollision(); Vector2 dir = (transform.position - explosion.transform.position).normalized; rb.velocity = new Vector2(0, 0); rb.AddForce(dir * explosion.explodePower, ForceMode2D.Impulse); outtaControl = true; cameraShake.Shake(); } Ending ending = collision.gameObject.GetComponent <Ending>(); if (ending != null) { RegainControl(); rb.velocity = Vector2.zero; ending.End(); Destroy(this); } }
public void PlaceMines() { int x = Mathf.FloorToInt(Player.transform.position.x); int y = Mathf.FloorToInt(Player.transform.position.y); for (int px = x - size; px < x + size + 1; px++) { for (int py = y - size; py < y + size + 1; py++) { if (px >= 0 && px < tscript.blocks.GetLength(0) && -py >= 0 && -py < tscript.blocks.GetLength(1)) { if (tscript.blocks[px, -py] == 70) { if (!poola.VerifyPosition(new Vector2(px + 0.44f, py - 0.557f))) { int i = poola.GetPooledObject(); if (i != -100) { poola.pooledObjects[i].transform.position = new Vector3(px + 0.44f, py - 0.557f, -0.01f); poola.pooledObjects[i].SetActive(true); Landmine rand = poola.pooledObjects[i].GetComponent <Landmine>(); rand.sendoUsada = false; Renderer rend = poola.pooledObjects[i].GetComponent <Renderer>(); //rend.enabled = false; color = rend.material.color; color.a = 0; rend.material.color = color; } } } } } } }
public void OnLandmineInteraction(Landmine landmine) { Vector3 force = (transform.position - landmine.transform.position).normalized * landmineHitForce; Vector3 position = landmine.transform.position; AddForceNetworkTest(landmine.Sender.ID, force, position); }
public void SetsExpectedDefaults() { var target = new Landmine(); Assert.AreEqual("Landmine", target.LandmineName); Assert.AreEqual("8008", target.ExpectedValue); Assert.AreEqual(120, target.Seconds); }
public override void ServerInit() { base.SetFlag(BaseEntity.Flags.On, false, false, true); Landmine landmine = this; base.Invoke(new Action(landmine.Arm), 1.5f); base.ServerInit(); }
public void ReturnsFalseIfExpectedValueNotEmptyFoundInUnknown() { var requestMock = new Mock <HttpRequestBase>(); var target = new Landmine { RequestArea = (RequestArea)Enum.ToObject(typeof(RequestArea), -1) }; var result = target.RequestGate("6AC9EB3D5C814D728E2D4C8F49C4F480", requestMock.Object); Assert.IsFalse(result); }
public override EventResult Process(Logger logger) { logger.Log($"{_owner.Name} plants a landmine."); var landmine = new Landmine(_owner, _owner.Position, _owner.GameMap); var result = new EventResult(); result.ChainEvent = new LandmineWaitingEvent(landmine); return(result); }
public bool OnFire(float angle, Weapon weapon, WeaponStats _) { if (Randomf.Chance(Intensity * weapon.cooldown)) { GameObject mine = SpawnPrefab(weapon.transform.position, new Vector3(0, 0, angle), weapon.transform.parent); Landmine landmine = mine.GetComponent <Landmine>(); landmine.Activate(Intensity * 2, Intensity * 5, weapon.GetComponent <BaseController>()); return(true); } return(false); }
public void ReturnsFalseIfExpectedValueNotFoundInForm() { var requestMock = new Mock <HttpRequestBase>(); requestMock.Setup(x => x.Form).Returns(new NameValueCollection { { "Landmine", "100" }, }); var target = new Landmine { RequestArea = RequestArea.Form }; var result = target.RequestGate("0BDFD8A29F084D5492B0CF2E717E7195", requestMock.Object); Assert.IsFalse(result); }
public void ReturnsTrueIfExpectedValueFoundInQueryString() { var requestMock = new Mock <HttpRequestBase>(); requestMock.Setup(x => x.QueryString).Returns(new NameValueCollection { { "Landmine", "8008" }, }); var target = new Landmine { RequestArea = RequestArea.QueryString }; var result = target.RequestGate("51CF66EC32974C40A1F54081CC4D53F7", requestMock.Object); Assert.IsTrue(result); }
public void ReturnsFalseIfExpectedValueNotFoundInQueryString() { var requestMock = new Mock <HttpRequestBase>(); requestMock.Setup(x => x.QueryString).Returns(new NameValueCollection { { "Landmine", "100" }, }); var target = new Landmine { RequestArea = RequestArea.QueryString }; var result = target.RequestGate("0CB0F4EFC88143D7AA4E332B414A91D2", requestMock.Object); Assert.IsFalse(result); }
public void ReturnsTrueIfExpectedValueFoundInHeaders() { var requestMock = new Mock <HttpRequestBase>(); requestMock.Setup(x => x.Headers).Returns(new NameValueCollection { { "Landmine", "8008" }, }); var target = new Landmine { RequestArea = RequestArea.Header }; var result = target.RequestGate("D3BCEC0D7E724E9FBF8042FAC0DADB0C", requestMock.Object); Assert.IsTrue(result); }
public void ReturnsFalseIfCacheContainsLandmineTag() { HttpRuntime.Cache.Add( "Landmined-B08B9F4B94404FFFAB41E244C69932F7", true, null, DateTime.Now.AddSeconds(10), Cache.NoSlidingExpiration, CacheItemPriority.Low, null); var target = new Landmine(); var result = target.RequestGate(null, null); Assert.IsTrue(result); }
public static void On_LandmineTriggered(Landmine landmine, BasePlayer basePlayer) { LandmineTriggerEvent landmineTriggerEvent = new LandmineTriggerEvent(landmine, basePlayer); OnNext("On_LandmineTriggered", landmineTriggerEvent); if (landmineTriggerEvent.Explode) { if (basePlayer != null) { landmine.SetFieldValue("triggerPlayerID", basePlayer.userID); } landmine.SetFlag(BaseEntity.Flags.Open, true); landmine.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); } }
public override void Activate(GameObject parent) { Transform mineLocation = parent.GetComponent <GunPosition>().shootPosition; //Create a landmine at the start position GameObject landmineInstance = Instantiate(landMine, mineLocation.transform.position, Quaternion.identity); BotSensor sensor = parent.GetComponentInParent <BotSensor>(); int enemyLayer = sensor.GetEnemyLayer(); //Fetch script/data for landmine Landmine projectileScript = landmineInstance.GetComponent <Landmine>(); //Tells landmine values projectileScript.SetValues(damage, projectileSize, enemyLayer); // call a destroy function on landmineInstance //TODO: Set landmine knockback }
public override void ObjectEntered(GameObject obj) { if (base.isClient) { return; } if (!this.Armed()) { Landmine landmine = this; base.CancelInvoke(new Action(landmine.Arm)); this.blocked = true; return; } if (Interface.CallHook("OnTrapTrigger", this, obj) != null) { return; } this.Trigger(obj.ToBaseEntity() as BasePlayer); }
private void DestroyRPC(int id) { if (Instance == null) { return; } m_Landmines.RemoveAll(x => x == null); Landmine landmine = m_Landmines.Find(x => x.ID == id); if (landmine != null) { landmine.SpawnExplosion(); m_Landmines.Remove(landmine); m_Pool.Reserve(landmine.GetComponent <PooledObject>()); } }
private void SpawnNewRPC(Vector3 position, float fuse, int damage, int health, float radius, int viewID, int mineID, double createTime) { Landmine landmine = m_Pool.Spawn <Landmine>(); float dt = (float)(PhotonNetwork.time - createTime); fuse -= dt; landmine.Health.SetMaxValue(health, true); landmine.transform.SetParent(transform); landmine.SetFuse(fuse); landmine.SetPosition(position); landmine.SetDamage(damage); landmine.SetRadius(radius); landmine.SetSenderID(viewID); landmine.SetID(mineID); m_Landmines.Add(landmine); m_LandmineID = mineID + 1; }
public void BackStep() { // drop landmines if (isRunning) { if (!IsPartCoolingDown()) { ResetCooldownTimer(); //Create a landmine at the start position GameObject landmineInstance = Instantiate(landmine, projectileStartPos.transform.position, Quaternion.identity); //Fetch script/data for landmine Landmine projectileScript = landmineInstance.GetComponent <Landmine>(); //Tells landmine values projectileScript.SetValues(damage, projectileSize, enemyLayer); // call a destroy function on landmineInstance //TODO: Set landmine knockback } } }
private object IOnTrapDisarm(Landmine trap, BaseEntity.RPCMessage msg) { return Interface.CallHook("OnTrapDisarm", trap, msg.player); }
public LandmineWaitingEvent(Landmine landmine) { Landmine = landmine; }
private void OnTrapDisarm(Landmine trap, BasePlayer player) { HookCalled("OnTrapDisarm"); }
/// <summary> /// Called from <c>Landmine.Trigger(BasePlayer)</c> /// </summary> public static void On_LandmineTriggered(Landmine landmine, BasePlayer basePlayer) { Pre<LandmineTriggerEvent> preLandmineTriggerEvent = new Pre<LandmineTriggerEvent>(landmine, basePlayer); OnNext("Pre_LandmineTriggered", preLandmineTriggerEvent); if (preLandmineTriggerEvent.IsCanceled == false) { if (basePlayer != null) { landmine.SetFieldValue("triggerPlayerID", basePlayer.userID); } landmine.SetFlag(BaseEntity.Flags.Open, true); landmine.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); OnNext("On_LandmineTriggered", preLandmineTriggerEvent.Event); } }
/// <summary> /// Called from <c>Landmine.Explode()</c> /// </summary> public static void On_LandmineExploded(Landmine l) => OnNext("On_LandmineExploded", l);
/// <summary> /// Called from <c>Landmine.Arm()</c> /// </summary> public static void On_LandmineArmed(Landmine l) => OnNext("On_LandmineArmed", l);
public void On_LandmineExploded(Landmine l) { SetHookWorking("On_LandmineExploded"); Broadcast("Landmine has exploded"); }
public void On_LandmineArmed(Landmine l) { SetHookWorking("On_LandmineArmed"); Broadcast("Landmine has been armed"); }
public static void On_LandmineArmed(Landmine l) { OnNext("On_LandmineArmed", l); }
public LandmineTriggerEvent(Landmine landmine, BasePlayer player) { _landmine = landmine; _player = Server.GetPlayer(player); }
public override void OnKilled(HitInfo info) { Landmine landmine = this; base.Invoke(new Action(landmine.Explode), UnityEngine.Random.Range(0.1f, 0.3f)); }
public static void On_LandmineExploded(Landmine l) { OnNext("On_LandmineExploded", l); }
public static void LandmineArmed(Landmine l) { OnLandmineArmed.OnNext(l); }
public static void LandmineExploded(Landmine l) { OnLandmineExploded.OnNext(l); }
private void overloadAttack() { //Animation //overload overload = Instantiate(overloadObject, transform.position, transform.rotation) as Landmine; overload_CD = 0; }
public static void On_LandmineTriggered(Landmine landmine, BasePlayer basePlayer) { LandmineTriggerEvent landmineTriggerEvent = new LandmineTriggerEvent(landmine, basePlayer); OnNext("On_LandmineTriggered", landmineTriggerEvent); if (landmineTriggerEvent.Explode) { if (basePlayer != null) landmine.SetFieldValue("triggerPlayerID", basePlayer.userID); landmine.SetFlag(BaseEntity.Flags.Open, true); landmine.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); } }