// Update is called once per frame void Update() { var dt = Time.deltaTime; if (_enemyWeeble != null) { //do damage if (_timer > CoolDown) { _enemyWeeble.TakeDamage(Damage); _timer = 0; if (_enemyWeeble.IsDead) { _enemyWeeble = null; } } else { _timer = _timer + dt; } } else { transform.position = transform.position + (dt * velocity * _direction); } if (IsDead) { Destroy(gameObject); } }
private void OnTriggerEnter(Collider other) { WeebleMover Weeble = other.gameObject.GetComponent <WeebleMover>(); if (Weeble != null && Weeble.WeebleTeam != WeebleTeam) { _enemyWeeble = Weeble; } }
// Use this for initialization private void InstantiateWeeble(GameObject prefab, Transform location) { GameObject weeble = Instantiate(prefab); weeble.transform.position = location.position; WeebleMover mover = weeble.GetComponent <WeebleMover>(); mover.Init(WeebleDirection, WeebleTeam); }