public void Initialize(EnemyBirth birth) { Relocation2D(birth.origin); transform.Translate(Vector3.right * birth.radius, Space.World); transform.RotateAround(Vector3.zero, transform.up, birth.angle + 90f * birth.region); LookAt2D(Vector3.zero); centerLine = transform.position; speed = birth.speed; amplitude = birth.amplitude; hitpoints = birth.hitpoints; attack = birth.attack; score = birth.score; movingPattern = birth.movingPattern; right = transform.right; forward = transform.forward; if (GameController.enemyInward) { center = GameObject.Find("Center").transform; } else { Transform target = GameObject.Find("Drum" + Random.Range(1, 5)).transform; circleCenter = 0.5f * (target.position + birth.origin); circleCenter.y = 0f; LookAt2D(circleCenter); int dir = GameController.RollOne(); rb = GetComponent <Rigidbody>(); rb.AddForce(dir * speed * transform.right, ForceMode.VelocityChange); circleRadius = (birth.origin - circleCenter).magnitude; noDamage = true; Invoke("ResetNoDamage", 2f); } }
public void MultipliedBy(LevelModifier modifier) { speed *= modifier.speed; amplitude *= modifier.amplitude; hitpoints *= modifier.hitpoint; attack =(int)(attack * modifier.attack); score *= modifier.score; movingPattern = modifier.movingPattern; }
public void MultipliedBy(LevelModifier modifier) { speed *= modifier.speed; amplitude *= modifier.amplitude; hitpoints *= modifier.hitpoint; attack = (int)(attack * modifier.attack); score *= modifier.score; movingPattern = modifier.movingPattern; }
public void BecomeFrightened() { IsFrightened = true; movingPattern = MovingPattern.Frightened; Speed = 15; material = frightenedMaterial; targetNode = currentNode; targetPosition = targetNode.transform.position; Invoke("BecomeUnfrightened", FrightenedTimer); }
public void ChangeMovingPattern() { if (movingPattern == MovingPattern.Chase) { movingPattern = MovingPattern.Scatter; } else if (movingPattern == MovingPattern.Scatter) { movingPattern = MovingPattern.Chase; } else if (!IsFrightened) { movingPattern = MovingPattern.Chase; } }
public void Initialize(EnemyBirth birth){ Relocation2D(Vector3.zero); transform.Translate(transform.right * GameController.tableRadius, Space.World); transform.RotateAround(Vector3.zero, transform.up, birth.angle + 90f * birth.region); LookAt2D(Vector3.zero); centerLine = transform.position; speed = birth.speed; amplitude = birth.amplitude; hitpoints = birth.hitpoints; attack = birth.attack; score = birth.score; movingPattern = birth.movingPattern; right = transform.right; forward = transform.forward; }
public void Initialize(EnemyBirth birth) { Relocation2D(Vector3.zero); transform.Translate(transform.right * GameController.tableRadius, Space.World); transform.RotateAround(Vector3.zero, transform.up, birth.angle + 90f * birth.region); LookAt2D(Vector3.zero); centerLine = transform.position; speed = birth.speed; amplitude = birth.amplitude; hitpoints = birth.hitpoints; attack = birth.attack; score = birth.score; movingPattern = birth.movingPattern; right = transform.right; forward = transform.forward; }
// must be called public void Initialize(float angle, MovingPattern moving, int region, float speed, float amplitude, float hitpoints, int attack, int score){ Relocation2D(Vector3.zero); transform.Translate(transform.right * GameController.tableRadius, Space.World); transform.RotateAround(Vector3.zero, transform.up, angle + 90f * region); LookAt2D(Vector3.zero); centerLine = transform.position; this.speed = speed; this.amplitude = amplitude; this.hitpoints = hitpoints; this.attack = attack; this.score = score; movingPattern = moving; right = transform.right; forward = transform.forward; }
void GenerateEnemy(float angle = 0f, MovingPattern moving = MovingPattern.STRAIGHT, int region = 0, float speed = 3f, float amplitude = 4f, float hitpoints = 100, int attack = basicAttack, int score = basicScore) { int enemyLevel = RollEnemyLevel(); var modifier = levelModifiers[enemyLevel]; var enemy = Instantiate(modifier.prefab).GetComponent <Enemy>(); enemy.transform.parent = enemies.transform; enemy.Initialize(angle, modifier.movingPattern, region, speed * modifier.speed, amplitude * modifier.amplitude, (int)(hitpoints * modifier.hitpoint), (int)(attack * modifier.attack), score * modifier.score); }
// must be called public void Initialize(float angle, MovingPattern moving, int region, float speed, float amplitude, float hitpoints, int attack, int score) { Relocation2D(Vector3.zero); transform.Translate(transform.right * GameController.tableRadius, Space.World); transform.RotateAround(Vector3.zero, transform.up, angle + 90f * region); LookAt2D(Vector3.zero); centerLine = transform.position; this.speed = speed; this.amplitude = amplitude; this.hitpoints = hitpoints; this.attack = attack; this.score = score; movingPattern = moving; right = transform.right; forward = transform.forward; }
public void Initialize(EnemyBirth birth){ Relocation2D(birth.origin); transform.Translate(Vector3.right * birth.radius, Space.World); transform.RotateAround(Vector3.zero, transform.up, birth.angle + 90f * birth.region); LookAt2D(Vector3.zero); centerLine = transform.position; speed = birth.speed; amplitude = birth.amplitude; hitpoints = birth.hitpoints; attack = birth.attack; score = birth.score; movingPattern = birth.movingPattern; right = transform.right; forward = transform.forward; if (GameController.enemyInward) { center = GameObject.Find("Center").transform; } else { Transform target = GameObject.Find ("Drum" + Random.Range (1,5)).transform; circleCenter = 0.5f * (target.position + birth.origin); circleCenter.y = 0f; LookAt2D(circleCenter); int dir = GameController.RollOne(); rb = GetComponent<Rigidbody>(); rb.AddForce(dir * speed * transform.right, ForceMode.VelocityChange); circleRadius = (birth.origin - circleCenter).magnitude; noDamage = true; Invoke ("ResetNoDamage", 2f); } }
void GenerateEnemy(float angle = 0f, MovingPattern moving = MovingPattern.STRAIGHT, int region = 0, float speed = 3f, float amplitude = 4f, float hitpoints = 100, int attack = basicAttack, int score = basicScore) { int enemyLevel = RollEnemyLevel(); var modifier = levelModifiers[enemyLevel]; var enemy = Instantiate(modifier.prefab).GetComponent<Enemy>(); enemy.transform.parent = enemies.transform; enemy.Initialize(angle, modifier.movingPattern, region, speed * modifier.speed, amplitude * modifier.amplitude, (int)(hitpoints * modifier.hitpoint), (int)(attack * modifier.attack), score * modifier.score); }