public virtual void OnTriggerEnter(Collider other) { if (other.transform.tag == _tagToHit || !other.isTrigger) { bool isTargetHit = other.GetComponent <Unit>().justHit; if (!isTargetHit) { other.GetComponent <HealthController>().DoDamage(_damage); other.GetComponent <Unit>().KnockBack(this.transform.position, 2f, 2f); other.GetComponent <Unit>().justHit = true; if (Random.Range(0, 100) <= 25) { _damage = Mathf.FloorToInt(_damage * 1.5f); TextMessenger txtMessenger = GameObject.FindGameObjectWithTag(Tags.GameController).GetComponent <TextMessenger>(); txtMessenger.MakeText(_damage.ToString(), other.transform.position + new Vector3(0, 3, 0), Color.red, 24, true); } else { TextMessenger txtMessenger = GameObject.FindGameObjectWithTag(Tags.GameController).GetComponent <TextMessenger>(); txtMessenger.MakeText(_damage.ToString(), other.transform.position + new Vector3(0, 3, 0), Color.yellow, 24, true); } ObjectPool.instance.PoolObject(this.gameObject); } } }
public override IEnumerator Activate(Transform player) { GameObject gameController = GameObject.FindGameObjectWithTag(Tags.GameController); yield return(new WaitForSeconds(1)); HealthController healthController = player.GetComponent <HealthController> (); TextMessenger txtMessenger = gameController.GetComponent <TextMessenger>(); healthController.health += _heal; txtMessenger.MakeText(_heal.ToString(), player.position + new Vector3(0, 2, 0), Color.green, 24, true); }
public void Explode() { Collider[] cols = Physics.OverlapSphere(this.transform.position, 5); foreach (Collider col in cols) { if (col.tag == Tags.Enemy) { col.GetComponent <HealthController>().DoDamage(_damage); col.GetComponent <Unit>().KnockBack(this.transform.position, 2f, 2f); col.GetComponent <Unit>().justHit = true; TextMessenger txtMessenger = GameObject.FindGameObjectWithTag(Tags.GameController).GetComponent <TextMessenger>(); txtMessenger.MakeText(_damage.ToString(), col.transform.position + new Vector3(0, 3, 0), Color.yellow, 24, true); } } }
public NotificationResult Notify(NotificationInfo notificationInfo) { TextMessenger messenger = new TextMessenger(); NotificationResult result = new NotificationResult(); try { messenger.SendMessage(GetMessageContent(notificationInfo)); result.IsSuccess = true; } catch { result.Details = "Error"; } return(result); }
public override IEnumerator Activate(Transform player) { ParticleSystem playerParticles = player.GetComponent <ParticleSystem>(); playerParticles.Play(); GameObject gameController = GameObject.FindGameObjectWithTag(Tags.GameController); HealthController healthController = player.GetComponent <HealthController>(); TextMessenger txtMessenger = gameController.GetComponent <TextMessenger>(); for (int i = 0; i < 10; i++) { healthController.health += _heal; txtMessenger.MakeText(_heal.ToString(), player.position + new Vector3(0, 2, 0), Color.green, 24, true); yield return(new WaitForSeconds(1f)); } playerParticles.Stop(); }
static void Main(string[] args) { var video = new Video() { Title = "Video 1 title" }; var videoEncoder = new VideoEncoder(); // publisher var mailService = new MailService(); // subscriber var textMessenger = new TextMessenger(); // another sub // subscription is done before publishing videoEncoder.VideoEncoded += mailService.OnVideoEncodingDone; // subscription process ... just pointer to method...not a call videoEncoder.VideoEncoded += textMessenger.SendMessageAfterVideoEncoding; // another sub process videoEncoder.Encode(video); // contains the event }
public NotificationResult Notify(NotificationInfo eventInfo, string chat_id) { TextMessenger textMessange = new TextMessenger(); NotificationResult result = new NotificationResult(); try { textMessange.PushMessage(chat_id, GetMessageContent(eventInfo)); result.IsSuccess = true; } catch { result.Details = "Error"; } return(result); }
public void DoDamage(GameObject entity, float yPower, float xPower, int extraDamage) { _justAttacked = true; _attacking = false; _currentAttackDmg = _stats.basicDamage + _equipment.GetDamage() + extraDamage; if (Random.Range(0, 100) <= 25) { _currentAttackDmg = Mathf.FloorToInt(_currentAttackDmg * 1.5f); TextMessenger txtMessenger = GameObject.FindGameObjectWithTag(Tags.GameController).GetComponent <TextMessenger>(); txtMessenger.MakeText(_currentAttackDmg.ToString(), entity.transform.position + new Vector3(0, 3, 0), Color.red, 24, true); StartCoroutine(GameObject.FindGameObjectWithTag(Tags.MainCam).GetComponent <CameraControll>().ShakeScreen()); } else { TextMessenger txtMessenger = GameObject.FindGameObjectWithTag(Tags.GameController).GetComponent <TextMessenger>(); txtMessenger.MakeText(_currentAttackDmg.ToString(), entity.transform.position + new Vector3(0, 3, 0), Color.yellow, 24, true); } entity.GetComponent <HealthController>().DoDamage(_currentAttackDmg); entity.GetComponent <Enemy>().justHit = true; entity.GetComponent <Unit>().KnockBack(this.transform.position, yPower, xPower); }