private void CreateThrowingBehaviorInstance()
        {
            ScriptableObject scriptableObject = Stats.behaviors.throwingObjectBehavior.value;

            if (scriptableObject != null)
            {
                _throwingObjectBehavior = _resourceFactory.Instantiate(scriptableObject) as ThrowingObjectBehavior;
            }
        }
        public void Behave()
        {
            Vector3 angleUnit = (_context.Transform.right - _context.Transform.up) / 90;

            ThrowingObjectBehavior.UseObject(-_context.Transform.up + _offsetDegree * angleUnit);
            ThrowingObjectBehavior.UseObject(((-_context.Transform.up +
                                               (_context.Transform.right - _context.Transform.up) / 2) / 2) + _offsetDegree * angleUnit);
            ThrowingObjectBehavior.UseObject(((_context.Transform.right - _context.Transform.up) / 2) +
                                             _offsetDegree * angleUnit);
        }
Пример #3
0
 public void Inject(ThrowingObjectBehavior throwingObjectBehavior)
 {
     _throwingObjectBehavior = throwingObjectBehavior;
 }
 public void AssignThrowingObjectBehavior(ThrowingObjectBehavior throwingObjectBehavior)
 {
     ThrowingObjectBehavior = throwingObjectBehavior;
 }
Пример #5
0
 public void Behave()
 {
     ThrowingObjectBehavior.UseObject(_context.Transform.right);
 }