Ejemplo n.º 1
0
 // Update is called once per frame
 void Update()
 {
     if (activeBuilidingType != null)
     {
         if (Input.GetMouseButtonDown(0) && !EventSystem.current.IsPointerOverGameObject() && canspawn)
         {
             if (ResourceManager.Instance.CanAfford(activeBuilidingType.BuildingResourceCostArray))
             {
                 ResourceManager.Instance.SpendResourse(activeBuilidingType.BuildingResourceCostArray);
                 Instantiate(activeBuilidingType.prefabs, UtilsClass.GetMousePostition(), Quaternion.identity);
                 isClickFree = false;
             }
         }
         canSpawnBuilding(activeBuilidingType, UtilsClass.GetMousePostition());
         if (Input.GetKeyDown(KeyCode.Mouse1))
         {
             activeBuilidingType = null;
             isClickFree         = true;
             OnActiveBuildingTypeChanged?.Invoke(this, new OnActiveBuildingTypeChangedEventArgs
             {
                 activeBuilidingType = activeBuilidingType
             });
         }
     }
     if (Input.GetKeyDown(KeyCode.Z))
     {
         Vector3 enemyspawnpostion = UtilsClass.GetMousePostition() + UtilsClass.GetrandomDir() * 3f;
         Enemy.Create(enemyspawnpostion);
     }
 }
Ejemplo n.º 2
0
 public void SetActivebuildintype(BuildingTypeso buildintype)
 {
     activeBuilidingType = buildintype;
     OnActiveBuildingTypeChanged?.Invoke(this, new OnActiveBuildingTypeChangedEventArgs
     {
         activeBuilidingType = activeBuilidingType
     });
 }
Ejemplo n.º 3
0
    private bool canSpawnBuilding(BuildingTypeso buildingTypeso, Vector3 pos)
    {
        BoxCollider2D boxCollider2D = buildingTypeso.prefabs.GetComponent <BoxCollider2D>();

        Collider2D[] collider2DArray = Physics2D.OverlapBoxAll(pos + (Vector3)boxCollider2D.offset, boxCollider2D.size, 0);
        if (collider2DArray.Length == 0)
        {
            canspawn = true;
        }
        else
        {
            canspawn = false;
        }

        return(canspawn);
    }
Ejemplo n.º 4
0
 private void Awake()
 {
     buildingTypeso = GetComponent <BuildingTypeHolder>().buildingType;
     healtAmountMax = buildingTypeso.maxHealthl;
     healthAmount   = healtAmountMax;
 }