Exemple #1
0
 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);
         }
     }
 }
Exemple #2
0
    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);
    }
Exemple #3
0
 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);
         }
     }
 }
Exemple #4
0
        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);
        }
Exemple #5
0
    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();
    }
Exemple #6
0
        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
        }
Exemple #7
0
        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);
        }
Exemple #8
0
 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);
 }