public void OnTriggerEnter(Collider other) { if (m_isReturning) { return; } if (other.gameObject.CompareTag(GL.TAG_BALL)) { AttackerBehavior att = other.gameObject.GetComponentInParent <AttackerBehavior>(); if (att.HasBall()) { m_GP.Arrested(this, att); } } if (other.gameObject.CompareTag(GL.TAG_ATTACKER)) { AttackerBehavior att = other.gameObject.GetComponent <AttackerBehavior>(); if (att.HasBall()) { m_GP.Arrested(this, att); } } }
public AttackerBehavior FindAttackersNear(AttackerBehavior attacker) { AttackerBehavior near = null; float nearDist = 0.0f; foreach (var att in m_Attackers) { if (att == attacker || att.PlayActive) { continue; } if (near == null) { near = att; nearDist = Vector3.Distance(attacker.transform.position, att.transform.position); continue; } float dist = Vector3.Distance(attacker.transform.position, att.transform.position); if (dist < nearDist) { nearDist = dist; near = att; } } return(near); }
void OnTriggerStay2D(Collider2D collider) { AttackerBehavior attacker = collider.gameObject.GetComponent <AttackerBehavior>(); if (attacker) { anim.SetTrigger("underAttackTrigger"); } }
void OnTriggerEnter2D(Collider2D col) { AttackerBehavior attacker = col.gameObject.GetComponent <AttackerBehavior>(); Health health = col.gameObject.GetComponent <Health>(); if (attacker && health) { levelManager.LoadLevel("03_Lose"); } }
public bool PassBall(AttackerBehavior attKeeper) { AttackerBehavior near = FindAttackersNear(attKeeper); if (near != null) { //m_Ball.transform.SetParent(near.transform, false); attKeeper.LostBall(); near.PickBall(m_Ball.transform); return(true); } return(false); }
void OnCollisionEnter(Collision collision) { if (m_isReturning) { return; } if (collision.gameObject.CompareTag(GL.TAG_ATTACKER)) { AttackerBehavior att = collision.gameObject.GetComponent <AttackerBehavior>(); if (att.HasBall()) { m_GP.Arrested(this, att); } } }
bool isTimeToSpawn(GameObject attackerGameObject) { AttackerBehavior attacker = attackerGameObject.GetComponent <AttackerBehavior>(); float meanSpawnDelay = attacker.seenEverySeconds; float spawnsPerSecond = 1 / meanSpawnDelay; if (Time.fixedDeltaTime > meanSpawnDelay) { Debug.LogWarning("Spawn Rate capped by Frame Rate"); } float threshold = spawnsPerSecond * Time.deltaTime / 5; return(Random.value < threshold); }
void OnTriggerEnter2D(Collider2D collider) { AttackerBehavior attacker = collider.gameObject.GetComponent <AttackerBehavior>(); Health health = collider.gameObject.GetComponent <Health>(); if (attacker && health) { health.DealDamage(Damage); if (Debuffer) { attacker.Debuff(); } if (destructible == true) { Destroy(gameObject); } } }
public void Arrested(EnemyBehavior enemy, AttackerBehavior attBallKeeper) { if (!attBallKeeper.HasBall()) { return; } if (PassBall(attBallKeeper)) { attBallKeeper.Inactivated(); enemy.Inactivated(); } else { attBallKeeper.Inactivated(); Protected(); } }
private void SpawnAttacker(Vector3 spawnPost) { if (m_AttackerEnergy.SpawnPlayer(AttDef.EnergyCost)) { GameObject attacker = Instantiate(m_AttackerPfab, spawnPost, Quaternion.identity, m_AttackersGroup.transform); Transform target; if (AttackersHasBall()) { target = null; } else { target = m_Ball.transform; } AttackerBehavior att = attacker.GetComponent <AttackerBehavior>(); att.Init(this, target, AttDef.SpawnTime); m_Attackers.Add(att); } }
// Use this for initialization void Start() { anim = GetComponent <Animator>(); atkbehave = GetComponent <AttackerBehavior>(); }
public void DestroyAttacker(AttackerBehavior att) { m_Attackers.Remove(att); Destroy(att.gameObject, 0.1f); }