Ejemplo n.º 1
0
    /// <summary>
    /// 根据ID来生产单位,原来的接口暂时还没有删
    /// 实现方式跟之前一样,因为我在spawner上面并没有找到ID属性,所以暂时没有修改接口内部的实现方式
    /// </summary>
    /// <param name="id"></param>
    /// <param name="targetPos"></param>
    /// <returns></returns>
    public bool buildUnitByID(int id, Vector3 targetPos)
    {
        string  name          = IDs.getNameByID(id);
        Spawner targetSpawner = null;

        if (SpawnerUnitDict.ContainsKey(name) == true)
        {
            targetSpawner = SpawnerUnitDict[name];
        }
        else
        {
            Debug.Log("没有查找到对应的spawner");
            return(false);
        }
        targetSpawner.setTarget(targetPos);
        if (totalMine >= targetSpawner.getCost())
        {
            if (targetSpawner.build())
            {
                totalMine -= targetSpawner.getCost();
            }
            else
            {
                Debug.Log("无法建造");
                return(false);
            }
        }
        return(false);
    }