Netcode Bootstrap

This commit is contained in:
Luis Gonzalez
2026-05-31 14:27:52 -07:00
parent 99d8d2d2a9
commit 7fa77ce821
1813 changed files with 2921554 additions and 84 deletions
@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Unity.Entities;
using Unity.Rendering;
using UnityEngine;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
namespace Rukhanka.Hybrid
{
[WorldSystemFilter(WorldSystemFilterFlags.BakingSystem)]
[UpdateInGroup(typeof(PreBakingSystemGroup))]
public partial class DisableEntitiesGraphicsSkinnedMeshBakerSystem: SystemBase
{
protected override void OnUpdate()
{
var varName = "_IndexToBakerInstances";
var bakerDataUtilityType = typeof(BakerDataUtility);
var fieldInfo = bakerDataUtilityType.GetField(varName, BindingFlags.NonPublic | BindingFlags.Static);
if (fieldInfo == null)
{
throw new NullReferenceException($"Cannot find '{varName}' in {bakerDataUtilityType.Name}. Disabling Entities.Graphics skinned mesh baking is failed.");
}
var typeIndexToBakerInstancesMap = fieldInfo.GetValue(null) as Dictionary<TypeIndex, BakerDataUtility.BakerData[]>;
if (typeIndexToBakerInstancesMap == null)
{
throw new NullReferenceException($"Cannot cast '{varName}' to proper dictionary type. Disabling Entities.Graphics skinned mesh baking is failed.");
}
var entitiesGraphicsSystemType = typeof(EntitiesGraphicsSystem);
var skinnedMeshRendererBakerType = entitiesGraphicsSystemType.Assembly.GetType("Unity.Rendering.SkinnedMeshRendererBaker");
var skinnedMeshRendererIndex = TypeManager.GetTypeIndex<SkinnedMeshRenderer>();
var smrBakers = typeIndexToBakerInstancesMap[skinnedMeshRendererIndex].ToList();
for (var i = 0; i < smrBakers.Count; i++)
{
var smb = smrBakers[i];
if (smb.Baker.GetType() == skinnedMeshRendererBakerType)
{
smrBakers.RemoveAt(i);
break;
}
}
typeIndexToBakerInstancesMap[skinnedMeshRendererIndex] = smrBakers.ToArray();
fieldInfo.SetValue(null, typeIndexToBakerInstancesMap);
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: eb22abbe32349cb4fb8cd0d223f40cdf
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 298480
packageName: Rukhanka Animation System 2
packageVersion: 2.9.0
assetPath: Packages/com.rukhanka.animation/Rukhanka.Hybrid/Deformation/DisableEntitiesGraphicsSkinnedMeshBakerSystem.cs
uploadId: 897522