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); }
public void Inject(ThrowingObjectBehavior throwingObjectBehavior) { _throwingObjectBehavior = throwingObjectBehavior; }
public void AssignThrowingObjectBehavior(ThrowingObjectBehavior throwingObjectBehavior) { ThrowingObjectBehavior = throwingObjectBehavior; }
public void Behave() { ThrowingObjectBehavior.UseObject(_context.Transform.right); }