using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class Health : NetworkBehaviour
{
public const int maxHealth = 100;
//需要同步的变化
[SyncVar(hook ="OnChangeHealth")]
public int currentHealth = maxHealth;
//血条
public RectTransform healthbar;
public void TakeDamage(int amount)
{
//为了保持变量一致,作为服务端时才处理
if (!isServer)
return;
currentHealth -= amount;
if(currentHealth <=0)
{
currentHealth = 0;
Debug.Log("Dead");
}
}
//变量改变是客户端处理
void OnChangeHealth(int health)
{
//修改血条
healthbar.sizeDelta = new Vector2(health * 2, healthbar.sizeDelta.y);
}
}