private void OnTriggerEnter2D(Collider2D other)
    {
        //Debug.Log(other.gameObject.name);
        if (other.GetComponent <startgame>() != null)
        {
            this.GetComponent <AutoScroller>().scrolling = true;
        }
        if (other.gameObject.name == "deathTrigger")
        {
            this.GetComponent <Health>().health--;
            transform.position = position_before_jump;
        }
        if (other.gameObject.GetComponent <DoorTrigger>() != null)
        {
            if (can_enter_teleport_room)
            {
                other.gameObject.GetComponent <DoorTrigger>().disableDoor();
            }
        }


        if (other.tag == "book")
        {
            this.GetComponent <Books>().books++;
            this.GetComponent <Books>().maxbooks++;
            Destroy(other.gameObject);
        }



        if (other.GetComponent <DisplayMessage>() != null)
        {
            other.GetComponent <DisplayMessage>().setText();
        }

        if (other.GetComponent <facts>() != null)
        {
            facts = other.GetComponent <facts>();
            GetComponent <setText>().setmessage("Πάτα Ε για να αγοράσεις γνώσεις. Η επόμενη γνώση κοστίζει " + other.GetComponent <facts>().getcost());
        }
        if (other.GetComponent <Teleport>() != null)
        {
            if (GetComponent <Health>().health < GetComponent <Health>().numOfHearts)
            {
                GetComponent <Health>().health = GetComponent <Health>().numOfHearts;
                other.GetComponent <Teleport>().playHealingAudio();
            }
            if (other.GetComponent <Teleport>().active)
            {
                GetComponent <setText>().setmessage("Πάτα Ε για τηλεμεταφορά");
            }
        }
    }
    private void OnTriggerExit2D(Collider2D other)
    {
        if (other.GetComponent <Teleport>() != null)
        {
            GetComponent <setText>().setmessage("");
        }

        if (other.GetComponent <DisplayMessage>() != null)
        {
            other.GetComponent <DisplayMessage>().hideText();
        }

        if (other.GetComponent <facts>() != null)
        {
            GetComponent <setText>().setmessage("");
            facts = null;
        }
    }
