public bool Serialize(SpawnRobotData packet) { bool ret = true; ret &= Serialize(packet.trash); return(ret); }
Entity SpawnRobot(ref SpawnRobotData spawnRobotData, EntityCommandBuffer commandBuffer) { Entity instance = commandBuffer.Instantiate(spawnRobotData.robotPrefab); spawnRobotData.spawnTimer = spawnRobotData.spawnCooldown; return(instance); }
// 로봇 생성 신호를 서버로부터 수신하는 함수 public void OnReceiveRobotSpawnPacket(PacketId id, byte[] data) { // 서버는, 주기적으로 Packet ID만 붙혀서 송신한다. // 로봇 스폰 코드 SpawnRobotPacket packet = new SpawnRobotPacket(data); SpawnRobotData spawnData = packet.GetPacket(); Debug.Log(spawnData.trash + " 가 엔터 눌렀음."); StartCoroutine(SpawnRobots()); }
public bool Deserialize(ref SpawnRobotData element) { // 데이터가 정의되어있지 않다면 if (GetDataSize() == 0) { return(false); } bool ret = true; ret &= Deserialize(ref element.trash); return(ret); }
// 로봇 스폰 생성 신호 송신(테스트용) public void SendSpawnRobotData() { SpawnRobotData data = new SpawnRobotData(); data.trash = GameManager.instance.MyCampNum; SpawnRobotPacket packet = new SpawnRobotPacket(data); networkManager.SendReliable <SpawnRobotData>(packet); Debug.Log("미니언 만들라고 신호 보냈음."); }
float3 CalculateSpawnPos(SpawnRobotData spawnRobotData, Vector3 goliathPos) { Vector2 randomDir; float randomDistance; Vector2 randomPoint; Vector3 spawnPos; randomDir = UnityEngine.Random.insideUnitCircle.normalized; randomDistance = UnityEngine.Random.Range(spawnRobotData.minSpawnDistance, spawnRobotData.maxSpawnDistance); randomPoint = randomDir * randomDistance; spawnPos = goliathPos + new Vector3(randomPoint.x, 0, randomPoint.y); return(spawnPos); }