Esempio n. 1
0
        public virtual void Initialize(BasePartsData _target, List <ActionParameter> _actions, Skill _skill, List <NormalSkillEffect> _skillEffect, UnitCtrl _owner, float _height, bool _hasBlackOutTime, bool _isAbsolute, Vector3 _targetPosition, List <ShakeEffect> _shakes, eTargetBone _targetBone)
        {
            ShakeEffects = _shakes;
            IsAbsolute   = _isAbsolute;
            Skill        = _skill;
            Vector3 pos = _targetPosition;

            if (!IsAbsolute)
            {
                if (_targetBone == eTargetBone.FIXED_CENETER || _targetBone == eTargetBone.CENTER)
                {
                    pos = _target.GetButtontransformPosition() + _target.GetFixedCenterPos();
                }
                if (_targetBone == eTargetBone.BOTTOM)
                {
                    pos = _target.GetButtontransformPosition();
                }
                if (_targetBone == eTargetBone.HEAD)
                {
                    pos = GetHeadBonePos(_target);
                }
            }
            TargetPos  = pos;
            FireTarget = _target;
            _target.Owner.FirearmCtrlsOnMe.Add(this);
            SkillHitEffects = _skillEffect;
            EndActions      = _actions;
            owner           = _owner;
            SetInitialPosition();
            InitMoveType(_height, _owner);
            float distance = Vector3.Distance(TargetPos, initialPosistion) + 1;

            owner.StartCoroutine(UpdatePosition(distance));
        }
Esempio n. 2
0
 protected virtual Vector3 GetHeadBonePos(BasePartsData _target)
 {
     return(_target.GetButtontransformPosition() + _target.GetFixedCenterPos());
 }