Example #1
0
    public override void touchListener(TouchRewardFunc fun)
    {
        if (Done)
        {
            return;
        }

        if (fun.gameObject.name.StartsWith("target"))
        {
            if (isFirstTouch)
            {
                fun.allowNext = true;
                isFirstTouch  = false;
                AddReward(11);
            }

            fun.gameObject.GetComponent <Renderer>().material.SetColor("_Color", Color.yellow);
            int idx = int.Parse(fun.gameObject.name.Substring(6));
            reward_hist[idx - 1] = 1;
            if ((reward_hist[0] == 1 && reward_hist[1] == 1 && reward_hist[2] == 1 && reward_hist[3] == 1 && reward_hist[4] == 1) ||
                (reward_hist[5] == 1 && reward_hist[6] == 1 && reward_hist[7] == 1 && reward_hist[8] == 1 && reward_hist[9] == 1))
            {
                gameStatus = "You Won!!!";
                Done       = true;
            }
        }
    }
Example #2
0
 // Start is called before the first frame update
 void Start()
 {
     touchEvent = GetComponent <TouchRewardFunc>();
     agent.AddResetListener(this);
 }
Example #3
0
    // Start is called before the first frame update
    public void ResetGame()
    {
        int choosePosition       = Random.Range(0, 4);
        int chooseRespawn        = Random.Range(0, 3);
        int chooseOpenController = Random.Range(0, 2);

        gate1.transform.position = gate1Pos;
        gate2.transform.position = gate2Pos;
        gate1.transform.rotation = gate1Rot;
        gate2.transform.rotation = gate2Rot;
        action1.GetComponent <GateController>().ResetGate();
        action2.GetComponent <GateController>().ResetGate();
        action3.GetComponent <GateController>().ResetGate();
        action4.GetComponent <GateController>().ResetGate();

        if (chooseOpenController == 0)
        {
            TouchRewardFunc touchFunc1 = action1.GetComponent <TouchRewardFunc>();
            touchFunc1.allowNext = true;
            TouchRewardFunc touchFunc2 = action2.GetComponent <TouchRewardFunc>();
            touchFunc2.allowNext = false;
            action1.GetComponent <GateController>().IsOpenController = true;
            action2.GetComponent <GateController>().IsOpenController = false;
            action3.GetComponent <GateController>().IsOpenController = false;
            action4.GetComponent <GateController>().IsOpenController = true;
        }
        else
        {
            TouchRewardFunc touchFunc1 = action1.GetComponent <TouchRewardFunc>();
            touchFunc1.allowNext = false;
            TouchRewardFunc touchFunc2 = action2.GetComponent <TouchRewardFunc>();
            touchFunc2.allowNext = true;
            action1.GetComponent <GateController>().IsOpenController = false;
            action2.GetComponent <GateController>().IsOpenController = true;
            action3.GetComponent <GateController>().IsOpenController = true;
            action4.GetComponent <GateController>().IsOpenController = false;
        }

        switch (chooseRespawn)
        {
        case 0:
            agent.transform.position = respawn1.transform.position;
            agent.transform.rotation = respawn1.transform.rotation;
            break;

        case 1:
            agent.transform.position = respawn2.transform.position;
            agent.transform.rotation = respawn2.transform.rotation;
            break;

        case 2:
            agent.transform.position = respawn3.transform.position;
            agent.transform.rotation = respawn3.transform.rotation;
            break;
        }

        switch (choosePosition)
        {
        case 0:
            action1.transform.position = gate1Pos1.transform.position;
            action2.transform.position = gate1Pos2.transform.position;
            action3.transform.position = gate2Pos1.transform.position;
            action4.transform.position = gate2Pos2.transform.position;
            break;

        case 1:
            action1.transform.position = gate1Pos2.transform.position;
            action2.transform.position = gate1Pos1.transform.position;
            action3.transform.position = gate2Pos1.transform.position;
            action4.transform.position = gate2Pos2.transform.position;
            break;

        case 2:
            action1.transform.position = gate1Pos1.transform.position;
            action2.transform.position = gate1Pos2.transform.position;
            action3.transform.position = gate2Pos2.transform.position;
            action4.transform.position = gate2Pos1.transform.position;
            break;

        case 3:
            action1.transform.position = gate1Pos2.transform.position;
            action2.transform.position = gate1Pos1.transform.position;
            action3.transform.position = gate2Pos2.transform.position;
            action4.transform.position = gate2Pos1.transform.position;
            break;
        }
    }