/// <summary> Executes the fight operation.</summary> private void Fight() { attackTarget = nearbyEnemies[0]; float distance; try { distance = Vector2.Distance(transform.position, attackTarget.transform.position); } catch (NullReferenceException e) { e.ToString(); return; } if (distance < Range) { isMoving = false; Shoot(attackTarget); } else { Vector2 dir = attackTarget.transform.position - transform.position; dir.Normalize(); dir *= (distance - Range); MoveTo((Vector2)transform.position + dir); } }
void OnCollisionEnter(Collision c) { Solider s = c.gameObject.GetComponent <Solider>(); if (s != null) { switch (type) { case (PowerUpType.Damage): StartCoroutine(s.ApplyEffect(Solider.EffectType.Damage, EffectAmount, EffectDuration)); break; case (PowerUpType.Health): StartCoroutine(s.ApplyEffect(Solider.EffectType.Health, EffectAmount, EffectDuration)); break; case (PowerUpType.Speed): StartCoroutine(s.ApplyEffect(Solider.EffectType.Speed, EffectAmount, EffectDuration)); break; } } }
/// <summary> Shoots the given target.</summary> /// <param name="target"> Target for the Solider.</param> public void Shoot(Solider target) { if (!isMoving && canShoot) { if ((target.transform.position - transform.position).magnitude < Range) { float angle = 0; Vector2 diff = target.transform.position - transform.position; angle = Mathf.Atan2(diff.y, diff.x); angle *= Mathf.Rad2Deg; //Debug.Log( "Angle: " + angle ); transform.rotation = Quaternion.Euler(0, 0, angle); //Random 50% change to hit float chance = Random.Range(0.0f, 100.0f); if (chance > 50) { target.ApplyDamage(Damage + EffectedDamage); } canShoot = false; StartCoroutine(shotWaitTime()); } } }
public static void PostData(string nick, Vector3 pos, Vector3 velocity) { var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://52.171.228.182/api/game"); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { Solider pc = new Solider { Nick = nick, pos = new PosVextor3 { X = pos.x, Y = pos.y, Z = pos.z }, velocity = new PosVextor3 { X = velocity.x, Y = velocity.y, Z = velocity.z } }; string json = JsonConvert.SerializeObject(pc); streamWriter.Write(json); } var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); } }
public IActionResult Post([FromBody] Solider solider) { if (solider != null) { list.Add(solider); } return(Ok()); }
public void getXMLTest() { System.Diagnostics.Trace.WriteLine("TEST START"); Solider testSolider1 = new Solider("Jeff", "Banister", "BA1234", false, 5.6, 125, 'M'); PoolData testData1 = new PoolData(testSolider1, DateTime.Now, PoolData.Pool.CRCM); System.Diagnostics.Trace.WriteLine(testData1.getXML().ToString()); Assert.Fail(); }
public static Solider GetData(string nick) { string url = string.Format("http://52.171.228.182/api/game/{0}", nick); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; var webResponse = request.GetResponse(); var webStream = webResponse.GetResponseStream(); var responseReader = new StreamReader(webStream); string response = responseReader.ReadToEnd(); Solider pc = JsonConvert.DeserializeObject <Solider>(response); responseReader.Close(); return(pc); }
public Unit CreateUnit(float x, float y, GameObject prefab, bool isFriendly) { Vector3 position = new Vector3(x, y, 0); var solider = new Solider { Prefab = Object.Instantiate(prefab) }; _cost = 10; solider.Data.Cost = _cost; solider.Data.IsFriendly = isFriendly; solider.Prefab.transform.SetPositionAndRotation(position, solider.Prefab.transform.rotation); solider.Prefab.GetComponent <UnitController>().SetDestination(position); return(solider); }
void OnCollisionEnter(Collision c) { Solider s = c.gameObject.GetComponent <Solider>(); if (s != null) { switch (type) { case (TrapType.Bear): s.ApplyDamage(EffectAmount); break; case (TrapType.Snare): StartCoroutine(s.ApplyEffect(Solider.EffectType.Speed, EffectAmount, Duration)); break; } } }
/// <summary> Executes the fight operation.</summary> private void Fight() { attackTarget = nearbyEnemies[ 0 ]; float distance; try { distance = Vector2.Distance( transform.position, attackTarget.transform.position ); } catch ( NullReferenceException e ) { e.ToString(); return; } if ( distance < Range ) { isMoving = false; Shoot( attackTarget ); } else { Vector2 dir = attackTarget.transform.position - transform.position; dir.Normalize(); dir *= ( distance - Range ); MoveTo( (Vector2)transform.position + dir ); } }
/// <summary> Shoots the given target.</summary> /// <param name="target"> Target for the Solider.</param> public void Shoot( Solider target ) { if ( !isMoving && canShoot ) { if ( ( target.transform.position - transform.position ).magnitude < Range ) { float angle = 0; Vector2 diff = target.transform.position - transform.position; angle = Mathf.Atan2( diff.y, diff.x ); angle *= Mathf.Rad2Deg; //Debug.Log( "Angle: " + angle ); transform.rotation = Quaternion.Euler( 0, 0, angle ); //Random 50% change to hit float chance = Random.Range( 0.0f, 100.0f ); if ( chance > 50 ) { target.ApplyDamage( Damage + EffectedDamage ); } canShoot = false; StartCoroutine( shotWaitTime() ); } } }
public void RegisterSolider( Solider s ) { Teams[ s.AssignedTeam ].Add( s ); }
public void DeregisterSolider( Solider s ) { Teams[ s.AssignedTeam ].Remove( s ); }
public void DeregisterSolider(Solider s) { Teams[s.AssignedTeam].Remove(s); }
public void RegisterSolider(Solider s) { Teams[s.AssignedTeam].Add(s); }