🔍 s&box Package Code Search

Search C# source code, UI razor templates, shaders, and configs across s&box packages.

Showing code results for query: * (8 total matches found)
nolankicks.kickscomponents / Code/SceneTrigger.cs
Game library
using Sandbox;

public sealed class SceneTrigger : Component, Component.ITriggerListener
{
	[Property] public SceneFile SceneFile { get; set; }
	protected override void OnUpdate()
	{

	}

	void ITriggerListener.OnTriggerEnter(Sandbox.Collider other)
	{
		if (other.GameObject.Parent.Tags.Has("player") || other.GameObject.Tags.Has("boat"))
		{
			Game.ActiveScene.Load(SceneFile);
		}
	}

	void ITriggerListener.OnTriggerExit(Sandbox.Collider other)
	{

	}
}
nolankicks.kickscomponents / Code/RandomMaterialGroup.cs
Game library
using Sandbox;
using System;
[Icon("shuffle")]
public sealed class RandomMaterialGroup : Component
{
	public ModelRenderer Renderer { get; set; }
	protected override void OnStart()
	{
		Components.TryGet<ModelRenderer>(out var modelRenderer, FindMode.InSelf);
		if (modelRenderer is not null)
		{
			Renderer = modelRenderer;
		}
		if (Renderer is not null)
		{
			SetRandomMaterial(Renderer);
		}
	}
	
	public void SetRandomMaterial(ModelRenderer renderer)
	{
		if (renderer is null) return;
		var materialsCount = renderer.Model.MaterialGroupCount;
		if (materialsCount == 0) return;
		var randomMaterialIndex = Random.Shared.Int(0, materialsCount - 1);
		var materialGroup = renderer.Model.GetMaterialGroupName(randomMaterialIndex);
		renderer.MaterialGroup = materialGroup;
	}
}
nolankicks.kickscomponents / UnitTests/UnitTest.cs
UnitTest library
global using Microsoft.VisualStudio.TestTools.UnitTesting;

[TestClass]
public class TestInit
{
	[AssemblyInitialize]
	public static void ClassInitialize( TestContext context )
	{
		Sandbox.Application.InitUnitTest();
	}
}
nolankicks.kickscomponents / Code/Postprocess.cs
Game library
using System;
using Sandbox;
using Sandbox.Utility;
[Icon("waves"), Category("Post Processing")]
public sealed class Postprocess : PostProcess, Component.ExecuteInEditor
{
	[Property] public Shader PostprocessShader { get; set; }
	IDisposable renderHook;

	protected override void OnEnabled()
	{
		renderHook = Camera.AddHookBeforeOverlay( "My Post Processing", 1000, RenderEffect);
	}
	protected override void OnDisabled()
	{
		renderHook?.Dispose();
		renderHook = null;
	}
	RenderAttributes attributes = new RenderAttributes();
	public void RenderEffect(SceneCamera camera)
	{
		if (!camera.EnablePostProcessing) return;
		Graphics.GrabFrameTexture("ColorBuffer", attributes);
		Graphics.Blit(Material.FromShader(PostprocessShader), attributes);
	}
}
nolankicks.kickscomponents / Code/RandomItemDrop.cs
Game library
using System.Collections.Generic;
using Sandbox;
[Icon("shuffle"), Description("Contains a function that drops a random item from a list of GameObjects, call DropRandomItem() to drop a random item")]
public sealed class RandomItemDrop : Sandbox.Component
{
	[Property] public List<GameObject> RandomItems { get; set; } = new();

	public void DropRandomItem()
	{
		if (RandomItems.Count == 0) return;
		var randomItem = Game.Random.FromList(RandomItems);
		if (randomItem is not null)
		{
			var item = randomItem.Clone();
			item.Transform.Position = Transform.Position + Vector3.Up * 20;
			item.Transform.Rotation = Transform.Rotation;
			item.NetworkSpawn();
		}
	}
}
nolankicks.kickscomponents / Code/RandomModel.cs
Game library
using Sandbox;
using System;
using System.Collections.Generic;
[Icon("shuffle")]
public sealed class RandomModel : Component
{
	[Property] public List<Model> RandomModels { get; set; }
	protected override void OnStart()
	{
		if (RandomModels.Count == 0) return;
		Components.TryGet<ModelRenderer>(out var modelRenderer, FindMode.InSelf);
		Components.TryGet<ModelCollider>(out var modelCollider, FindMode.InSelf);
		var selectedModel = Game.Random.FromList(RandomModels);
		if (selectedModel is null) return;
		if (modelRenderer is not null)
		{
			modelRenderer.Model = selectedModel;
		}
		if (modelCollider is not null)
		{
			modelCollider.Model = selectedModel;
		}
	}
}
nolankicks.kickscomponents / UnitTests/LibraryTest.cs
UnitTest library
using Sandbox;

