Skip to content

Instantly share code, notes, and snippets.

View Erlite's full-sized avatar

Erlite Erlite

View GitHub Profile
@Erlite
Erlite / NetworkedList.cs
Last active May 14, 2021 15:22
s&box functional networked list
using System;
using System.Collections;
using System.Collections.Generic;
using Sandbox;
namespace Utility
{
public class NetworkedList<T> : NetworkClass, IList<T>, IReadOnlyList<T>
{
private List<T> _internalList;
@Erlite
Erlite / Code.cpp
Created May 21, 2020 21:39
Simple way to grab blueprint components from a CDO
// Room.cpp
void ARoom::SetupDefaultObject(UBlueprintGeneratedClass* BlueprintClass)
{
checkf(HasAnyFlags(RF_ClassDefaultObject), TEXT("ARoom::SetupDefaultObject() can only be called on ARoom default objects."));
checkf(BlueprintClass, TEXT("Cannot setup default room object with null blueprint class."));
if (bIsDefaultSetup) return;
TArray<const UBlueprintGeneratedClass*> BlueprintClasses;
UBlueprintGeneratedClass::GetGeneratedClassesHierarchy(BlueprintClass, BlueprintClasses);
for (const UBlueprintGeneratedClass* Class : BlueprintClasses)
@Erlite
Erlite / NetworkedPlayer.cs
Created December 17, 2017 18:35
Another Server-authoritative movement example with built-in input.
using BeardedManStudios.Forge.Networking;
using BeardedManStudios.Forge.Networking.Generated;
using Scavengers.Implementations.Entities;
using Scavengers.Implementations.Models;
using Scavengers.Utils;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
[RequireComponent(typeof(CharacterController))]