<Type Name="ConcurrentBehaviour" FullName="SpicyPixel.Threading.ConcurrentBehaviour">
  <TypeSignature Language="C#" Value="public abstract class ConcurrentBehaviour : UnityEngine.MonoBehaviour" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit ConcurrentBehaviour extends UnityEngine.MonoBehaviour" />
  <AssemblyInfo>
    <AssemblyName>SpicyPixel.Threading.Unity</AssemblyName>
    <AssemblyVersion>1.0.5.34677</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>UnityEngine.MonoBehaviour</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>
            Convenience class that extends MonoBehavior to provide a
            Scheduler and TaskFactory for executing tasks on the
            behaviour instance.
            </summary>
    <remarks>
            Derived classes must remember to use the <c>override</c>
            keyword when providing an <see cref="M:SpicyPixel.Threading.ConcurrentBehaviour.Awake" /> implementation
            or the task factory will not be initialized.
            </remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected ConcurrentBehaviour ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5.34677</AssemblyVersion>
      </AssemblyInfo>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Awake">
      <MemberSignature Language="C#" Value="protected virtual void Awake ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void Awake() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5.34677</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
            Initializes the task factory during Awake().
            </summary>
        <remarks>
            The task factory cannot be initialized in the constructor
            because it must be initialized from the coroutine
            execution thread which the constructor does not guarantee.
            </remarks>
      </Docs>
    </Member>
    <Member MemberName="fiberFactory">
      <MemberSignature Language="C#" Value="public SpicyPixel.Threading.FiberFactory fiberFactory { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class SpicyPixel.Threading.FiberFactory fiberFactory" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5.34677</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>SpicyPixel.Threading.FiberFactory</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Gets the fiber factory.
            </summary>
        <value>The fiber factory.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="fiberScheduler">
      <MemberSignature Language="C#" Value="public SpicyPixel.Threading.FiberScheduler fiberScheduler { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class SpicyPixel.Threading.FiberScheduler fiberScheduler" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5.34677</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>SpicyPixel.Threading.FiberScheduler</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Gets the fiber scheduler for queuing to this MonoBehaviour.
            </summary>
        <value>
            The fiber scheduler.
            </value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SharedInstance">
      <MemberSignature Language="C#" Value="public static SpicyPixel.Threading.ConcurrentBehaviour SharedInstance { get; }" />
      <MemberSignature Language="ILAsm" Value=".property class SpicyPixel.Threading.ConcurrentBehaviour SharedInstance" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5.34677</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>SpicyPixel.Threading.ConcurrentBehaviour</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Gets the shared instance valid for the lifetime of the application.
            </summary>
        <value>
            The shared instance valid until Unity raises OnApplicationQuit().
            </value>
        <remarks>To be added.</remarks>
        <description>
            This instance can be used to create a scheduler and task factory
            not bound to a specific MonoBehaviour.
            </description>
      </Docs>
    </Member>
    <Member MemberName="taskFactory">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.TaskFactory taskFactory { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Threading.Tasks.TaskFactory taskFactory" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5.34677</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.TaskFactory</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Gets the task factory.
            </summary>
        <value>
            The task factory.
            </value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="taskScheduler">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.TaskScheduler taskScheduler { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Threading.Tasks.TaskScheduler taskScheduler" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5.34677</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.TaskScheduler</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Gets the task scheduler for queuing to this MonoBehaviour.
            </summary>
        <value>
            The scheduler.
            </value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
