public void SendTriggerTo(int contID) { network_data.trigger m1 = new network_data.trigger(); m1.set(-1, mychannel.GetChannel()); m1.netID = netID; m1.count = counter; m1.on = on; m1.accept = link.Accept(on, contID); byte[] data1 = network_utils.nData.Instance.SerializeMsg <network_data.trigger>(m1); mychannel.GetNetwork().Send(contID, data1); }
public void SendRequest(int contID) { if (mychannel.GetNetwork().IsClient()) { network_data.trigger m1 = new network_data.trigger(); m1.set(contID, mychannel.GetChannel()); m1.netID = netID; m1.count = counter; m1.on = on; byte[] data1 = network_utils.nData.Instance.SerializeMsg <network_data.trigger>(m1); mychannel.GetNetwork().Send(contID, data1); } }
void SendTrigger(int contID, bool accept) { network_data.trigger m1 = new network_data.trigger(); m1.set(contID, mychannel.GetChannel()); m1.netID = netID; m1.count = counter; m1.on = on; m1.accept = accept; byte[] data1 = network_utils.nData.Instance.SerializeMsg <network_data.trigger>(m1); mychannel.SendToChannel(ref data1); if (!mychannel.GetNetwork().IsClient() && m1.accept) { DoActivate(contID); } }
public override void ProcessMessage(ref byte[] message) { network_utils.HEADER header = network_utils.nData.Instance.DeserializeMsg <network_utils.HEADER>(message); if (header.signum != network_utils.SIGNUM.BIN) { return; } switch (header.command) { case (int)network_data.COMMANDS.center_ship: { network_data.enter_ship com = network_utils.nData.Instance.DeserializeMsg <network_data.enter_ship>(message); if (Channel.GetNetwork().IsClient() == false) { GameObject g = GetNextSpawnPoint(); SpawnPlayer(com.header.containerID, Channel.GetNetwork().IsClient(), false, g.transform.localPosition, g.transform.localRotation, 0); } } break; case (int)network_data.COMMANDS.ccreate_player: { network_data.create_player com = network_utils.nData.Instance.DeserializeMsg <network_data.create_player>(message); if (Channel.GetNetwork().IsClient() == true) { SpawnPlayer(com.header.containerID, Channel.GetNetwork().IsClient(), Channel.GetNetwork().GetComponent <client>().ingameContID == com.header.containerID, com.position, com.rotation, 0); } } break; case (int)network_data.COMMANDS.cmove_player: { network_data.move_player com = network_utils.nData.Instance.DeserializeMsg <network_data.move_player>(message); if (Channel.GetNetwork().IsClient()) { if (Channel.GetNetwork().GetComponent <client>().ingameContID != com.header.containerID) { GameObject g = Channel.GetEntity(com.header.containerID); if (g != null) { g.GetComponent <puppet>().SetTransform(com.position, com.rotation, puppet.trans_flag_position | puppet.trans_flag_rotation, com.time); } } } else { GameObject g = Channel.GetEntity(com.header.containerID); if (g != null) { g.GetComponent <puppet>().SetTransform(com.position, com.rotation, puppet.trans_flag_position | puppet.trans_flag_rotation, com.time); } } } break; case (int)network_data.COMMANDS.cdisconnect: { network_data.disconnect com = network_utils.nData.Instance.DeserializeMsg <network_data.disconnect>(message); UnregisterEntity(com.header.containerID); } break; case (int)network_data.COMMANDS.ctrigger: { network_data.trigger com = network_utils.nData.Instance.DeserializeMsg <network_data.trigger>(message); if (Triggers.ContainsKey(com.netID)) { trigger t = Triggers[com.netID]; if (Channel.GetNetwork().IsClient()) { if (com.accept) { t.SetTrigger(com.count, com.on); t.GetLink().Accept(com.on, com.header.containerID); t.DoActivate(com.header.containerID); } } else { t.TriggerRequest(com.header.containerID); t.DoActivate(com.header.containerID); } } } break; } }