// Use this for initialization void Start() { cont = GameObject.Find("Controller"); c = cont.GetComponent <Controller> (); sellSound = GameObject.FindGameObjectWithTag("SellSoundTag").GetComponent <SellSound>(); }
// Update is called once per frame void Update() { if (placing == trap) { info.text = "Tile Info:" + "Trap\nCost: " + traptile.GetTileCost() + "\nDamage: " + traptile.GetTileDamage() + "\nRogues take Half"; } else if (placing == magic) { info.text = "Tile Info:" + "Magic\nCost: " + magictile.GetTileCost() + "\nDamage: " + magictile.GetTileDamage() + "\nWizards take Half"; } else if (placing == enemy) { info.text = "Tile Info:" + "Enemy\nCost: " + enemytile.GetTileCost() + "\nDamage: " + enemytile.GetTileDamage() + "\nFighters take Half"; } if (GameManager.current == GameManager.GameState.placing) { mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); hit = Physics2D.Raycast(mousePos, Vector2.zero, Mathf.Infinity, paths); tile = Physics2D.Raycast(mousePos, Vector2.zero, Mathf.Infinity, placable); } if (hit) { if (glow == null) { if (deleting) { glow = Instantiate(deleteGlow, hit.collider.transform.position, Quaternion.identity); } else { glow = Instantiate(placeGlow, hit.collider.transform.position, Quaternion.identity); } } else if (glow.transform.position != hit.collider.gameObject.transform.position) { Destroy(glow); if (deleting) { glow = Instantiate(deleteGlow, hit.collider.transform.position, Quaternion.identity); } else { glow = Instantiate(placeGlow, hit.collider.transform.position, Quaternion.identity); } } if (!deleting) { if (Input.GetMouseButton(0) && !placed.Contains(hit.collider.transform.position) && placing != null) { numActions++; if (lastDeleted) { lastDeleted = false; } if (placing == trap) { man.usedMoney += traptile.GetTileCost(); if (TrapSound != null) { TrapSound.Play(); } } else if (placing == magic) { man.usedMoney += magictile.GetTileCost(); if (MagicSound != null) { MagicSound.Play(); } } else if (placing == enemy) { man.usedMoney += enemytile.GetTileCost(); if (EnemySound != null) { EnemySound.Play(); } } actions.Push(Instantiate(placing, hit.collider.transform.position, Quaternion.identity)); placed.Add(hit.collider.transform.position); for (int i = 0; i < undoneCount; i++) { Destroy(undone.Pop()); } undoneCount = 0; actions.TrimExcess(); } } else { if (Input.GetMouseButton(0) && tile) { numActions--; undoneCount++; GameObject holder = tile.collider.gameObject; placed.Remove(hit.collider.transform.position); undone.Push(holder); holder.transform.GetChild(0).GetComponent <SpriteRenderer>().enabled = false; holder.transform.GetChild(1).GetComponent <SpriteRenderer>().enabled = false; holder.GetComponent <BoxCollider2D>().enabled = false; lastDeleted = true; actions.TrimExcess(); SellSound.Play(); if (holder.name == "Trap(Clone)") { man.usedMoney -= traptile.GetTileCost(); } else if (holder.name == "Magic(Clone)") { man.usedMoney -= magictile.GetTileCost(); } else if (holder.name == "Enemy(Clone)") { man.usedMoney -= enemytile.GetTileCost(); } } } } else { if (glow != null) { Destroy(glow); } } }