Пример #1
0
//
//	public void Build(Unit building, Transform parent, Player currentPlayer){
//		GameObject newObject = Instantiate(building, parent);
//		newObject.transform.parent = parent;
////		if(newObject.GetComponent<Cuartel>()) newObject.GetComponent<Cuartel>().owner = currentPlayer;
////		if (building.GetComponent<Unidad> ().UnitType.Equals (TypeOfUnit.Turret)) {
////
////		}
//		building.GetComponent<Unidad>().Owner = currentPlayer;
//	}

    public Unidad BuildUnit(GameObject newUnit, Hex placement, List <Unidad> ListToAdd)
    {
        if (resource != null)
        {
            resource = null;
        }


        // newUnit es un prefab. Hex es donde se ha clickado.
        if (Owner.oxygen >= costeOxigeno && Owner.enzymes >= costeEnzimas)
        {
            GameObject newObject = Instantiate(newUnit, placement.transform);

            Unidad unit = newObject.GetComponent <Unidad>();

            newObject.transform.position = placement.worldObject.transform.position;
            newObject.SetActive(true);

            if (unit.unitType.Equals(TypeOfUnit.WalkableUnit))
            {
                newObject.GetComponent <Unidad> ().pathfinding.tileX = placement.tileX;
                newObject.GetComponent <Unidad> ().pathfinding.tileY = placement.tileY;
            }
            else
            {
                iM.AddInfluencePoint(newObject);
            }

            unit.Owner = this.Owner;
            //unit.Owner.Squad.Add(unit);
            ListToAdd.Add(unit);

            Owner.Buy(unit);
            return(unit);
        }
        return(null);
    }