bool FindFireSpawnPoint(Fire spawner, ref Vector2 gridOffset) { bool oldRaycastsStartInColliders = Physics2D.raycastsStartInColliders; // Store the current value of raycastsStartInColliders because we're going to change it here temporarily. Physics2D.raycastsStartInColliders = false; Vector2[] possibleDirections = { new Vector2(-1, 0), //Vector2.left, //TODO Change back new Vector2(1, 0), //Vector2.right, new Vector2(0, 1), //Vector2.up, new Vector2(0, -1), //Vector2.down }; List<Vector2> allowedDirections = new List<Vector2>(); for (int i = 0; i < possibleDirections.Length; ++i) { float distanceToAdjacentsquare = new Vector2(possibleDirections[i].x * gridSquareDimensions.x, possibleDirections[i].y * gridSquareDimensions.y).magnitude; RaycastHit2D hit = Physics2D.Raycast (spawner.transform.position, possibleDirections[i]); if (hit.collider != null) { if (hit.distance > distanceToAdjacentsquare) { allowedDirections.Add(possibleDirections[i]); } } } Physics2D.raycastsStartInColliders = oldRaycastsStartInColliders; // Restore the old value. if (allowedDirections.Count > 0) { int selected = Random.Range(0, allowedDirections.Count); gridOffset = allowedDirections[selected]; return true; } else { MakeFlameNonspreadable(spawner); return false; } }
void Start() { controller = gameObject.GetComponent<BehaviourController>(); controller.setBehaviour<Control>(); controller.target = null; fire = gameObject.GetComponent<Fire>(); fire.aimOffset = Vector3.forward; }
void Start () { heightAboveFloor = transform.position.y; collisionEvents = new ParticleCollisionEvent[sprinklers.Length][]; fireBarrel = GameObject.FindWithTag ("FireBarrel"); fire = fireBarrel.GetComponent<Fire>(); }
public void DecorateAttack() { double[] stats = new double[StatList.ArrayLength]; stats[StatList.MeleeStrength] = 10; stats[StatList.MentalStrength] = 15; Attack punch = new Attack("Punch", 10, stats); Console.WriteLine("{0} has dealt {1} damage!", punch.Name, punch.Damage); Fire firePunch = new Fire(punch, 20, "Fire"); Console.WriteLine("{0} {1} has dealt {2} damage!", firePunch.ModifierText, firePunch.Name, firePunch.Damage); }
void Awake() { Owner = GetComponent<Actor>(); GameObject tmp = Instantiate(Beam); m_hBeam = tmp.GetComponent<IBeam>(); m_fDurationTime = ActiveTime; m_hWeaponOff = new WeaponOff(this); m_hWeaponOn = new WeaponOn(this); m_hFire = new Fire(this); m_hStartRecharging = new StartRecharging(this); m_hRecharging = new Recharging(this); m_hCurrent = m_hWeaponOff; }
public override void Update(GameTime gameTime) { Vector2 jetpackLoc = new Vector2(location.X + 70, location.Y + 60); Vector2 direction = (flips == SpriteEffects.FlipHorizontally ? new Vector2(-1, 1) : Vector2.One); //Add fire to his jetpack ! Aïe Caramba ! TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(jetpackLoc, RandomMachine.GetRandomVector2(3f, 7f, 10f, 40f) * direction, 0.30f, 0.30f, 0.30f, 1f, RandomMachine.GetRandomFloat(0.1f, .3f), RandomMachine.GetRandomInt(0, 4)), true); Fire f = new Fire(jetpackLoc, RandomMachine.GetRandomVector2(10f, 10f, 10f, 40f) * direction, 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); base.Update(gameTime); }
void Awake(){ fireMeshes = GetComponentsInChildren<MeshRenderer>(); mAnimator = GetComponentInChildren<Animator>(); if( instance != null && instance != this ){ Destroy(gameObject); return; } else { DontDestroyOnLoad( gameObject ); } light.enabled = false; DisableMeshes(); if( instance == null ){ instance = this; //BeginCountdown(); } }
public override void MakeObservations(int currentTime, Character character) { //Observe fire in bakery from garden if (character.GetCurrentLocation() == garden) { List <Item> items = new List <Item>(); for (int i = 0, count = bakery.items.Count; i < count; i++) { Fire fire = bakery.items[i] as Fire; if (fire != null) { items.Add(fire); } } Observation fireObservation = new Observation(currentTime, bakery, new List <Character>(), items, false); character.observations.Add(fireObservation); } }
protected override SpaceShipControlInput GetControls() { SpaceShipControlInput input = new SpaceShipControlInput(); input.Fire1 = Fire.GetButtonState(); input.Fire2 = FireSecondary.GetButtonState(); input.LookAt = Cursor.Position; input.Strafe = Strafe.GetAxisPosition(); input.Thrust = Thrust.GetAxisPosition(); input.Select = Select.GetButtonState(); for (int i = 0; i < Cycle.Length; ++i) { if (Cycle[i].GetButtonState()) { input.CycleWeapon = i; } } input.NextWeapon = NextWeapon.GetButtonState(); input.PreviousWeapon = PreviousWeapon.GetButtonState(); return(input); }
private static void LoadFireData(Fire __instance, string guid) { if (FAD.ContainsKey(guid)) { float timeDiff = GameManager.GetTimeOfDayComponent().GetTODSeconds(GameManager.GetTimeOfDayComponent().GetSecondsPlayedUnscaled()) - FAD[guid].timestamp; __instance.m_EmberTimer = FAD[guid].emberTimer; __instance.m_ElapsedOnTODSeconds = FAD[guid].burnSeconds; __instance.m_MaxOnTODSeconds = FAD[guid].burnMaxSeconds; __instance.m_EmberDurationSecondsTOD = FAD[guid].embersSeconds; __instance.m_FuelHeatIncrease = FAD[guid].heatTemp; __instance.m_HeatSource.m_MaxTempIncrease = FAD[guid].heatTemp; __instance.m_HeatSource.m_TempIncrease = FAD[guid].heatTemp; CalculateFireTimers(__instance, timeDiff, __instance.m_MaxOnTODSeconds - __instance.m_ElapsedOnTODSeconds, true); // if (__instance.m_Campfire && (__instance.m_MaxOnTODSeconds > __instance.m_ElapsedOnTODSeconds || __instance.m_EmberDurationSecondsTOD > __instance.m_EmberTimer)) { __instance.m_Campfire.m_State = CampfireState.Lit; } //MelonLogger.Log("restore " + guid + " burn:" + __instance.m_ElapsedOnTODSeconds + " max:" + __instance.m_MaxOnTODSeconds + " embers:" + __instance.m_EmberDurationSecondsTOD + " ember timer:" + __instance.m_EmberTimer + " reduce2:" + __instance.m_DurationSecondsToReduceToEmbers + " state:" + __instance.GetFireState().ToString()); } }
public void UpdateFires() { for (int i = 0; i < (HEIGHT * WIDTH) - WIDTH; i++) { Fire fire_down = this.fires[i + WIDTH]; int rand = this.random.Next(wind); // int valor = fire_down.GetIntensity() - rand - decay; int valor = fire_down.GetIntensity() - decay - rand; valor = valor >= 0 ? valor : 0; int index = i - rand; if (index < 0) { index = i; } Fire f = this.fires[index]; f.SetIntensity(valor); } this.Update(); }
void OnTriggerStay(Collider other) { LiquidSource lq = other.GetComponentInChildren <LiquidSource>(); if (lq) { if (lq.liquidName == "Water") { SetPower(0, true); } } Fire f = other.GetComponentInChildren <Fire>(); if (f) { if (f.onFire && !onFire) { LightUp(); } } }
public static void Postfix(SubFire __instance, SubFire.RoomFire startInRoom, bool __state) { // Spent way too much time trying to get around a bug in dnspy that doesn't allow me to propery edit this method, so I'm going with the hacky solution. // Every time a Fire is created, the whole list of SubFire.availableNodes is cleared, then populated with any transforms that have 0 childCount. // Next, it chooses a random index, then spawns a fire in that node. // We can easily find where it is because it'll be the only Transform in SubFire.availableNodes with a childCount > 0 if (__state) { Fires fires = NitroxServiceLocator.LocateService <Fires>(); foreach (Transform transform in __instance.availableNodes) { if (transform.childCount > 0) { int nodeIndex = Array.IndexOf(__instance.roomFires[startInRoom.roomLinks.room].spawnNodes, transform); Fire fire = transform.GetComponentInChildren <Fire>(); fires.OnCreate(fire, startInRoom, nodeIndex); return; } } } }
public override void ExecuteSecondary() { Fire fire = this.gameObject.GetComponent <Fire>(); if (fire) { fire.m_IsPerpetual = !fire.m_IsPerpetual; } else { fire = this.gameObject.GetComponentInChildren <Fire>(); if (fire) { fire.m_IsPerpetual = !fire.m_IsPerpetual; } else { MelonLoader.MelonLogger.LogError("Attached object doesn't have a fire component."); } } }
protected virtual void OnFire(FireEventArgs e) { const string MESSAGE_FIRE = "В городе {0} пожар! Дом {1}. День {2}-й"; Console.WriteLine(string.Format(MESSAGE_FIRE, townName, e.Building, e.Day)); if (Fire != null) { Delegate[] eventHandlers = Fire.GetInvocationList(); resultService = new string[eventHandlers.Length]; int k = 0; foreach (FireEventHandler evHandler in eventHandlers) { evHandler(this, e); resultService[k++] = e.Result; } } }
public void AssertWasFiredGeneric() { Expect.Once.On(this.testInterfaceGeneric).EventAdd("MyEvent"); Expect.Once.On(this.testInterfaceGeneric).EventRemove("MyEvent"); using (EventTester <EventArgs> eventHelper = new EventTester <EventArgs>(this.testInterfaceGeneric, "MyEvent")) { // Check if an EventTesterException is thrown if the event has not occurred. Assert.Throws <EventTesterException>(eventHelper.AssertWasFired); // After the event was fired no exception occurs anymore Fire.On(this.testInterfaceGeneric).Event("MyEvent").With(null, EventArgs.Empty); eventHelper.AssertWasFired(); // Another invocation can occur and still no execption is thrown Fire.On(this.testInterfaceGeneric).Event("MyEvent").With(null, EventArgs.Empty); eventHelper.AssertWasFired(); } this.mockery.VerifyAllExpectationsHaveBeenMet(); }
public void Shoot() { Vector3 position = transform.position; position.y -= 0.2F; if (fireDirection > 0) { position.x += 4.5F; } else if (fireDirection < 0) { position.x -= 3.0F; } Fire newFire = Instantiate(fire, position, fire.transform.rotation) as Fire; newFire.Direction = newFire.transform.right * fireDirection; if (isGrounded) { State = CharState.Attack; } }
protected void ResetBurningRiskForRoadBuildings(Vector3 position) { int layerMask = LayerMask.GetMask(nameof(Layers.Tile)); Collider[] hitColliders = Physics.OverlapSphere(position, 4.0f, layerMask); foreach (Collider hit in hitColliders) { Tile hitTile = hit.gameObject.GetComponent <Tile>(); if (hitTile == null || hitTile.GetBuildingContents() == null) { continue; } Fire burnable = hitTile.GetBuildingContents().gameObject.GetComponent(typeof(Fire)) as Fire; if (burnable != null) { burnable.ResetRisk(); } } }
public override void SpawnSetup(Map map) { base.SpawnSetup(map); List <Thing> list = new List <Thing>(Position.GetThingList(map)); foreach (Thing thing in list) { if (thing.HasAttachment(ThingDefOf.Fire)) { Fire fire = (Fire)thing.GetAttachment(ThingDefOf.Fire); if (fire != null) { fire.fireSize = maxFireSize; } } else { thing.TryAttachFire(maxFireSize); } } }
void OnTriggerStay2D(Collider2D col) { if (col.tag == "Fire") { var ps = col.GetComponent <ParticleSystem>(); if (ps.startSize > 0f) { ps.startSize -= Time.deltaTime * extinguishSpeed; } else { Fire fire = col.GetComponent <Fire>(); if (fire.isExtinguished == false) { fire.onFireExtinguished.Invoke(); Destroy(fire.gameObject); } } } }
public void SetColor(int C) { switch (C) { //HP - red case 1: GetComponent <Text>().color = Color.red; HP.SetActive(true); break; //Armor - grey case 2: GetComponent <Text>().color = Color.grey; Armor.SetActive(true); break; //Coin - yellow case 3: GetComponent <Text>().color = Color.yellow; Coin.SetActive(true); break; //Fire - yellow case 4: GetComponent <Text>().color = Color.yellow; Fire.SetActive(true); break; //Miss case 5: GetComponent <Text>().color = Color.grey; break; //XP case 6: GetComponent <Text>().color = Color.blue; XP.SetActive(true); break; } }
/// <summary> /// Update angle to aim player /// </summary> /// <param name="gameTime"></param> public override void Update(GameTime gameTime) { Vector2 tmplocation = location - structureLinkPoint; Vector2 firstReactorLoc = tmplocation + firstReactorRelativeLoc; Vector2 secondReactorLoc = tmplocation + secondReactorRelativeLoc; int rand = RandomMachine.GetRandomInt(0, 1); if ((rand == 0) && (TGPAContext.Instance.Player2 != null)) { fireAngle = Angles.GetAngle(this.Location, Vectors.ConvertPointToVector2(TGPAContext.Instance.Player2.DstRect.Center)); } else { fireAngle = Angles.GetAngle(this.Location, Vectors.ConvertPointToVector2(TGPAContext.Instance.Player1.DstRect.Center)); } //Jetpacks for plateform TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(firstReactorLoc, RandomMachine.GetRandomVector2(-4f, 4f, 10f, 40f), 0.30f, 0.30f, 0.30f, 1f, RandomMachine.GetRandomFloat(0.1f, .3f), RandomMachine.GetRandomInt(0, 4)), true); Fire f = new Fire(firstReactorLoc, RandomMachine.GetRandomVector2(-10f, 10f, 10f, 40f), 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(secondReactorLoc, RandomMachine.GetRandomVector2(-4f, 4f, 10f, 40f), 0.30f, 0.30f, 0.30f, 1f, RandomMachine.GetRandomFloat(0.1f, .3f), RandomMachine.GetRandomInt(0, 4)), true); f = new Fire(secondReactorLoc, RandomMachine.GetRandomVector2(-10f, 10f, 10f, 40f), 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); base.Update(gameTime); }
// Use this for initialization void Start() { action = this.GetComponent<Fire>(); movement = this.GetComponent<PlayerControls>(); myView = this.GetComponent<PhotonView>(); controls = this.transform.parent.GetComponentsInChildren<Transform>(); foreach( Transform child in controls){ if(child.CompareTag("touchGUI")){ GUIControls = child.gameObject; } } winds = this.transform.parent.GetComponentsInChildren<Transform>(); foreach( Transform child in winds){ if(child.CompareTag("windGenerator")){ windGen = child.gameObject; } } windDisplays = this.transform.parent.GetComponentsInChildren<Transform>(); foreach( Transform child in windDisplays){ if(child.CompareTag("windBar")){ windBar = child.gameObject; } } tags = GetComponentInChildren<Transform>(); foreach( Transform child in tags){ if(child.CompareTag("nametag")){ nameTag = child.gameObject; } } nameTag.GetComponent<TextMesh>().text = myView.owner.name; }
private void Update() { image.SetNativeSize(); scaler.matchWidthOrHeight = landscape ? 1 : 0; scaler.referenceResolution = image.rectTransform.sizeDelta; while (receiver.toEventLoop.TryDequeue(out var dataAndFrame)) { (Data data, byte[] frame) = dataAndFrame; if (!_initialized) { var frameWidth = data.frameWidth; var frameHeight = data.frameHeight; frustumHeight = Camera.main.orthographicSize * 2; frustumWidth = frustumHeight * frameWidth / frameHeight; leftHand = new Hand(handParams, xMult: -1); rightHand = new Hand(handParams, xMult: 1); leftFire = new Fire(leftHand, fireL); renderTexture = new RenderTexture(frameWidth, frameHeight, depth: 24); receiveTexture = new Texture2D(frameWidth, frameHeight, TextureFormat.RGB24, mipChain: false); sendTexture = new Texture2D(frameWidth, frameHeight, TextureFormat.RGB24, mipChain: false); image.texture = receiveTexture; _initialized = true; } receiveTexture.LoadRawTextureData(frame); receiveTexture.Apply(updateMipmaps: false); // image.texture = receiveTexture; leftHand.Process(data.dataL); rightHand.Process(data.dataR); leftFire.Draw(); } }
public IEnumerator ItemActionMenuDropTest2() { Character character = GameManager.CurrentLevel.GetCharacter(2, 2); character.Items.Clear(); character.Items.Add(Fire.Create()); yield return(MoveCursor(2, 2)); yield return(Submit()); yield return(Submit()); yield return(DownArrow()); yield return(DownArrow()); yield return(Submit()); Assert.False(GameManager.CharacterActionMenu.gameObject.activeSelf); Assert.True(GameManager.ItemDetailMenu.gameObject.activeSelf); Assert.True(character.Items.Count == 1); yield return(Submit()); Assert.False(GameManager.ItemDetailMenu.gameObject.activeSelf); Assert.True(GameManager.ItemActionMenu.gameObject.activeSelf); yield return(DownArrow()); yield return(DownArrow()); yield return(Submit()); Assert.False(GameManager.ItemActionMenu.gameObject.activeSelf); Assert.True(GameManager.CharacterActionMenu.gameObject.activeSelf); Assert.AreEqual(0, character.Items.Count); }
public void OnRecvGameMsg(byte[] data, int length) { object o; BinaryFormatter formatter = new BinaryFormatter(); using (MemoryStream s = new MemoryStream(data)) { try { o = formatter.Deserialize(s); s.Close(); } catch { Debug.Log("deserialize error!!!!!"); return; } } Messages msg = o as Messages; if (msg == null) { return; } else { if (msg.type == Messages.Type.Position) { PlayerState state = msg.content as PlayerState; avatar.position = state.position.V3; avatar.rotation = state.rotation.Q; } if (msg.type == Messages.Type.Fire) { Fire state = msg.content as Fire; Transform ball = (Transform)Instantiate(ballPrefab, state.position.V3, state.rotation.Q); } } }
//Okay so the issue is //if its finished but not completely burnt //we dont want to be updating it //however it could start up again public void Update() { // EngineController.debugMiniFires = 0; //first = true; if (!first) { first = true; Fire fire = new Fire(184, 184); AddFire(fire); //need to add the fire to the map before adding the minifire fire.AddMiniFire(0, 0); } List <Fire> fireList = fireArray[currentUpdateCount]; EngineController.debugFires = fireList.Count; for (int i = fireList.Count - 1; i > -1; i--) { Fire fire = fireList[i]; fire.Update(); if (fire.isCompleteBurntOut && fire.IsFinishedDrawingSmoke()) { RemoveFireFromUpdateList(i, fireList); SetTileToBurnt(fire); } else if (fire.isPartialBurntOut && fire.IsFinishedDrawingSmoke()) { RemoveFireFromUpdateList(i, fireList); } } currentUpdateCount++; if (currentUpdateCount > arrayCount - 1) { currentUpdateCount = 0; } }
public IEnumerator EndActionTest6() { Character sourceCharacter = GameManager.CurrentLevel.GetCharacter(2, 2); sourceCharacter.Items.Clear(); sourceCharacter.Items.Add(IronSword.Create()); sourceCharacter.Items.Add(Fire.Create()); Character targetCharacter = GameManager.CurrentLevel.GetCharacter(2, 1); targetCharacter.Items.Clear(); targetCharacter.Items.Add(Fire.Create()); // Move cursor yield return(MoveCursor(2, 2)); // select character yield return(Submit()); // select move yield return(Submit()); // select trade yield return(DownArrow()); yield return(Submit()); // select trading character yield return(Submit()); // trade item yield return(Submit()); Assert.AreEqual(1, sourceCharacter.Items.Count); Assert.AreEqual(2, targetCharacter.Items.Count); yield return(Cancel()); yield return(Cancel()); }
private void OnTriggerEnter2D(Collider2D other) { if (!destroyed) { Fire fire = other.GetComponent <Fire>(); if (fire) { Animator fireAnimator = other.GetComponent <Animator>(); destroyed = true; fire.transform.localScale = fireScale; fire.transform.localPosition += (Vector3)fireOffset; fireAnimator.speed = firePlaybackSpeed; if (fire) { spriteBurn.Burn(); } } } }
public override void Update(GameTime gameTime) { if (!Dead) { if (hp < 100) { Vector2 newLoc = location; newLoc.X += 70; newLoc.Y += 300; TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(newLoc, RandomMachine.GetRandomVector2(-10f, 10f, 10f, 50f), 0.60f, 0.60f, 0.60f, 1f, RandomMachine.GetRandomFloat(0.1f, .3f), RandomMachine.GetRandomInt(0, 4)), true); Fire f = new Fire(newLoc, RandomMachine.GetRandomVector2(-4f, 4f, 10f, 90f), 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); } } base.Update(gameTime); }
void updateFireObjects() { float time = Time.time; while (fireQueue.Count > 0) { if (Random.Range(0f, 1f) > queueChance) { if (fireQueue.Peek().getStartTime() + fireLifeTime < time) { Fire fire = fireQueue.Dequeue(); if (fireGrown < maxFire || Random.Range(0f, 1f) <= 0.30f) { SpreadToNeighbours(fire.GetPosition()); } //spreadToNeighboursTest(fire.GetPosition(), numberDirections, diagonals); firePositions.Remove(fire.GetPosition()); DestroyFire(fire); } else { break; } } else { fireQueue.Enqueue(fireQueue.Dequeue()); } } if (fireQueue.Count == 0) { fireGrown = 0; } }
public override DamageWorker.DamageResult Apply(DamageInfo dinfo, Thing victim) { DamageWorker.DamageResult damageResult = new DamageWorker.DamageResult(); Fire fire = victim as Fire; DamageWorker.DamageResult result; if (fire == null || fire.Destroyed) { result = damageResult; } else { base.Apply(dinfo, victim); fire.fireSize -= dinfo.Amount * 0.01f; if (fire.fireSize <= 0.1f) { fire.Destroy(DestroyMode.Vanish); } result = damageResult; } return(result); }
public void InvocationCountGeneric() { Expect.Once.On(this.testInterfaceGeneric).EventAdd("MyEvent"); using (EventTester <EventArgs> eventHelper = new EventTester <EventArgs>(this.testInterfaceGeneric, "MyEvent")) { this.mockery.VerifyAllExpectationsHaveBeenMet(); // 0 invocations have orrured Assert.AreEqual(0, eventHelper.InvocationCount); // Check that the invocation count increases with each invocation for (int i = 1; i < 10; i++) { Fire.On(this.testInterfaceGeneric).Event("MyEvent").With(null, EventArgs.Empty); Assert.AreEqual(i, eventHelper.InvocationCount); } Expect.Once.On(this.testInterfaceGeneric).EventRemove("MyEvent"); } this.mockery.VerifyAllExpectationsHaveBeenMet(); }
public void TryToSpreadFire(Tile[] burnables) { if (burnables == null) { return; } foreach (Tile burnable in burnables) { if (burnable.GetContents() == null) { return; } Fire burnableScript = burnable.GetContents().GetComponent <Fire>(); if (burnableScript != null) { burnableScript.Increase(0.1f); } } }
public void GetFireTest() { List <Tile> tiles = new List <Tile>(); Room r; for (int i = 0; i < 16; i++) { tiles.Add(new Tile(new Vector(i, i), 1, null, null, null, null, Color.White, i, i)); } r = new Room(tiles, 0); Fire f = new Fire(tiles[1]); Fire testFire = f; r.AddFire(f); f = new Fire(tiles[2]); r.AddFire(f); f = r.GetFire(tiles[1]); Assert.AreEqual(f, testFire); }
protected override void OnTriggerEnter2D(Collider2D collider) { Unit unit = collider.GetComponent <Unit>(); if (unit && unit is CharacterInCampaighController) { /* rasst = Mathf.Abs(unit.transform.position.x - transform.position.x); * if (rasst < 2.0F) ReceiveDamage(); * else unit.ReceiveDamage(); */ unit.ReceiveDamage(); // damageSound.Play(); } Fire fire = collider.GetComponent <Fire>(); if (fire) { ReceiveDamage(); // damageSound.Play(); } }
public override void DoDamage(IntVec3 pos) { base.DoDamage(pos); try { if (pos != this.launcher.Position && this.launcher.Map != null && GenGrid.InBounds(pos, this.launcher.Map)) { var list = this.launcher.Map.thingGrid.ThingsListAt(pos); for (int num = list.Count - 1; num >= 0; num--) { if (list[num].def != this.def && list[num] != this.launcher && list[num].def != ThingDefOf.Fire && (!(list[num] is Mote) && (!(list[num] is Filth)))) { if (!list.Where(x => x.def == ThingDefOf.Fire).Any()) { CompAttachBase compAttachBase = list[num].TryGetComp <CompAttachBase>(); Fire obj = (Fire)ThingMaker.MakeThing(ThingDefOf.Fire); obj.fireSize = 1f; GenSpawn.Spawn(obj, list[num].Position, list[num].Map, Rot4.North); if (compAttachBase != null) { obj.AttachTo(list[num]); Pawn pawn = list[num] as Pawn; if (pawn != null) { pawn.jobs.StopAll(); pawn.records.Increment(RecordDefOf.TimesOnFire); } } } this.customImpact = true; base.Impact(list[num]); this.customImpact = false; } } } } catch { }; }
static void Main(string[] args) { Console.Clear(); //Pokemon pikachu = new Pokemon("Detective Pikachu"); //pikachu.Speak(); //pikachu.Name = "Pika"; //pikachu.Speak(); //pikachu.Speak("pikacuuuuuuuuu"); //elements Element fire = new Element("fire"); Element water = new Element("water"); //pokemon Fire charmander = new Fire("Charmander", 175, "tail", fire); Water squirtle = new Water("squirtle", 30, "mouth", water); Water goldine = new Water("Goldine", 1, "Mouth", water); charmander.WonFight(); charmander.Speak(3); System.Console.WriteLine(charmander.XP); // squirtle.Speak(); //squirtle.Attack(); //charmander.Attack(); List <Pokemon> myPokemon = new List <Pokemon>(); myPokemon.Add(charmander); myPokemon.Add(squirtle); myPokemon.ForEach(poke => { poke.Attack(); }); System.Console.WriteLine(charmander.Element.Name); }
// Use this for initialization void Start () { if(transform.parent.GetComponent<Fire>() != null){ fire = transform.parent.GetComponent<Fire>(); endPoint = fire.getArea(); } if(dir == Compass.east){ endPoint = (int)Mathf.Round(transform.position.x) + endPoint; nextFx = (int)Mathf.Round(transform.position.x) + 1; pos = new Vector3(speed,0,0); }else if(dir == Compass.north){ endPoint = (int)Mathf.Round(transform.position.z) + endPoint; nextFx = (int)Mathf.Round(transform.position.z) + 1; pos = new Vector3(0,0,speed); }else if(dir == Compass.south){ endPoint = (int)Mathf.Round(transform.position.z) - endPoint; nextFx = (int)Mathf.Round(transform.position.z) - 1; pos = new Vector3(0,0,-speed); }else if(dir == Compass.west){ endPoint = (int)Mathf.Round(transform.position.x) - endPoint; nextFx = (int)Mathf.Round(transform.position.x) - 1; pos = new Vector3(-speed,0,0); } }
void Awake() { player = GetComponent<PlayerControls>(); thisFireBtn = GetComponent<Fire>(); cam = this.transform.parent.GetComponentInChildren<Camera>(); if (photonView.isMine) { cam.enabled = true; player.enabled=true; player.isControllable=true; thisFireBtn.isControllable=true; } else { cam.enabled = false; player.enabled=true; player.isControllable=false; thisFireBtn.isControllable=false; } gameObject.name = gameObject.name + photonView.viewID; }
private void Start() { //重力の初期値 Physics.gravity = new Vector3(0, Down_Gravity, 0); _rigidbody = GetComponent<Rigidbody>(); _fire = FindObjectOfType<Fire>(); }
/// <summary> /// Update angle to aim player /// </summary> /// <param name="gameTime"></param> public override void Update(GameTime gameTime) { Vector2 tmplocation = location - structureLinkPoint; Vector2 firstReactorLoc = tmplocation + firstReactorRelativeLoc; Vector2 secondReactorLoc = tmplocation + secondReactorRelativeLoc; int rand = RandomMachine.GetRandomInt(0, 1); if ((rand == 0) && (TGPAContext.Instance.Player2 != null)) fireAngle = Angles.GetAngle(this.Location, Vectors.ConvertPointToVector2(TGPAContext.Instance.Player2.DstRect.Center)); else fireAngle = Angles.GetAngle(this.Location, Vectors.ConvertPointToVector2(TGPAContext.Instance.Player1.DstRect.Center)); //Jetpacks for plateform TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(firstReactorLoc, RandomMachine.GetRandomVector2(-4f, 4f, 10f, 40f), 0.30f, 0.30f, 0.30f, 1f, RandomMachine.GetRandomFloat(0.1f, .3f), RandomMachine.GetRandomInt(0, 4)), true); Fire f = new Fire(firstReactorLoc, RandomMachine.GetRandomVector2(-10f, 10f, 10f, 40f), 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(secondReactorLoc, RandomMachine.GetRandomVector2(-4f, 4f, 10f, 40f), 0.30f, 0.30f, 0.30f, 1f, RandomMachine.GetRandomFloat(0.1f, .3f), RandomMachine.GetRandomInt(0, 4)), true); f = new Fire(secondReactorLoc, RandomMachine.GetRandomVector2(-10f, 10f, 10f, 40f), 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); base.Update(gameTime); }
public override void Update(GameTime gameTime) { if (step == 1) { speed.Y += 7; float tempsEcoule = (float)gameTime.ElapsedGameTime.TotalSeconds; float deplacementY = (speed.Y * tempsEcoule); location.Y += (deplacementY * direction.Y); TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(Vectors.ConvertPointToVector2(DstRect.Center), RandomMachine.GetRandomVector2(0f, 0f, 10f, 40f), 0.30f, 0.30f, 0.30f, 1f, RandomMachine.GetRandomFloat(0.1f, .3f), RandomMachine.GetRandomInt(0, 4)), true); Fire f = new Fire(Vectors.ConvertPointToVector2(DstRect.Center), RandomMachine.GetRandomVector2(0f, 0f, 10f, 40f), 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); if (p1) { if (((direction.Y > 0) && (location.Y >= TGPAContext.Instance.Player1.Location.Y)) || ((direction.Y < 0) && (location.Y <= TGPAContext.Instance.Player1.Location.Y))) { step = 2; speed.Y = 0; SoundEngine.Instance.PlaySound("specialPlop"); } } else if (p2) { if (((direction.Y > 0) && (location.Y >= TGPAContext.Instance.Player2.Location.Y)) || ((direction.Y < 0) && (location.Y <= TGPAContext.Instance.Player2.Location.Y))) { step = 2; speed.Y = 0; SoundEngine.Instance.PlaySound("specialPlop"); } } } else if (step == 2) { speed.X += 10; float tempsEcoule = (float)gameTime.ElapsedGameTime.TotalSeconds; float deplacementX = (speed.X * tempsEcoule); location.X += (deplacementX * direction.X); TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(Vectors.ConvertPointToVector2(DstRect.Center), RandomMachine.GetRandomVector2(10f, 40f, 0f, 0f), 0.30f, 0.30f, 0.30f, 1f, RandomMachine.GetRandomFloat(0.1f, .3f), RandomMachine.GetRandomInt(0, 4)), true); Fire f = new Fire(Vectors.ConvertPointToVector2(DstRect.Center), RandomMachine.GetRandomVector2(10f, 40f, 0f, 0f), 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); //Mon dieu ça c'est moche : sRect = new Rectangle(140, 30, 117, 99); } else {//Check if a player is near the cactus p1 = Math.Abs(TGPAContext.Instance.Player1.Location.X - location.X) < 500; p2 = false; if (TGPAContext.Instance.Player2 != null) { p2 = Math.Abs(TGPAContext.Instance.Player2.Location.X - location.X) < 500; } if (p1 || p2) { step = 1; SoundEngine.Instance.PlaySound("specialPlop"); Background = false; direction = new Vector2(); if (p1) { if (TGPAContext.Instance.Player1.Location.X < location.X) direction.X = -1; else direction.X = 1; if (TGPAContext.Instance.Player1.Location.Y < location.Y) direction.Y = -1; else direction.Y = 1; } else if (p2) { if (TGPAContext.Instance.Player2.Location.X < location.X) direction.X = -1; else direction.X = 1; if (TGPAContext.Instance.Player2.Location.Y < location.Y) direction.Y = -1; else direction.Y = 1; } } } base.Update(gameTime); }
internal FireBarrel[] Filter(FireBarrel[] fires, Fire kind) { return (from f in fires where f.name.StartsWith(kind.ToString()) select f).ToArray<FireBarrel>(); }
public static bool FireIsBeingHandled(Fire f, Pawn potentialHandler) { Pawn pawn = Find.Reservations.FirstReserverOf(f, potentialHandler.Faction); return pawn != null && pawn.Position.InHorDistOf(f.Position, 5f); }
void Start() { myView = this.GetComponent<PhotonView>(); LifeScript = this.GetComponent<PlayerHealth>(); ShootScript=this.GetComponent<Fire>(); anim = GetComponent<Animate>(); SlidersObject = GameObject.FindGameObjectWithTag("Sliders"); moveSlider=SlidersObject.GetComponent<ScrollScript>(); }
public override void Update(GameTime gameTime) { double tmp = rotation; rotation = saveRotation; base.Update(gameTime); rotation = tmp; rotation += 0.10f; //Fire and smoke Vector2 loc = Vectors.ConvertPointToVector2(DstRect.Center); TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(loc, RandomMachine.GetRandomVector2(3f, 5f, -5f, 5f), 0.30f, 0.30f, 0.30f, 1f, RandomMachine.GetRandomFloat(0.01f, .03f), RandomMachine.GetRandomInt(0, 4)), true); Fire f = new Fire(loc, RandomMachine.GetRandomVector2(3f, 5f, -5f, 5f), 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); }
protected override void OnUpdate(Graphics.UpdateEventArgs e) { base.OnUpdate(e); if (!Activated) return; cannotPerformAcc += e.Dtime; if (cannotPerformAcc >= 1) { cannotPerformAcc = 0; lastCannotPerformAbility = null; lastCannotPerformReason = CannotPerformReason.None; } if (Game.Instance.State is Game.PausedState || Game.Instance.Map.MainCharacter.State != Map.UnitState.Alive || Game.Instance.FrameId <= 2 || !Program.Instance.Focused) return; if (Game.Instance.Input.State.SwitchToMeleeWeapon) Game.Instance.Map.MainCharacter.SelectedWeapon = 0; else if (Game.Instance.Input.State.SwitchToRangedWeapon) Game.Instance.Map.MainCharacter.SelectedWeapon = 1; RunDir.Y = RunDir.X = 0; //if((GetAsyncKeyState(65) >> 8) != 0) if (Game.Instance.Input.State.StrafeLeft) RunDir.X -= 1; //if ((GetAsyncKeyState(68) >> 8) != 0) if (Game.Instance.Input.State.StrafeRight) RunDir.X += 1; //if ((GetAsyncKeyState(87) >> 8) != 0) if (Game.Instance.Input.State.WalkForward) RunDir.Y += 1; //if ((GetAsyncKeyState(83) >> 8) != 0) if (Game.Instance.Input.State.WalkBackward) RunDir.Y -= 1; if (RunDir.Length() != 0) { Program.Instance.SignalEvent(new ProgramEvents.UserInput { InputType = ProgramEvents.UserInputType.WASD }); } Game.Instance.Map.MainCharacter.Running = RunDir.Length() > 0; Vector3 mvp = Game.Instance.Input.State.MousePlanePosition; var dir3 = Vector3.Normalize(mvp - Game.Instance.Map.MainCharacter.Translation); var dir = Vector2.Normalize(Common.Math.ToVector2(dir3)); if (dir.X == 0 && dir.Y == 0) dir.X = 1; float rot = (float)Common.Math.AngleFromVector3XY(Common.Math.ToVector3(dir)); var worldDir = Vector3.Normalize(Game.Instance.Input.State.MouseGroundPosition - (Game.Instance.Map.MainCharacter.Translation + Vector3.UnitZ*Game.Instance.Map.MainCharacter.MainAttackFromHeight)); float lean = (float)Math.Asin(worldDir.Z); if (Game.Instance.Map.MainCharacter.CanControlRotation) { #if DEBUG if (dir.X == 0 && dir.Y == 0) throw new Exception("dir: " + dir + ", rot: " + rot); else Game.Instance.Map.MainCharacter.LookatDir = rot; #else if(dir.X != 0 || dir.Y != 0) Game.Instance.Map.MainCharacter.LookatDir = rot; #endif Game.Instance.Map.MainCharacter.TorsoLean = lean; if (!Game.Instance.Map.MainCharacter.Running) { float startMoveLegsAngle = 0.7f; if (Game.Instance.Map.MainCharacter.TorsoDiffDir > startMoveLegsAngle) Game.Instance.Map.MainCharacter.Orientation = rot - startMoveLegsAngle < 0 ? rot - startMoveLegsAngle + 2f * (float)System.Math.PI : rot - startMoveLegsAngle; else if (Game.Instance.Map.MainCharacter.TorsoDiffDir < -1) Game.Instance.Map.MainCharacter.Orientation = rot + startMoveLegsAngle < 0 ? rot + startMoveLegsAngle + 2f * (float)System.Math.PI : rot + startMoveLegsAngle; } } bool spacePressed = Game.Instance.Input.State.Jump; if (spacePressed && !spaceWasPressed) { if (Game.Instance.Map.MainCharacter.State == Client.Game.Map.UnitState.Alive) { Game.Instance.Map.MainCharacter.Jump(); Program.Instance.SignalEvent(new ProgramEvents.UserInput { InputType = ProgramEvents.UserInputType.Jump }); } } spaceWasPressed = spacePressed; if (Game.Instance.Map.MainCharacter.CanControlMovement) { if (RunDir.Length() > 0) { var runDir = Vector3.TransformNormal(Common.Math.ToVector3(RunDir), Game.Instance.Scene.Camera.ViewProjection); runDir.Z = 0; runDir.Normalize(); runDir *= Game.Instance.Map.MainCharacter.RunSpeed; Game.Instance.Map.MainCharacter.MotionUnit.RunVelocity = Common.Math.ToVector2(runDir); float runAngle = (float)Common.Math.AngleFromVector3XY(runDir); if (Common.Math.DiffAngle(rot, runAngle) > Math.PI / 2f) { runAngle = (float)Common.Math.AngleFromVector3XY(-runDir); Game.Instance.Map.MainCharacter.RunningBackwards = true; } else Game.Instance.Map.MainCharacter.RunningBackwards = false; Game.Instance.Map.MainCharacter.MotionUnit.Rotation = Quaternion.RotationAxis(Vector3.UnitZ, runAngle < 0 ? runAngle + 2f * (float)System.Math.PI : runAngle); } else Game.Instance.Map.MainCharacter.MotionUnit.RunVelocity = Vector2.Zero; } Fire fire = Fire.None; if (Game.Instance.Map.MainCharacter.CanPerformAbilities && !Game.Instance.Map.MainCharacter.IsPerformingAbility) { Vector3 mouseGroundPosition = Game.Instance.Input.State.MouseGroundPosition; //Map.Unit unit = null; //if (Game.Instance.SceneController.MouseOverEntity != null) // unit = Game.Instance.SceneController.MouseOverEntity as Map.Unit; foreach (var v in Game.Instance.Map.MainCharacter.Abilities) { //v.TargetEntity = unit; v.TargetPosition = mouseGroundPosition; } Map.Ability ab = null; if (Game.Instance.Input.State.PrimaryFire) { ab = Game.Instance.Map.MainCharacter.PrimaryAbility; fire = Fire.Primary; Program.Instance.SignalEvent(new ProgramEvents.UserInput { InputType = ProgramEvents.UserInputType.FirePrimary }); } else if (Game.Instance.Input.State.SecondaryFire) { ab = Game.Instance.Map.MainCharacter.SecondaryAbility; fire = Fire.Secondary; } if (ab != null && !ab.IsPerforming) { if (!ab.TryStartPerform()) { if (ab.LastCannotPerformReason != CannotPerformReason.None && prevFire != fire) { DisplayCannotPerformWarning(ab, ab.LastCannotPerformReason); } } } } prevFire = fire; }
void Start () { fire = GameObject.FindObjectOfType<Fire>(); }
//Water>Fire>Dark>Earth>Air>Arcana>Water // Use this for initialization void Start() { Fire FireSpell1 = new Fire("Fireball", 1); Air AirSpell1 = new Air("Gust", 1); }
public override void Update(GameTime gameTime) { fireCooldown -= (float)gameTime.ElapsedGameTime.TotalMilliseconds; if (fireCooldown <= 0f) //Reduce flame effect for performance issues { fireCooldown = 25f; //Flame effect Fire f = new Fire(this.location + RandomMachine.GetRandomVector2(5f, -5.0f, -10.0f, 10.0f), RandomMachine.GetRandomVector2(-5.0f, 5.0f, -2.0f, 2.0f), 1f, RandomMachine.GetRandomInt(0, 4)); f.Additive = false; TGPAContext.Instance.ParticleManager.AddParticle(f); } base.Update(gameTime); }
// Use this for initialization void Awake() { S = this; }
/** * To be called by Victor with BroadcastMessage("Launch", fireObject) * in order to safely moveoutside moon's volume. This avoids physics collosions * upon launch. */ void Launch(Fire gameObjectToFire) { GameObject fireMe = gameObjectToFire.fireObject; CircleCollider2D colFire = fireMe.GetComponent<CircleCollider2D>(); if (fireMe == null) { Debug.LogWarning("Cannot fire " + fireMe.name + ", it's null!"); } else if (colFire == null) { Debug.LogWarning("Cannot fire " + fireMe.name + ", it's collider is missing!"); } else if (launch == null) { Debug.LogWarning("Cannot fire " + fireMe.name + ", moon launch object is missing!"); } else if (colMoon != null) {//Resources.Load("ammo_mass", typeof(GameObject)) Vector3 dir = (moon.transform.position - launch.transform.position).normalized; float radiusMoon = colMoon.radius; float radiusFire = colFire.radius; if (launch == null) { Debug.Log("Moon's Launch object cannot be found."); return; } //places just outside moon, safely //launch.position = moon.transform.position + new Vector3(dir.x * radiusMoon, dir.y * radiusMoon, moon.transform.position.z) + new Vector3(dir.x * radiusFire, dir.y * radiusFire, 0); //launch.position += new Vector3(-3,3,0); //GameObject instance = Instantiate(fireMe, launch.position, Quaternion.identity) as GameObject;\ fireMe.transform.position = launch.position; fireMe.GetComponent<Rigidbody2D>().AddForce(gameObjectToFire.initialForce,ForceMode2D.Impulse); } else { Debug.Log("Collider missing from moon, cannot Launch."); } }
/// <summary> /// Caca are stuck on the ground until player fly around them. Then the caca enable its powerfull jetpack to hit the player. /// </summary> /// <param name="gameTime"></param> public override void Update(GameTime gameTime) { if (!launching) { //Check if player is near the caca bool p1 = Math.Abs(TGPAContext.Instance.Player1.DstRect.Center.X - location.X) < 130; bool p2 = false; if (TGPAContext.Instance.Player2 != null) { p2 = Math.Abs(TGPAContext.Instance.Player2.DstRect.Center.X - location.X) < 130; } if (p1 || p2) { launching = true; //Smile on caca's face sRect.X = 128; //Play a funny sound SoundEngine.Instance.PlaySound("specialPlop"); } } //Fly ! if (launching) { speedBis -= 5; this.speed.Y = speedBis; float tempsEcoule = (float)gameTime.ElapsedGameTime.TotalSeconds; float deplacementY = (speed.Y * tempsEcoule); location.Y += deplacementY; Vector2 newLoc = Vectors.ConvertPointToVector2(DstRect.Center); //Little smoke contrail TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(newLoc, RandomMachine.GetRandomVector2(0f, 0f, 10f, 40f), 0.30f, 0.30f, 0.30f, 1f, RandomMachine.GetRandomFloat(0.1f, .3f), RandomMachine.GetRandomInt(0, 4)), true); Fire f = new Fire(newLoc, RandomMachine.GetRandomVector2(0f, 0f, 10f, 40f), 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); } base.Update(gameTime); if (launching) { this.speed.Y = speedBis; } }
// Use this for initialization void Awake() { playerPhysics = GetComponent<PlayerPhysics>(); fire = GetComponent<Fire>(); }
public static void SaveObject(GameObject obj, bool expandable, int ExtinguishAgent) { tempFire = new Fire(); tempFire.obj = obj; tempFire.expandable = expandable; tempFire.ExtinguishAgent = ExtinguishAgent; fireObjects.Add(tempFire); }
public void RemoveFire(Fire fire) { fires.Remove(fire); }
public static SceneOptions LoadScene(string path, GameObject parent) { doc = new XmlDocument(); loadedFireObjects = new List<Fire>(); loadedGameObjects = new List<GameObject>(); SceneOptions sceneOptions= new SceneOptions(); XmlReaderSettings ReaderSettings = new XmlReaderSettings(); ReaderSettings.IgnoreWhitespace = true; // Create an XmlReader //xmlDefaultPath + projectsMapName + tempName using(XmlReader reader = XmlReader.Create(path, ReaderSettings)) { doc.Load(reader); XmlElement root = doc.DocumentElement; // Create an XPathNavigator to use for the transform. XPathNavigator nav = root.CreateNavigator(); #region SceneProperties XPathNodeIterator scenePropertiesNodus = nav.Select("/Scene/SceneProperties"); //Het pat dat hij moet afleggen in de XML File voor dat hij bij de juiste nodes is. while(scenePropertiesNodus.MoveNext()) { // Terwijl die elke keer volgende doet doet hij het volgende. XPathNavigator nodesNavigator = scenePropertiesNodus.Current; // hij begint vanaf het begin waar hij het path krijgt. XPathNodeIterator nodesText = nodesNavigator.SelectDescendants(XPathNodeType.Text, false);//maakt een variable aan die je kunt opvragen wat voor text er in staat. XPathNodeIterator scenePropertiesElement = nodesNavigator.SelectDescendants(XPathNodeType.Element, false); while(scenePropertiesElement.MoveNext()) { //pakt de volgende text. //itemNodusElement.MoveNext(); //Debug.Log(itemNodusElement.Current.Name); switch(scenePropertiesElement.Current.Name) { case "TimerActive": // print(scenePropertiesElement.Current.Value); sceneOptions.timerActive = Convert.ToBoolean(scenePropertiesElement.Current.Value); break; case "Scenelength": //print(scenePropertiesElement.Current.Value); sceneOptions.scenelength = float.Parse(scenePropertiesElement.Current.Value); break; case "TimerVisable": //print(scenePropertiesElement.Current.Value); sceneOptions.timerVisable = Convert.ToBoolean(scenePropertiesElement.Current.Value); break; case "AudioNumber": //print(scenePropertiesElement.Current.Value); sceneOptions.audioNumber = Convert.ToInt16(scenePropertiesElement.Current.Value); break; case "BackgroundName": //print(scenePropertiesElement.Current.Value); sceneOptions.backgroundName = scenePropertiesElement.Current.Value; break; default: break; } } } #endregion #region SceneProperties XPathNodeIterator firesNodus = nav.Select("/Scene/Fires/Fire"); //Het pat dat hij moet afleggen in de XML File voor dat hij bij de juiste nodes is. while(firesNodus.MoveNext()) { // Terwijl die elke keer volgende doet doet hij het volgende. float posX = 0; float posY = 0; float posZ = 0; float rotationX = 0; float rotationY = 0; float rotationZ = 0; XPathNavigator nodesNavigator = firesNodus.Current; // hij begint vanaf het begin waar hij het path krijgt. XPathNodeIterator nodesText = nodesNavigator.SelectDescendants(XPathNodeType.Text, false);//maakt een variable aan die je kunt opvragen wat voor text er in staat. XPathNodeIterator FiresElement = nodesNavigator.SelectDescendants(XPathNodeType.Element, false); tempFire = new Fire(); tempFire.obj = new GameObject(); while(FiresElement.MoveNext()) { //pakt de volgende text. //itemNodusElement.MoveNext(); switch(FiresElement.Current.Name) { case "Name": tempFire.obj.name = FiresElement.Current.Value; break; case "posX": posX = float.Parse(FiresElement.Current.Value); break; case "posY": // print("Test: " + FiresElement.Current.Value); posY = float.Parse(FiresElement.Current.Value); break; case "posZ": posZ = float.Parse(FiresElement.Current.Value); break; case "RotationX": rotationX = float.Parse(FiresElement.Current.Value); break; case "RotationY": rotationY = float.Parse(FiresElement.Current.Value); break; case "RotationZ": rotationZ = float.Parse(FiresElement.Current.Value); break; case "Expanding": tempFire.expandable = bool.Parse(FiresElement.Current.Value); break; case "ExtinguishAgent": tempFire.ExtinguishAgent = int.Parse(FiresElement.Current.Value); break; } } tempFire.obj.transform.position = new Vector3(posX, posY, posZ); tempFire.obj.transform.rotation = new Quaternion(rotationX, rotationY, rotationZ, 0); loadedFireObjects.Add(tempFire); } #endregion #region SceneProperties XPathNodeIterator gameObjectNodus = nav.Select("/Scene/GameObjects/GameObject"); //Het pat dat hij moet afleggen in de XML File voor dat hij bij de juiste nodes is. while(gameObjectNodus.MoveNext()) { // Terwijl die elke keer volgende doet doet hij het volgende. GameObject tempObj; float posX = 0; float posY = 0; float posZ = 0; float rotationX = 0; float rotationY = 0; float rotationZ = 0; XPathNavigator nodesNavigator = gameObjectNodus.Current; // hij begint vanaf het begin waar hij het path krijgt. XPathNodeIterator nodesText = nodesNavigator.SelectDescendants(XPathNodeType.Text, false);//maakt een variable aan die je kunt opvragen wat voor text er in staat. XPathNodeIterator gameObjectElement = nodesNavigator.SelectDescendants(XPathNodeType.Element, false); tempObj = new GameObject(); while(gameObjectElement.MoveNext()) { //pakt de volgende text. //itemNodusElement.MoveNext(); switch(gameObjectElement.Current.Name) { case "Name": tempObj.name = gameObjectElement.Current.Value; break; case "posX": posX = float.Parse(gameObjectElement.Current.Value); break; case "posY": //print("Test: " + gameObjectElement.Current.Value); posY = float.Parse(gameObjectElement.Current.Value); break; case "posZ": posZ = float.Parse(gameObjectElement.Current.Value); break; case "RotationX": rotationX = float.Parse(gameObjectElement.Current.Value); break; case "RotationY": rotationY = float.Parse(gameObjectElement.Current.Value); //print(rotationY); break; case "RotationZ": rotationZ = float.Parse(gameObjectElement.Current.Value); break; } } tempObj.transform.position = new Vector3(posX, posY, posZ); tempObj.transform.rotation = new Quaternion(rotationX, rotationY, rotationZ, 0); loadedGameObjects.Add(tempObj); } #endregion for (int i = 0; i < loadedGameObjects.Count; i++) { loadedGameObjects[i].transform.parent = parent.transform; } for (int i = 0; i < loadedFireObjects.Count; i++) { loadedFireObjects[i].obj.transform.parent = parent.transform; } return sceneOptions; } }
public CaptainPlanet(Earth earth, Wind wind, Fire fire, Water water, Heart heart) { }
public override void Update(GameTime gameTime) { Vector2 loc = Vectors.ConvertPointToVector2(DstRect.Center); //Add Smoke and fire TGPAContext.Instance.ParticleManager.AddParticle(new Smoke(loc, RandomMachine.GetRandomVector2(-1f, 1f, -2f, 2f), 0.30f, 0.30f, 0.30f, 1f, RandomMachine.GetRandomFloat(0.01f, .03f), RandomMachine.GetRandomInt(0, 4)), true); Fire f = new Fire(loc, RandomMachine.GetRandomVector2(-1f, 1f, -2f, 2f), 0.25f, RandomMachine.GetRandomInt(0, 4)); TGPAContext.Instance.ParticleManager.AddParticle(f, true); base.Update(gameTime); }