コード例 #1
0
    public void SpawnUnit(NetworkManager.UnitSpawnData spawnData)
    {
        if (m_gameBoard == null)
        {
            Debug.LogWarning("No Gameboard. UnitId: " + spawnData.unitId);
            return;
        }
        Debug.Log("Spawning");
        UnitType unitType = null;

        if (m_unitTypes.TryGetValue(spawnData.unitType, out unitType))
        {
            var spawnedUnit = Instantiate(unitType.unitPrefab, m_gameBoard) as GameObject;
            spawnedUnit.transform.localPosition = spawnData.position;
            spawnedUnit.transform.localRotation = spawnData.rotation;
            spawnedUnit.tag = "Unit";
            var unitData = spawnedUnit.GetComponent <UnitData>();
            unitData.type     = unitType;
            unitData.playerNo = spawnData.playerNo;
            unitData.unitId   = spawnData.unitId;

            // Add to list of created units
            (spawnData.playerNo == 1 ? m_p1_units : m_p2_units).Add(unitData);
        }
        else
        {
            Debug.LogWarning("Unit Type has no prefab attached");
        }
    }
コード例 #2
0
 private void OnUnitSpawn(NetworkManager.UnitSpawnData spawnData)
 {
     Debug.Log("Spawning unit from controller");
     CheckInitialized();
     Debug.Log("passed init");
     unitSpawner.SpawnUnit(spawnData);
 }