Exemplo n.º 1
0
        public override void OnInvoke(AttachmentArgs args)
        {
            base.OnInvoke(args);
            var         bullet = GameManager.instance.BulletManager.GetStraightBullet(transform.position);
            BulletParam param  = new BulletParam()
            {
                Power = (int)(50 * _owner.Attack),
                Speed = 10f,
                Range = Range,
            };

            if (_owner is IPlayerUnit)
            {
                var player = _owner as IPlayerUnit;
                var target = TapTargetManager.instance.TargetEnemy;
                if (target != null)
                {
                    param.Direction = (target.Trans.position - transform.position).normalized;
                }
                else
                {
                    param.Direction = player.MoveDir;
                }
            }
            else
            {
                param.Direction = Vector3.ProjectOnPlane(transform.up, Vector3.up).normalized;
            }
            bullet.SetBulletInfo(param);
            bullet.Owner = _owner;
        }
Exemplo n.º 2
0
        protected override void OnUpdate()
        {
            base.OnUpdate();
            var args = new AttachmentArgs()
            {
                BaseAttack = 1f
            };

            switch (_invokeType)
            {
            case InvokeType.Always:
                OnInvoke(args);
                break;

            case InvokeType.ConstInterval:
                if (_elapsedTime > InvokeInterval)
                {
                    OnInvoke(args);
                    _elapsedTime = 0f;
                }
                _elapsedTime += Time.deltaTime;
                break;
            }
        }
Exemplo n.º 3
0
 public virtual void OnInvoke(AttachmentArgs args)
 {
 }