コード例 #1
0
    void Collect(GameObject brankas)
    {
        Brankas brankasScript = brankas.GetComponent <Brankas>();

        brankasScript.moneyGraphic.SetActive(true);
        brankasScript.moneyGraphic.GetComponent <Money> ().Animate();

        /* Collect money dari brankas */
        // Brankas pasti sudah bisa dicollect

        brankasScript.status = (int)Brankas.Status.BRANKAS_CLOSED;
        SendMoney(Mathf.Round(brankasScript.money * Mathf.Min(brankasScript.progress, 100f) / 100f * goingToCollect));
        Debug.Log("Collect from brankas " + brankas);
        //Animator anim = brankas.GetComponent<Animator> ();
        //ffanim.SetBool ("isOpen", false);
        Debug.Log("BRANKAS COLLECTED " + brankas);
        //aliranData [brankas.GetComponent<Brankas> ().id].GetComponent<Animator>().speed = 1;
        //aliranData [brankas.GetComponent<Brankas> ().id].SetActive(false);
        brankasScript.progress = 0;

        progressSendHack [brankasScript.id] = 0;
        sendHackAnim = aliranData [brankasScript.id].GetComponent <Animator> ();
        sendHackAnim.Play("alirandata" + (brankasScript.id + 1), -1, progressSendHack [brankasScript.id] / 100);
        collecting [brankasScript.id] = false;
    }
コード例 #2
0
    void CollectAll()
    {
        /* Collect money dari seluruh brankas */
        // Cek apakah ada brankas yang kebuka
        bool anyBrankasOpen = false;

        goingToCollect = 0;
        foreach (GameObject brankas in brankasSpawned)
        {
            Brankas brankasScript = brankas.GetComponent <Brankas>();
            if (brankasScript.status == (int)Brankas.Status.BRANKAS_OPENING || brankasScript.status == (int)Brankas.Status.BRANKAS_OPENED)
            {
                anyBrankasOpen = true;
                break;
            }
        }
        // Kalau tidak ada brankas terbuka, game over
        if (!anyBrankasOpen)
        {
            GameOver();
        }
        else
        {
            foreach (GameObject brankas in brankasSpawned)
            {
                Brankas brankasScript = brankas.GetComponent <Brankas>();
                // Kalau brankas opening/opened (bisa di collect), collect
                if (brankasScript.status != (int)Brankas.Status.BRANKAS_CLOSED)
                {
                    goingToCollect++;
                    Collect(brankas);
                }
            }
        }
    }
コード例 #3
0
    void StartHack(int brankasId)
    {
        /* Brankas ke-brankasId mulai kebuka */
        //int idx = brankasSpawned [brankasId].GetComponent<Brankas>().id;
        int i = 0;

        SoundManager.instance.playSFX(SoundManager.COINHACK);
        while (brankasId != brankasSpawned [i].GetComponent <Brankas> ().id)
        {
            i++;
        }

        Debug.Log("HAcking");
        Brankas brankasScript = brankasSpawned[i].GetComponent <Brankas>();

        brankasScript.status = (int)Brankas.Status.BRANKAS_OPENING;
    }
