예제 #1
0
 public void KillMe(Shelt toKill)
 {
     SoundManager.Instance.PlayExplosion();
     DeadShelt++;
     toKill.DeActivate();
     CheckGameState();
 }
예제 #2
0
 private bool CheckCollision(Shelt shelt, GameObject water)
 {
     return(shelt.shelt.transform.position.x - .5 < water.transform.position.x + .1 &&
            shelt.shelt.transform.position.x + .5 > water.transform.position.x &&
            shelt.shelt.transform.position.y - .35 < water.transform.position.y + 1 &&
            .35 + shelt.shelt.transform.position.y > water.transform.position.y);
 }
예제 #3
0
    private void Deselect()
    {
        ShadowPosition   = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        ShadowPosition.z = 0;

        selectedOne.RushTo(ShadowPosition);
        Shadow.SetActive(false);
        selectedOne = null;
    }
예제 #4
0
    private void TryToSelect(Vector3 mousePos)
    {
        RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(mousePos), Vector2.zero);

        if (hit.collider != null)
        {
            if (hit.collider.gameObject.transform.CompareTag("Shelt"))
            {
                selectedOne = hit.collider.gameObject.GetComponent <SheltScript>().myShelt;
            }
            if (selectedOne != null)
            {
                Shadow.SetActive(true);
            }
        }
    }
예제 #5
0
    public void Start()
    {
        spawned     = 0;
        shelts      = new List <Shelt>();
        spawn       = GameObject.Find("Spawn");
        MotherShelt = new GameObject();
        MotherShelt.transform.name = "MotherShelt";
        spawnCall         = new Timer.toCall(SpawnWork);
        sheltSpwanerTimer = new Timer(GV.Instance.timeBetwenSheltSpawn, spawnCall, true);
        Shadow            = GameObject.Instantiate(Resources.Load("Prefabs/Shadow") as GameObject);
        Shadow.SetActive(false);

        for (int i = 0; i < GV.Instance.sheltToSpawn; i++)
        {
            Shelt newShelt = new Shelt(spawn.transform.position, $"Shelt-{(1+i).ToString()}", MotherShelt);
            shelts.Add(newShelt);
        }

        TimerManager.Instance.AddTimer(this, sheltSpwanerTimer, TimerManager.Timebook.InGame);
        SpawnWork();
    }
예제 #6
0
 public void SaveMe(Shelt toSave)
 {
     SaveShelt++;
     toSave.DeActivate();
     CheckGameState();
 }
예제 #7
0
 public void Init(Shelt shelt)
 {
     myShelt = shelt;
     gameObject.transform.tag = "Shelt";
 }