public void CmdSpawn(string poolName) { PoolManagerBase pool = GameObject.Find(poolName).GetComponent <PoolManagerBase>(); Debug.Log(poolName + " " + pool); GameObject o = pool.Pop(); int side = _unitID.GetPlayerIndex(); o.GetComponent <Unit_ID>().CmdSetPlayerIndex(side); o.transform.position = transform.position; NetworkServer.Spawn(o); }
private void CmdSpawn() { if (!ISActive) { return; } GameObject minion = PoolManagerBase.FindPool(spawnedCharacter).Pop(); Transform spawnPoint; switch (spawnedCharacter) { case MinionType.Ghost: spawnPoint = _spawnPointGhost; break; case MinionType.Warrior: spawnPoint = _spawnPointWarrior; break; case MinionType.Wizard: spawnPoint = _spawnPointWizard; break; default: spawnPoint = _spawnPointWizard; break; } minion.GetComponent <Unit_SyncPosition>().CmdSetPosRot(spawnPoint.position, spawnPoint.rotation); minion.GetComponent <Unit_ID>().CmdSetPlayerIndex(_unitId.GetPlayerIndex()); NetworkServer.Spawn(minion); Invoke("CmdSpawn", spawnerInformations.spawnSpeedCurve.Evaluate((Time.time - beginTime) / spawnerInformations.maxTime)); }