То есть игроков обычных я скажем регистрирую и понимаю что у них будет свой unetid, вот так.
Синтаксис:
Используется csharp
#region Player tracking
private const string PLAYER_ID_PREFIX = "Player ";
private static Dictionary<string, Player> players = new Dictionary<string, Player>();
public static void RegisterPlayer (string _netID, Player _player)
{
string _playerID = PLAYER_ID_PREFIX + _netID;
players.Add(_playerID, _player);
_player.transform.name = _playerID;
}
public static void UnRegisterPlayer (string _playerID)
{
players.Remove(_playerID);
}
public static Player GetPlayer (string _playerID)
{
return players[_playerID];
}
private const string PLAYER_ID_PREFIX = "Player ";
private static Dictionary<string, Player> players = new Dictionary<string, Player>();
public static void RegisterPlayer (string _netID, Player _player)
{
string _playerID = PLAYER_ID_PREFIX + _netID;
players.Add(_playerID, _player);
_player.transform.name = _playerID;
}
public static void UnRegisterPlayer (string _playerID)
{
players.Remove(_playerID);
}
public static Player GetPlayer (string _playerID)
{
return players[_playerID];
}
Пытаюсь как бы стандартно зарегистрировать enemy, но он получает observers такой же как скажем у Player1.
Синтаксис:
Используется csharp
var player = (GameObject)GameObject.Instantiate(monst, SpawnPos.transform.position, Quaternion.identity);
NetworkServer.Spawn(player);
player.transform.name = "Monster";
NetworkServer.Spawn(player);
player.transform.name = "Monster";
Просто после у меня возникает проблема, что скажем я бью enemy и пытаюсь передать ему урон. То возникает ошибка в строчке с упоминанием GameManager.GetPlayer(_playerID);
Синтаксис:
Используется csharp
[Command]
void CmdPlayerShot (string _playerID, int _damage, string _sourceID)
{
Player _player = GameManager.GetPlayer(_playerID);
_player.RpcTakeDamage(_damage, _sourceID);
}
void CmdPlayerShot (string _playerID, int _damage, string _sourceID)
{
Player _player = GameManager.GetPlayer(_playerID);
_player.RpcTakeDamage(_damage, _sourceID);
}
То есть я так понял, что он не нашел его.