public T Allocate() { T _object; if (objectStack.Count != 0) { _object = objectStack.Pop(); } else { if (CreateObjectAction == null) { _object = default; } else { _object = this.CreateObjectAction.Invoke(); } } GetObjectAction?.Invoke(_object); return(_object); }
private void CreateGetObjectAction(DynamicElement character, out BaseAction action, out ActionArg arg) { action = new GetObjectAction(); arg = new GetObjectArg(character); }