Unity client features: - WebSocket connection via NativeWebSocket - 2.5D agent visuals with programmatic placeholder sprites - Billboard system for sprites and UI elements - Floating UI panels (name, HP, energy bars) - Speech bubble system with pop-in animation - RTS-style camera controller (WASD + scroll zoom) - Editor tools for prefab creation and scene setup Scripts: - NetworkManager: WebSocket singleton - GameManager: Agent spawning and event handling - AgentVisual: 2.5D sprite and UI creation - Billboard: Camera-facing behavior - SpeechBubble: Animated dialogue display - CameraController: RTS camera with UI input detection - UIManager: HUD and command input 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
52 lines
1.3 KiB
C#
Executable File
52 lines
1.3 KiB
C#
Executable File
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
|
|
namespace TMPro.Examples
|
|
{
|
|
|
|
public class ShaderPropAnimator : MonoBehaviour
|
|
{
|
|
|
|
private Renderer m_Renderer;
|
|
private Material m_Material;
|
|
|
|
public AnimationCurve GlowCurve;
|
|
|
|
public float m_frame;
|
|
|
|
void Awake()
|
|
{
|
|
// Cache a reference to object's renderer
|
|
m_Renderer = GetComponent<Renderer>();
|
|
|
|
// Cache a reference to object's material and create an instance by doing so.
|
|
m_Material = m_Renderer.material;
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
StartCoroutine(AnimateProperties());
|
|
}
|
|
|
|
IEnumerator AnimateProperties()
|
|
{
|
|
//float lightAngle;
|
|
float glowPower;
|
|
m_frame = Random.Range(0f, 1f);
|
|
|
|
while (true)
|
|
{
|
|
//lightAngle = (m_Material.GetFloat(ShaderPropertyIDs.ID_LightAngle) + Time.deltaTime) % 6.2831853f;
|
|
//m_Material.SetFloat(ShaderPropertyIDs.ID_LightAngle, lightAngle);
|
|
|
|
glowPower = GlowCurve.Evaluate(m_frame);
|
|
m_Material.SetFloat(ShaderUtilities.ID_GlowPower, glowPower);
|
|
|
|
m_frame += Time.deltaTime * Random.Range(0.2f, 0.3f);
|
|
yield return new WaitForEndOfFrame();
|
|
}
|
|
}
|
|
}
|
|
}
|