void uptadeDir4(Vector2 velocity) // tämä voidaan tehdä myös keskiarvolla { float xx = Mathf.Abs(velocity.x); float yy = Mathf.Abs(velocity.y); if (xx >= yy) { if (velocity.x >= 0) { myDir = enemyDir.Right; } else { myDir = enemyDir.Left; } } else { if (velocity.y >= 0) { myDir = enemyDir.Up; } else { myDir = enemyDir.Down; } } }
public void EnableSprites(enemyDir SpriteDir) { bool changed = false; if (SpriteDir != LastDir) { if (SpriteDir == enemyDir.Right) { Torsos[0].GetComponent <Transform>().localScale = new Vector3(1.0f, 1.0f, 1.0f); } else { Torsos[0].GetComponent <Transform>().localScale = new Vector3(-1.0f, 1.0f, 1.0f); } for (int i = 0; i < 3; i++) { if ((int)SpriteDir == i || SpriteDir == enemyDir.Right && changed == false) { changed = true; foreach (SpriteRenderer t in Torsos[i].GetComponentsInChildren <SpriteRenderer>()) { t.enabled = true; } } else { foreach (SpriteRenderer t in Torsos[i].GetComponentsInChildren <SpriteRenderer>()) { t.enabled = false; } } } } LastDir = SpriteDir; }
void uptadeDir6(Vector2 velocity) // tämä voidaan tehdä myös keskiarvolla { float xx = Mathf.Abs(velocity.x); float yy = Mathf.Abs(velocity.y); //if(velocity.magnitude == 0 && !rotToPl) //{ // myDir = enemyDir.Still; // return; //} //if (velocity.magnitude == 0 && rotToPl) //{ // myDir = enemyDir.Still; // return; //} if (xx >= yy) { if (velocity.x >= 0) { myDir = enemyDir.Right; } else { myDir = enemyDir.Left; } } else { if (velocity.y <= 0) { if (velocity.x >= 0) { myDir = enemyDir.RD; } else { myDir = enemyDir.LD; } } else { if (velocity.x >= 0) { myDir = enemyDir.RU; } else { myDir = enemyDir.LU; } } } }
public void ChangeDirection(enemyDir Dir) { switch (Dir) { case enemyDir.StillDown: { Hand.SwapHand(enemyDir.Down); SpriteController.EnableSprites(enemyDir.Down); Movin = false; break; } case enemyDir.StillL: { Hand.SwapHand(enemyDir.Left); SpriteController.EnableSprites(enemyDir.Left); Movin = false; break; } case enemyDir.StillR: { Hand.SwapHand(enemyDir.Right); SpriteController.EnableSprites(enemyDir.Right); Movin = false; break; } case enemyDir.StillUp: { Hand.SwapHand(enemyDir.Up); SpriteController.EnableSprites(enemyDir.Up); Movin = false; break; } default: { Hand.SwapHand(Dir); SpriteController.EnableSprites(Dir); Movin = true; break; } } }
public void SwapHand(enemyDir Direction) { switch (Direction) { case enemyDir.Left: { _Hand = Hands[0]; break; } case enemyDir.Down: { _Hand = Hands[1]; break; } case enemyDir.Up: { _Hand = Hands[2]; break; } case enemyDir.Right: { _Hand = Hands[0]; break; } } _Weapon.transform.SetParent(_Hand.transform); //antaa uuden parent transformin _Weapon.transform.position = _Hand.transform.position; //siirtää aseen uuden käden sijaintiin WeaponSettings(); //antaa asekohtaiset asetukset mitä aseen scripteistä löytyy }
public void SpriteDirection(enemyDir Dir) { switch (Dir) { case enemyDir.Right: { flip = true; Rotation = 0; WolfAnimator.SetBool("Moving", true); break; } case enemyDir.Left: { flip = false; Rotation = 0; WolfAnimator.SetBool("Moving", true); break; } case enemyDir.LD: { flip = false; Rotation = 45; WolfAnimator.SetBool("Moving", true); break; } case enemyDir.LU: { flip = false; Rotation = -45; WolfAnimator.SetBool("Moving", true); break; } case enemyDir.RU: { flip = true; Rotation = 45; WolfAnimator.SetBool("Moving", true); break; } case enemyDir.RD: { flip = true; Rotation = -45; WolfAnimator.SetBool("Moving", true); break; } case enemyDir.StillR: { flip = true; WolfAnimator.SetBool("Moving", false); break; } case enemyDir.StillL: { flip = false; WolfAnimator.SetBool("Moving", false); break; } case enemyDir.StillRU: { flip = true; Rotation = 45; WolfAnimator.SetBool("Moving", false); break; } case enemyDir.StillRD: { flip = true; Rotation = -45; WolfAnimator.SetBool("Moving", false); break; } case enemyDir.StillLU: { flip = false; Rotation = -45; WolfAnimator.SetBool("Moving", false); break; } case enemyDir.StillLD: { flip = false; Rotation = 45; WolfAnimator.SetBool("Moving", false); break; } } if (flip == true) { transform.localScale = new Vector3(-scale, scale, 1); } else { transform.localScale = new Vector3(scale, scale, 1); } transform.localEulerAngles = new Vector3(0, 0, Rotation); }
public SpriteChanger(List <GameObject> TorsoList) { LastDir = enemyDir.Right; Torsos = TorsoList; }
// Use this for initialization public void init(EnemyType type) { MyType = type; myDir = enemyDir.StillR; }
void rotateToPlayer(Vector2 ownPos, Vector2 velocity) { Vector2 dir = playerPos - ownPos; if (MyType == EnemyType.Wolf || MyType == EnemyType.bear) { uptadeDir6(dir); if (velocity.magnitude == 0) { switch (myDir) { case enemyDir.Right: myDir = enemyDir.StillR; break; case enemyDir.Left: myDir = enemyDir.StillL; break; case enemyDir.RD: myDir = enemyDir.StillRD; break; case enemyDir.RU: myDir = enemyDir.StillRU; break; case enemyDir.LD: myDir = enemyDir.StillLD; break; case enemyDir.LU: myDir = enemyDir.StillLU; break; } // } } else { uptadeDir4(dir); if (velocity.magnitude == 0) { switch (myDir) { case enemyDir.Right: myDir = enemyDir.StillR; break; case enemyDir.Left: myDir = enemyDir.StillL; break; case enemyDir.Up: myDir = enemyDir.StillUp; break; case enemyDir.Down: myDir = enemyDir.StillDown; break; } } else { } } }