[TestClass]
public partial class LibraryTests
{
	[TestMethod]
	public void SceneTest()
	{
		var scene = new Scene();
		using ( scene.Push() )
		{
			var go = new GameObject();

			Assert.AreEqual( 1, scene.Directory.GameObjectCount );
		}
	}

}
nolankicks.kickscomponents / Code/NavMeshComponent.cs
Game library
using System.ComponentModel;
using Sandbox;

public sealed class NavMeshComponent : Sandbox.Component
{
	[Property] public NavMeshAgent Agent { get; set; }
	[Property] public GameObject Target { get; set; }

	protected override void OnFixedUpdate()
	{
		MoveToTarget();
	}

	void MoveToTarget()
	{
		if (Agent is null || Target is null) return;
		Agent.MoveTo(Target.Transform.Position);
	}
}
Debug: View Raw JSON Response
{
    "TotalCount": 8,
    "Files": [
        {
            "Ident": "nolankicks.kickscomponents",
            "Path": "Code/SceneTrigger.cs",
            "FileName": "SceneTrigger.cs",
            "PackageType": "library",
            "CodeKind": "Game",
            "AssetVersionId": 56965,
            "Code": "using Sandbox;\r\n\r\npublic sealed class SceneTrigger : Component, Component.ITriggerListener\r\n{\r\n\t[Property] public SceneFile SceneFile { get; set; }\r\n\tprotected override void OnUpdate()\r\n\t{\r\n\r\n\t}\r\n\r\n\tvoid ITriggerListener.OnTriggerEnter(Sandbox.Collider other)\r\n\t{\r\n\t\tif (other.GameObject.Parent.Tags.Has(\"player\") || other.GameObject.Tags.Has(\"boat\"))\r\n\t\t{\r\n\t\t\tGame.ActiveScene.Load(SceneFile);\r\n\t\t}\r\n\t}\r\n\r\n\tvoid ITriggerListener.OnTriggerExit(Sandbox.Collider other)\r\n\t{\r\n\r\n\t}\r\n}\r\n"
        },
        {
            "Ident": "nolankicks.kickscomponents",
            "Path": "Code/RandomMaterialGroup.cs",
            "FileName": "RandomMaterialGroup.cs",
            "PackageType": "library",
            "CodeKind": "Game",
            "AssetVersionId": 56965,
            "Code": "using Sandbox;\r\nusing System;\r\n[Icon(\"shuffle\")]\r\npublic sealed class RandomMaterialGroup : Component\r\n{\r\n\tpublic ModelRenderer Renderer { get; set; }\r\n\tprotected override void OnStart()\r\n\t{\r\n\t\tComponents.TryGet<ModelRenderer>(out var modelRenderer, FindMode.InSelf);\r\n\t\tif (modelRenderer is not null)\r\n\t\t{\r\n\t\t\tRenderer = modelRenderer;\r\n\t\t}\r\n\t\tif (Renderer is not null)\r\n\t\t{\r\n\t\t\tSetRandomMaterial(Renderer);\r\n\t\t}\r\n\t}\r\n\t\r\n\tpublic void SetRandomMaterial(ModelRenderer renderer)\r\n\t{\r\n\t\tif (renderer is null) return;\r\n\t\tvar materialsCount = renderer.Model.MaterialGroupCount;\r\n\t\tif (materialsCount == 0) return;\r\n\t\tvar randomMaterialIndex = Random.Shared.Int(0, materialsCount - 1);\r\n\t\tvar materialGroup = renderer.Model.GetMaterialGroupName(randomMaterialIndex);\r\n\t\trenderer.MaterialGroup = materialGroup;\r\n\t}\r\n}\r\n"
        },
        {
            "Ident": "nolankicks.kickscomponents",
            "Path": "UnitTests/UnitTest.cs",
            "FileName": "UnitTest.cs",
            "PackageType": "library",
            "CodeKind": "UnitTest",
            "AssetVersionId": 56965,
            "Code": "global using Microsoft.VisualStudio.TestTools.UnitTesting;\r\n\r\n[TestClass]\r\npublic class TestInit\r\n{\r\n\t[AssemblyInitialize]\r\n\tpublic static void ClassInitialize( TestContext context )\r\n\t{\r\n\t\tSandbox.Application.InitUnitTest();\r\n\t}\r\n}\r\n"
        },
        {
            "Ident": "nolankicks.kickscomponents",
            "Path": "Code/Postprocess.cs",
            "FileName": "Postprocess.cs",
            "PackageType": "library",
            "CodeKind": "Game",
            "AssetVersionId": 56965,
            "Code": "using System;\r\nusing Sandbox;\r\nusing Sandbox.Utility;\r\n[Icon(\"waves\"), Category(\"Post Processing\")]\r\npublic sealed class Postprocess : PostProcess, Component.ExecuteInEditor\r\n{\r\n\t[Property] public Shader PostprocessShader { get; set; }\r\n\tIDisposable renderHook;\r\n\r\n\tprotected override void OnEnabled()\r\n\t{\r\n\t\trenderHook = Camera.AddHookBeforeOverlay( \"My Post Processing\", 1000, RenderEffect);\r\n\t}\r\n\tprotected override void OnDisabled()\r\n\t{\r\n\t\trenderHook?.Dispose();\r\n\t\trenderHook = null;\r\n\t}\r\n\tRenderAttributes attributes = new RenderAttributes();\r\n\tpublic void RenderEffect(SceneCamera camera)\r\n\t{\r\n\t\tif (!camera.EnablePostProcessing) return;\r\n\t\tGraphics.GrabFrameTexture(\"ColorBuffer\", attributes);\r\n\t\tGraphics.Blit(Material.FromShader(PostprocessShader), attributes);\r\n\t}\r\n}\r\n"
        },
        {
            "Ident": "nolankicks.kickscomponents",
            "Path": "Code/RandomItemDrop.cs",
            "FileName": "RandomItemDrop.cs",
            "PackageType": "library",
            "CodeKind": "Game",
            "AssetVersionId": 56965,
            "Code": "using System.Collections.Generic;\r\nusing Sandbox;\r\n[Icon(\"shuffle\"), Description(\"Contains a function that drops a random item from a list of GameObjects, call DropRandomItem() to drop a random item\")]\r\npublic sealed class RandomItemDrop : Sandbox.Component\r\n{\r\n\t[Property] public List<GameObject> RandomItems { get; set; } = new();\r\n\r\n\tpublic void DropRandomItem()\r\n\t{\r\n\t\tif (RandomItems.Count == 0) return;\r\n\t\tvar randomItem = Game.Random.FromList(RandomItems);\r\n\t\tif (randomItem is not null)\r\n\t\t{\r\n\t\t\tvar item = randomItem.Clone();\r\n\t\t\titem.Transform.Position = Transform.Position + Vector3.Up * 20;\r\n\t\t\titem.Transform.Rotation = Transform.Rotation;\r\n\t\t\titem.NetworkSpawn();\r\n\t\t}\r\n\t}\r\n}\r\n"
        },
        {
            "Ident": "nolankicks.kickscomponents",
            "Path": "Code/RandomModel.cs",
            "FileName": "RandomModel.cs",
            "PackageType": "library",
            "CodeKind": "Game",
            "AssetVersionId": 56965,
            "Code": "using Sandbox;\r\nusing System;\r\nusing System.Collections.Generic;\r\n[Icon(\"shuffle\")]\r\npublic sealed class RandomModel : Component\r\n{\r\n\t[Property] public List<Model> RandomModels { get; set; }\r\n\tprotected override void OnStart()\r\n\t{\r\n\t\tif (RandomModels.Count == 0) return;\r\n\t\tComponents.TryGet<ModelRenderer>(out var modelRenderer, FindMode.InSelf);\r\n\t\tComponents.TryGet<ModelCollider>(out var modelCollider, FindMode.InSelf);\r\n\t\tvar selectedModel = Game.Random.FromList(RandomModels);\r\n\t\tif (selectedModel is null) return;\r\n\t\tif (modelRenderer is not null)\r\n\t\t{\r\n\t\t\tmodelRenderer.Model = selectedModel;\r\n\t\t}\r\n\t\tif (modelCollider is not null)\r\n\t\t{\r\n\t\t\tmodelCollider.Model = selectedModel;\r\n\t\t}\r\n\t}\r\n}\r\n"
        },
        {
            "Ident": "nolankicks.kickscomponents",
            "Path": "UnitTests/LibraryTest.cs",
            "FileName": "LibraryTest.cs",
            "PackageType": "library",
            "CodeKind": "UnitTest",
            "AssetVersionId": 56965,
            "Code": "using Sandbox;\r\n\r\n[TestClass]\r\npublic partial class LibraryTests\r\n{\r\n\t[TestMethod]\r\n\tpublic void SceneTest()\r\n\t{\r\n\t\tvar scene = new Scene();\r\n\t\tusing ( scene.Push() )\r\n\t\t{\r\n\t\t\tvar go = new GameObject();\r\n\r\n\t\t\tAssert.AreEqual( 1, scene.Directory.GameObjectCount );\r\n\t\t}\r\n\t}\r\n\r\n}\r\n"
        },
        {
            "Ident": "nolankicks.kickscomponents",
            "Path": "Code/NavMeshComponent.cs",
            "FileName": "NavMeshComponent.cs",
            "PackageType": "library",
            "CodeKind": "Game",
            "AssetVersionId": 56965,
            "Code": "using System.ComponentModel;\r\nusing Sandbox;\r\n\r\npublic sealed class NavMeshComponent : Sandbox.Component\r\n{\r\n\t[Property] public NavMeshAgent Agent { get; set; }\r\n\t[Property] public GameObject Target { get; set; }\r\n\r\n\tprotected override void OnFixedUpdate()\r\n\t{\r\n\t\tMoveToTarget();\r\n\t}\r\n\r\n\tvoid MoveToTarget()\r\n\t{\r\n\t\tif (Agent is null || Target is null) return;\r\n\t\tAgent.MoveTo(Target.Transform.Position);\r\n\t}\r\n}\r\n"
        }
    ]
}