void placeTower() { if (m_isPlacingTower && m_currentBuilding != null) { Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); m_currentBuilding.transform.position = mousePosition; if (SpriteManage.canPlaceItem(Camera.main.WorldToScreenPoint(mousePosition), m_currentBuilding)) { m_currentBuilding.GetComponent <SpriteRenderer>().color = new Color(1.0f, 1.0f, 1.0f, 1.0f); // change is collider istrigger to false m_currentBuilding.GetComponent <BoxCollider2D>().isTrigger = false; m_currentBuilding.GetComponent <CircleCollider2D>().isTrigger = true; m_currentBuilding.GetComponent <Tower>().m_IsPlaced = true; m_currentBuilding = null; m_isPlacingTower = false; InventoryItem tower = m_Character.m_Weapons.findItem(ItemType.TOWER); tower.m_Quantity--; m_Character.m_Weapons.setQuantity(tower); if (tower.m_Quantity <= 0) { m_Character.changeWeapon(0); } } else { Debug.Log("cant place"); } } }
void WalkToCastle() { if (!GetComponent <BoxCollider2D>().isTrigger) { return; } if (SpriteManage.canPlaceItem(Camera.main.WorldToScreenPoint(transform.position), gameObject)) { GetComponent <BoxCollider2D>().isTrigger = false; } m_EnemyTarget = m_Castle.gameObject; }
void moveTowerWithMouse() { if (m_isPlacingTower && m_currentBuilding != null) { m_currentBuilding.GetComponent <BoxCollider2D>().isTrigger = true; m_currentBuilding.GetComponent <CircleCollider2D>().isTrigger = true; Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); m_currentBuilding.transform.position = mousePosition; if (SpriteManage.canPlaceItem(Camera.main.WorldToScreenPoint(mousePosition), m_currentBuilding)) { m_currentBuilding.GetComponent <SpriteRenderer>().color = new Color(1, 1, 1, .5f); Debug.Log("can place"); } else { m_currentBuilding.GetComponent <SpriteRenderer>().color = new Color(1, 0, 0, .5f); Debug.Log("cannt place"); } } }
void FixedUpdate() { if (mainGame.m_IsPause) { return; } m_AttackDelay -= Time.fixedDeltaTime; if (m_EnemyTarget == null) { m_EnemyTarget = GameObject.Find("castle"); Debug.Assert(m_EnemyTarget); } if (SpriteManage.canPlaceItem(Camera.main.WorldToScreenPoint(transform.position), gameObject)) //if (m_timeToTurnOnBoundingBox <= 0) { GetComponent <BoxCollider2D>().isTrigger = false; } Attack(); ChangeFacingDirection(); }