using System.Collections; using System.Collections.Generic; using UnityEngine; public partial class GameModule { private readonly UniQuake uq; public GameModule(UniQuake uniQuake) { uq = uniQuake; BuildCallbacks(); } private void SetEntityModel(int entityNum, string modelName) { if (string.IsNullOrEmpty(modelName)) { uq.GameState.ClearEntityModel(entityNum); return; } if (modelName.StartsWith("*")) { if (!int.TryParse(modelName.Substring(1), out int subModelNum)) { Debug.LogWarning($"Invalid world submodel index: {modelName}"); return; } uq.GameState.SetEntityWorldModel(entityNum, subModelNum); return; } if (modelName.EndsWith(".bsp")) { // TODO: non-world brush model uq.GameState.ClearEntityModel(entityNum); return; } if (modelName.EndsWith(".spr")) { // TODO: sprite uq.GameState.ClearEntityModel(entityNum); return; } uq.GameState.SetEntityAliasModel(entityNum, modelName); } private void SetEntityTransform(int entityNum, QVec3 origin, QVec3 angles) { uq.GameState.SetEntityTransform(entityNum, origin.ToUnityPosition(), angles.ToUnityRotation()); } private void RemoveEntity(int entityNum) { uq.GameState.RemoveEntity(entityNum); } }