public IEnumerator DestroysComponentOnEntity_OnOtherClient() { yield return(Connect()); _manager.SetLocalPlayer(new TestPlayer()); var entity = new NetworkEntity(1, _manager.Connection.LocalClient.ClientId); _manager.InstantiateEntity(entity); yield return(UpdateUntilSubscription(_manager2.OnEntityCreated)); var comp = new TestNetworkComponent { Id = 2 }; entity.AddNetworkComponent(comp); entity.RemoveNetworkComponent(comp); yield return(UpdateUntilSubscription(_manager2.Entities[0].OnComponentRemove)); Assert.AreEqual(0, _manager2.Entities[0].Components.Count); yield return(Disconnect()); }
public IEnumerator UpdatesComponentOnEntity_OnOtherClient() { yield return(Connect()); _manager.SetLocalPlayer(new TestPlayer()); var entity = new NetworkEntity(1, _manager.Connection.LocalClient.ClientId); _manager.InstantiateEntity(entity); yield return(UpdateUntilSubscription(_manager2.OnEntityCreated)); var comp = new TestNetworkComponent { Id = 2, Data = 0 }; entity.AddNetworkComponent(comp); yield return(UpdateUntilSubscription(_manager2.Entities[0].OnComponentAdd)); comp.Data = 1; yield return(UpdateUntilSubscription(_manager2.OnEntityUpdated)); Assert.AreEqual(1, ((TestNetworkComponent)_manager2.Entities[0].Components[0]).Data); yield return(Disconnect()); }
public void ThrowsException_OnInitialize_IfRpcMethodIsOverloaded() { var entity = new NetworkEntity(0, _manager.Connection.LocalClient.ClientId); _manager.InstantiateEntity(entity); var comp = new TestComponentWithOverload { Id = 1 }; Assert.Throws <NotImplementedException>(() => entity.AddNetworkComponent(comp)); }
public void CallsRpc_OnOtherClient() { var entity1 = new NetworkEntity(0, _manager.Connection.LocalClient.ClientId); _manager.InstantiateEntity(entity1); var comp1 = new TestComponent { Id = 1 }; entity1.AddNetworkComponent(comp1); UpdateBoth(); comp1.SendRpc(); UpdateBoth(); Assert.AreEqual(new TestComponent { A = 1, B = 2, C = "foo" }, _manager2.Entities[0].Components[0]); }
public void AddNetworkComponent(INetworkComponent component) { _entity.AddNetworkComponent(component); }