예제 #3
0
    void getrandomfact()
    {
        int last = UnityEngine.Random.Range(1, 5);

        done = false;
        i    = UnityEngine.Random.Range(0, unansered.Count);

        int frist = UnityEngine.Random.Range(0, 13);

        int secend = UnityEngine.Random.Range(1, 12);



        if (x)
        {
            prdect = frist * secend;

            if (qustion.text != frist.ToString() + " X " + secend.ToString())
            {
                qustion.text = frist.ToString() + " X " + secend.ToString();
            }
        }
        if (plus)
        {
            prdect = frist + secend;

            if (qustion.text != frist.ToString() + " + " + secend.ToString())
            {
                qustion.text = frist.ToString() + " + " + secend.ToString();
            }
        }
        if (mins)
        {
            prdect = frist - secend;

            if (qustion.text != frist.ToString() + " - " + secend.ToString())
            {
                qustion.text = frist.ToString() + " - " + secend.ToString();
            }
        }
        if (devtion)
        {
            prdect = decimal.Divide(frist, secend);
            prdect = decimal.Round(prdect, 2);

            if (qustion.text != frist.ToString() + " / " + secend.ToString())
            {
                qustion.text = frist.ToString() + " / " + secend.ToString();
            }
        }
        if (all)
        {
            prdect = frist * secend;
        }



        onscreen = unansered [i];
        unansered.RemoveAt(i);


        if (lastq == onscreen.fact)
        {
            getrandomfact();
        }
        if (x)
        {
            prdect = frist * secend;



            Debug.Log(onscreen.factA + " factA ");
            Debug.Log(onscreen.factB + " factB ");
            Debug.Log(onscreen.factC + " factC ");
            Debug.Log(onscreen.factD + " factD");
            Debug.Log(frist + " X " + secend + "=" + prdect);
        }
        if (plus)
        {
            prdect = frist + secend;


            Debug.Log(onscreen.factA + " factA ");
            Debug.Log(onscreen.factB + " factB ");
            Debug.Log(onscreen.factC + " factC ");
            Debug.Log(onscreen.factD + " factD");
            Debug.Log(frist + " + " + secend + "=" + prdect);
        }
        if (mins)
        {
            prdect = frist - secend;


            Debug.Log(onscreen.factA + " factA ");
            Debug.Log(onscreen.factB + " factB ");
            Debug.Log(onscreen.factC + " factC ");
            Debug.Log(onscreen.factD + " factD");
            Debug.Log(frist + " - " + secend + "=" + prdect);
        }
        if (devtion)
        {
            prdect = decimal.Divide(frist, secend);
            prdect = decimal.Round(prdect, 2);


            Debug.Log(onscreen.factA + " factA ");
            Debug.Log(onscreen.factB + " factB ");
            Debug.Log(onscreen.factC + " factC ");
            Debug.Log(onscreen.factD + " factD");
        }
        if (devtion)
        {
            if (last == 1)
            {
                float a = UnityEngine.Random.Range(devmin, devmax);
                a = (float)(Math.Truncate((double)a * 100.0) / 100.0);
                onscreen.factA = a.ToString();


                onscreen.factB = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factC = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factD = prdect.ToString();
                onscreen.isA   = false;
                onscreen.isB   = false;
                onscreen.isC   = false;
                onscreen.isD   = true;
            }
            if (last == 2)
            {
                float b = UnityEngine.Random.Range(devmin, devmax);
                b = (float)(Math.Truncate((double)b * 100.0) / 100.0);
                onscreen.factA = prdect.ToString();
                onscreen.factB = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factC = b.ToString();

                onscreen.factD = UnityEngine.Random.Range(0, 11).ToString();
                onscreen.isA   = true;
                onscreen.isB   = false;
                onscreen.isC   = false;
                onscreen.isD   = false;
            }
            if (last == 3)
            {
                float c = UnityEngine.Random.Range(devmin, devmax);
                c = (float)(Math.Truncate((double)c * 100.0) / 100.0);
                onscreen.factA = UnityEngine.Random.Range(min, max).ToString();

                onscreen.factB = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factC = prdect.ToString();
                onscreen.factD = c.ToString();
                onscreen.isA   = false;
                onscreen.isB   = false;
                onscreen.isC   = true;
                onscreen.isD   = false;
            }
            if (last == 4)
            {
                float d = UnityEngine.Random.Range(devmin, devmax);
                d = (float)(Math.Truncate((double)d * 100.0) / 100.0);
                onscreen.factA = d.ToString();
                onscreen.factB = prdect.ToString();
                onscreen.factC = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factD = UnityEngine.Random.Range(min, max).ToString();
                onscreen.isA   = false;
                onscreen.isB   = true;
                onscreen.isC   = false;
                onscreen.isD   = false;
                if (onscreen.factA == onscreen.factB || onscreen.factA == onscreen.factC || onscreen.factA == onscreen.factD || onscreen.factB == onscreen.factA || onscreen.factB == onscreen.factC || onscreen.factB == onscreen.factD || onscreen.factC == onscreen.factB || onscreen.factC == onscreen.factD || onscreen.factC == onscreen.factA || onscreen.factD == onscreen.factB || onscreen.factD == onscreen.factC || onscreen.factD == onscreen.factA)
                {
                    onscreen.factA = d.ToString();
                    onscreen.factB = prdect.ToString();
                    onscreen.factC = UnityEngine.Random.Range(min, max).ToString();
                    onscreen.factD = UnityEngine.Random.Range(min, max).ToString();
                }
            }
        }
        if (!devtion)
        {
            if (last == 1)
            {
                onscreen.factA = UnityEngine.Random.Range(min, max).ToString();


                onscreen.factB = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factC = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factD = prdect.ToString();
                onscreen.isA   = false;
                onscreen.isB   = false;
                onscreen.isC   = false;
                onscreen.isD   = true;
                if (onscreen.factA == onscreen.factB || onscreen.factA == onscreen.factC || onscreen.factA == onscreen.factD || onscreen.factB == onscreen.factA || onscreen.factB == onscreen.factC || onscreen.factB == onscreen.factD || onscreen.factC == onscreen.factB || onscreen.factC == onscreen.factD || onscreen.factC == onscreen.factA || onscreen.factD == onscreen.factB || onscreen.factD == onscreen.factC || onscreen.factD == onscreen.factA)
                {
                    onscreen.factA = UnityEngine.Random.Range(min, max).ToString();


                    onscreen.factB = UnityEngine.Random.Range(min, max).ToString();
                    onscreen.factC = UnityEngine.Random.Range(min, max).ToString();
                    onscreen.factD = prdect.ToString();
                }
            }
            if (last == 2)
            {
                onscreen.factA = prdect.ToString();
                onscreen.factB = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factC = UnityEngine.Random.Range(min, max).ToString();

                onscreen.factD = UnityEngine.Random.Range(0, 11).ToString();
                onscreen.isA   = true;
                onscreen.isB   = false;
                onscreen.isC   = false;
                onscreen.isD   = false;
                if (onscreen.factA == onscreen.factB || onscreen.factA == onscreen.factC || onscreen.factA == onscreen.factD || onscreen.factB == onscreen.factA || onscreen.factB == onscreen.factC || onscreen.factB == onscreen.factD || onscreen.factC == onscreen.factB || onscreen.factC == onscreen.factD || onscreen.factC == onscreen.factA || onscreen.factD == onscreen.factB || onscreen.factD == onscreen.factC || onscreen.factD == onscreen.factA)
                {
                    onscreen.factA = prdect.ToString();
                    onscreen.factB = UnityEngine.Random.Range(min, max).ToString();
                    onscreen.factC = UnityEngine.Random.Range(min, max).ToString();

                    onscreen.factD = UnityEngine.Random.Range(0, 11).ToString();
                }
            }
            if (last == 3)
            {
                onscreen.factA = UnityEngine.Random.Range(min, max).ToString();

                onscreen.factB = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factC = prdect.ToString();
                onscreen.factD = UnityEngine.Random.Range(min, max).ToString();
                onscreen.isA   = false;
                onscreen.isB   = false;
                onscreen.isC   = true;
                onscreen.isD   = false;
                if (onscreen.factA == onscreen.factB || onscreen.factA == onscreen.factC || onscreen.factA == onscreen.factD || onscreen.factB == onscreen.factA || onscreen.factB == onscreen.factC || onscreen.factB == onscreen.factD || onscreen.factC == onscreen.factB || onscreen.factC == onscreen.factD || onscreen.factC == onscreen.factA || onscreen.factD == onscreen.factB || onscreen.factD == onscreen.factC || onscreen.factD == onscreen.factA)
                {
                    onscreen.factA = UnityEngine.Random.Range(min, max).ToString();

                    onscreen.factB = UnityEngine.Random.Range(min, max).ToString();
                    onscreen.factC = prdect.ToString();
                    onscreen.factD = UnityEngine.Random.Range(min, max).ToString();
                }
            }
            if (last == 4)
            {
                onscreen.factA = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factB = prdect.ToString();
                onscreen.factC = UnityEngine.Random.Range(min, max).ToString();
                onscreen.factD = UnityEngine.Random.Range(min, max).ToString();
                onscreen.isA   = false;
                onscreen.isB   = true;
                onscreen.isC   = false;
                onscreen.isD   = false;
                if (onscreen.factA == onscreen.factB || onscreen.factA == onscreen.factC || onscreen.factA == onscreen.factD || onscreen.factB == onscreen.factA || onscreen.factB == onscreen.factC || onscreen.factB == onscreen.factD || onscreen.factC == onscreen.factB || onscreen.factC == onscreen.factD || onscreen.factC == onscreen.factA || onscreen.factD == onscreen.factB || onscreen.factD == onscreen.factC || onscreen.factD == onscreen.factA)
                {
                    onscreen.factA = UnityEngine.Random.Range(min, max).ToString();
                    onscreen.factB = prdect.ToString();
                    onscreen.factC = UnityEngine.Random.Range(min, max).ToString();
                    onscreen.factD = UnityEngine.Random.Range(min, max).ToString();
                }
            }
        }


        factA.text = onscreen.factA;
        factB.text = onscreen.factB;
        factC.text = onscreen.factC;
        factD.text = onscreen.factD;

        if (x)
        {
            onscreen.fact = frist.ToString() + " X " + secend.ToString();
        }
        if (plus)
        {
            onscreen.fact = frist.ToString() + " + " + secend.ToString();
        }
        if (mins)
        {
            onscreen.fact = frist.ToString() + " - " + secend.ToString();
        }
        if (devtion)
        {
            onscreen.fact = frist.ToString() + " / " + secend.ToString();
        }
        if (all)
        {
            onscreen.fact = frist.ToString() + " X " + secend.ToString();
        }

        qustion.text = onscreen.fact;
        lastq        = onscreen.fact;


        if (onscreen.isA == true)
        {
            anser = 1;
        }
        if (onscreen.isB == true)
        {
            anser = 2;
        }
        if (onscreen.isC == true)
        {
            anser = 3;
        }
        if (onscreen.isD == true)
        {
            anser = 4;
        }



        check();
    }