コード例 #4
0
    // Update is called once per frame
    void Update()
    {
        /* Game Loop
         * SendHack() akan dipanggil setiap levelData.hackDefaultDelay
         * Hanya akan dicek ketika game sedang play
         * Tidak boleh mengirim ke brankas yang sedang SendHack(), namun belum StartHack()
         * Tidak boleh mengirim ke brankas yang sedang dihack (StartHack() sedang jalan) */
        if (!ready)
        {
            return;
        }
        if (levelData.gameStatus == (int)LevelData.GameStatus.GAMESTATUS_PLAY)
        {
            hackDelay -= Time.deltaTime;
            if (hackDelay <= 0 && hacksLeft > 0)
            {
                float doubleChance = Random.Range(0f, 1f);
                bool  repeat       = false;
                if (doubleChance <= 0.15f && hacksLeft > 2 && levelData.level >= 4)
                {
                    repeat = true;
                }
                int id  = Random.Range(0, brankasSpawned.Count);
                int idx = brankasSpawned [id].GetComponent <Brankas>().id;
                if (!sendingHack[idx] && brankasSpawned[id].GetComponent <Brankas>().status == (int)Brankas.Status.BRANKAS_CLOSED)
                {
                    SendHack(id);
                    sendingHack[idx] = true;
                    collecting [idx] = true;
                    if (repeat)
                    {
                        hackDelay = Random.Range(0.05f, 0.2f);
                    }
                    else
                    {
                        hackDelay = levelData.hackDefaultDelay * Random.Range(0.7f, 1.0f);
                    }
                    hacksLeft--;
                }
            }
            // Hacking left 0, sudah tidak ada hacking berlangsung -> Next level
            if (hacksLeft <= 0)
            {
                bool stillHacking = false;
                for (int i = 0; i < maxBrankas; i++)
                {
                    if (sendingHack[i])
                    {
                        //Debug.Log ("SENDINGHACK");
                        stillHacking = true;
                        break;
                    }
                }
                foreach (GameObject brankas in brankasSpawned)
                {
                    Brankas brankasScript = brankas.GetComponent <Brankas>();
                    if (brankasScript.status == (int)Brankas.Status.BRANKAS_OPENING || brankasScript.status == (int)Brankas.Status.BRANKAS_OPENED)
                    {
                        //Debug.Log ("STILLHACKING");
                        stillHacking = true;
                        break;
                    }
                }
                if (!stillHacking)
                {
                    //Debug.Log("!STILLHACKING");
                    NextLevel();
                }
            }
        }

        if (levelData.gameStatus == (int)LevelData.GameStatus.GAMESTATUS_PLAY)
        {
            for (int i = 0; i < maxBrankas; i++)
            {
                if (sendingHack [i] && progressSendHack[i] <= 100)
                {
                    progressSendHack [i] += Time.deltaTime * levelData.sendHackSpeed * levelData.sendHackSpeedMult;
                    //Debug.Log ("PROGRESSING" + progressSendHack[i]);
                    sendHackAnim = aliranData [i].GetComponent <Animator> ();
                    sendHackAnim.Play("alirandata" + (i + 1), -1, progressSendHack [i] / 100);
                }
                //Debug.Log (progressSendHack[i]+" "+i);
                if (sendingHack[i] && progressSendHack [i] > 100)
                {
                    Debug.Log("Starting Hack " + i);
                    sendingHack [i] = false;
                    StartHack(i);
                }
            }
        }

        /*
         * if (platform == 1) {
         *      // Android
         *      Debug.Log("Android");
         *      if (Input.touchCount > 0 && Input.GetTouch (0).phase == TouchPhase.Began) {
         *              if (levelData.gameStatus == (int)LevelData.GameStatus.GAMESTATUS_PLAY) {
         *                      Debug.Log ("COLLECT ALL");
         *                      CollectAll ();
         *              } else if (levelData.gameStatus == (int)LevelData.GameStatus.GAMESTATUS_MENU) {
         *                      Debug.Log ("SPACE PRESSED");
         *                      StartCoroutine (Fade (start, false));
         *                      StartCoroutine (Fade (game, true));
         *                      StartGame ();
         *                      Debug.Log (levelData.gameStatus);
         *              } else if (Input.GetKeyDown (KeyCode.Space) && levelData.gameStatus == (int)LevelData.GameStatus.GAMESTATUS_END && !inAnimation) {
         *                      Debug.Log ("SPACE PRESSED, RETRY");
         *                      StartCoroutine (Fade (end, false));
         *                      StartCoroutine (Fade (game, true));
         *                      StartGame ();
         *                      Debug.Log (levelData.gameStatus);
         *              }
         *      }
         * }
         * else {*/
        // Windows or others

        if ((Input.GetKeyDown(KeyCode.Space) || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)) && levelData.gameStatus == (int)LevelData.GameStatus.GAMESTATUS_PLAY)
        {
            Debug.Log("COLLECT ALL");
            CollectAll();
        }

        else if ((Input.GetKeyDown(KeyCode.Space) || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)) && levelData.gameStatus == (int)LevelData.GameStatus.GAMESTATUS_MENU)
        {
            Debug.Log("SPACE PRESSED");
            StartCoroutine(Fade(start, false));
            StartCoroutine(Fade(game, true));
            StartGame();
            Debug.Log(levelData.gameStatus);
        }

        else if ((Input.GetKeyDown(KeyCode.Space) || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)) && levelData.gameStatus == (int)LevelData.GameStatus.GAMESTATUS_END && !inAnimation)
        {
            Debug.Log("SPACE PRESSED, RETRY");
            StartCoroutine(Fade(end, false));
            StartCoroutine(Fade(game, true));
            StartGame();
            Debug.Log(levelData.gameStatus);
        }
        //}
    }