Files
Awperative/site/api/Awperative.Component.html
2026-02-09 16:55:27 -05:00

743 lines
23 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class Component | Awperative </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class Component | Awperative ">
<meta name="description" content="The lowest level scripting class in Awperative. Components are scene level and provide access to all scene level methods, can be applied to any docker and inherited Sadly component does not have excessive access to specific types. Anything that inherits Component is built to work in any DockerEntity, which leads to generic Assumptions. If you want to make a body specific or scene specific component both classes are available.">
<link rel="icon" href="../favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
<meta name="docfx:navrel" content="../toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="docfx:rel" content="../">
<meta name="docfx:docurl" content="https://github.com/BlazeyDotOrg/Awperative/new/main/apiSpec/new?filename=Awperative_Component.md&amp;value=---%0Auid%3A%20Awperative.Component%0Asummary%3A%20&#39;*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax&#39;%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../logo.svg" alt="Awperative">
Awperative
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="Awperative.Component">
<h1 id="Awperative_Component" data-uid="Awperative.Component" class="text-break">
Class Component <a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L3"><i class="bi bi-code-slash"></i></a>
</h1>
<div class="facts text-secondary">
<dl><dt>Namespace</dt><dd><a class="xref" href="Awperative.html">Awperative</a></dd></dl>
<dl><dt>Assembly</dt><dd>Awperative.dll</dd></dl>
</div>
<div class="markdown summary"><p>The lowest level scripting class in Awperative. Components are scene level and provide access to all scene level methods, can be applied to any docker and inherited
Sadly component does not have excessive access to specific types.
Anything that inherits Component is built to work in any DockerEntity, which leads to generic
Assumptions. If you want to make a body specific or scene specific component both classes are available.</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public abstract class Component</code></pre>
</div>
<dl class="typelist inheritance">
<dt>Inheritance</dt>
<dd>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
<div><span class="xref">Component</span></div>
</dd>
</dl>
<dl class="typelist derived">
<dt>Derived</dt>
<dd>
<div><a class="xref" href="Awperative.BodyComponent.html">BodyComponent</a></div>
<div><a class="xref" href="Awperative.SceneComponent.html">SceneComponent</a></div>
</dd>
</dl>
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
</div>
</dd></dl>
<h2 class="section" id="properties">Properties
</h2>
<a id="Awperative_Component_Scene_" data-uid="Awperative.Component.Scene*"></a>
<h3 id="Awperative_Component_Scene" data-uid="Awperative.Component.Scene">
Scene
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Core.cs/#L16"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Scene Scene { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Awperative.Scene.html">Scene</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="methods">Methods
</h2>
<a id="Awperative_Component_AddBody_" data-uid="Awperative.Component.AddBody*"></a>
<h3 id="Awperative_Component_AddBody" data-uid="Awperative.Component.AddBody">
AddBody()
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L6"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected Body AddBody()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Awperative.Body.html">Body</a></dt>
<dd></dd>
</dl>
<a id="Awperative_Component_AddBody_" data-uid="Awperative.Component.AddBody*"></a>
<h3 id="Awperative_Component_AddBody_Awperative_Transform_" data-uid="Awperative.Component.AddBody(Awperative.Transform)">
AddBody(Transform)
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L7"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected Body AddBody(Transform __transform)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>__transform</code> <a class="xref" href="Awperative.Transform.html">Transform</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Awperative.Body.html">Body</a></dt>
<dd></dd>
</dl>
<a id="Awperative_Component_AddComponent_" data-uid="Awperative.Component.AddComponent*"></a>
<h3 id="Awperative_Component_AddComponent__1" data-uid="Awperative.Component.AddComponent``1">
AddComponent&lt;Generic&gt;()
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L18"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Component AddComponent&lt;Generic&gt;() where Generic : Component</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Awperative.Component.html">Component</a></dt>
<dd></dd>
</dl>
<h4 class="section">Type Parameters</h4>
<dl class="parameters">
<dt><code>Generic</code></dt>
<dd></dd>
</dl>
<a id="Awperative_Component_AddComponent_" data-uid="Awperative.Component.AddComponent*"></a>
<h3 id="Awperative_Component_AddComponent__1_System_Object___" data-uid="Awperative.Component.AddComponent``1(System.Object[])">
AddComponent&lt;Generic&gt;(object[])
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L19"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Component AddComponent&lt;Generic&gt;(object[] __args) where Generic : Component</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>__args</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>[]</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Awperative.Component.html">Component</a></dt>
<dd></dd>
</dl>
<h4 class="section">Type Parameters</h4>
<dl class="parameters">
<dt><code>Generic</code></dt>
<dd></dd>
</dl>
<a id="Awperative_Component_Create_" data-uid="Awperative.Component.Create*"></a>
<h3 id="Awperative_Component_Create" data-uid="Awperative.Component.Create">
Create()
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Core.cs/#L49"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void Create()</code></pre>
</div>
<a id="Awperative_Component_Destroy_" data-uid="Awperative.Component.Destroy*"></a>
<h3 id="Awperative_Component_Destroy" data-uid="Awperative.Component.Destroy">
Destroy()
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Core.cs/#L50"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void Destroy()</code></pre>
</div>
<a id="Awperative_Component_DestroyBody_" data-uid="Awperative.Component.DestroyBody*"></a>
<h3 id="Awperative_Component_DestroyBody_Awperative_Body_" data-uid="Awperative.Component.DestroyBody(Awperative.Body)">
DestroyBody(Body)
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L12"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected void DestroyBody(Body __body)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>__body</code> <a class="xref" href="Awperative.Body.html">Body</a></dt>
<dd></dd>
</dl>
<a id="Awperative_Component_Draw_" data-uid="Awperative.Component.Draw*"></a>
<h3 id="Awperative_Component_Draw_Microsoft_Xna_Framework_GameTime_" data-uid="Awperative.Component.Draw(Microsoft.Xna.Framework.GameTime)">
Draw(GameTime)
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Core.cs/#L46"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void Draw(GameTime __gameTime)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>__gameTime</code> <span class="xref">GameTime</span></dt>
<dd></dd>
</dl>
<a id="Awperative_Component_GetBodies_" data-uid="Awperative.Component.GetBodies*"></a>
<h3 id="Awperative_Component_GetBodies_System_String_" data-uid="Awperative.Component.GetBodies(System.String)">
GetBodies(string)
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L10"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected Body[] GetBodies(string __tag)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>__tag</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Awperative.Body.html">Body</a>[]</dt>
<dd></dd>
</dl>
<a id="Awperative_Component_GetBody_" data-uid="Awperative.Component.GetBody*"></a>
<h3 id="Awperative_Component_GetBody_System_String_" data-uid="Awperative.Component.GetBody(System.String)">
GetBody(string)
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L9"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected Body GetBody(string __tag)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>__tag</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Awperative.Body.html">Body</a></dt>
<dd></dd>
</dl>
<a id="Awperative_Component_GetComponent_" data-uid="Awperative.Component.GetComponent*"></a>
<h3 id="Awperative_Component_GetComponent__1" data-uid="Awperative.Component.GetComponent``1">
GetComponent&lt;Generic&gt;()
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L21"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Component GetComponent&lt;Generic&gt;() where Generic : Component</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Awperative.Component.html">Component</a></dt>
<dd></dd>
</dl>
<h4 class="section">Type Parameters</h4>
<dl class="parameters">
<dt><code>Generic</code></dt>
<dd></dd>
</dl>
<a id="Awperative_Component_GetComponents_" data-uid="Awperative.Component.GetComponents*"></a>
<h3 id="Awperative_Component_GetComponents__1" data-uid="Awperative.Component.GetComponents``1">
GetComponents&lt;Generic&gt;()
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L22"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Component[] GetComponents&lt;Generic&gt;() where Generic : Component</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Awperative.Component.html">Component</a>[]</dt>
<dd></dd>
</dl>
<h4 class="section">Type Parameters</h4>
<dl class="parameters">
<dt><code>Generic</code></dt>
<dd></dd>
</dl>
<a id="Awperative_Component_Load_" data-uid="Awperative.Component.Load*"></a>
<h3 id="Awperative_Component_Load" data-uid="Awperative.Component.Load">
Load()
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Core.cs/#L42"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void Load()</code></pre>
</div>
<a id="Awperative_Component_RemoveComponent_" data-uid="Awperative.Component.RemoveComponent*"></a>
<h3 id="Awperative_Component_RemoveComponent__1" data-uid="Awperative.Component.RemoveComponent``1">
RemoveComponent&lt;Generic&gt;()
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L24"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void RemoveComponent&lt;Generic&gt;() where Generic : Component</code></pre>
</div>
<h4 class="section">Type Parameters</h4>
<dl class="parameters">
<dt><code>Generic</code></dt>
<dd></dd>
</dl>
<a id="Awperative_Component_Unload_" data-uid="Awperative.Component.Unload*"></a>
<h3 id="Awperative_Component_Unload" data-uid="Awperative.Component.Unload">
Unload()
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Core.cs/#L39"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void Unload()</code></pre>
</div>
<a id="Awperative_Component_Update_" data-uid="Awperative.Component.Update*"></a>
<h3 id="Awperative_Component_Update_Microsoft_Xna_Framework_GameTime_" data-uid="Awperative.Component.Update(Microsoft.Xna.Framework.GameTime)">
Update(GameTime)
<a class="header-action link-secondary" title="View source" href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Core.cs/#L45"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void Update(GameTime __gameTime)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>__gameTime</code> <span class="xref">GameTime</span></dt>
<dd></dd>
</dl>
</article>
<div class="contribution d-print-none">
<a href="https://github.com/BlazeyDotOrg/Awperative/blob/main/Awperative/Kernel/Scripting/Component/Methods.cs/#L3" class="edit-link">Edit this page</a>
</div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
</div>
</div>
</footer>
</body>
</html>