示例#1
0
    public DistanceAttackCompetence(IDistanceAttackTemplate templateUse, IUnit caster) : base(templateUse, caster)
    {
        //Template & caster can be null on construction of the competence factory
        if (templateUse == null && caster == null)
        {
            return;
        }

        template        = templateUse;
        _mainCam        = Camera.main;
        _projectilePool = templateUse.projectilePool;
    }
示例#2
0
 internal void Init(Vector3 target, IUnit caster, IDistanceAttackTemplate competenceTemplate)
 {
     _target             = target;
     _caster             = caster;
     _competenceTemplate = competenceTemplate;
     _pool = competenceTemplate.projectilePool;
     transform.position = new Vector3(
         _caster.unitTransform.position.x,
         0.5f,
         _caster.unitTransform.position.z) + _caster.unitTransform.forward * _launchDist;
     StartCoroutine(MoveTowardTarget());
 }