Пример #1
0
    //-----------------------------------------------

    // Use this for initialization
    void Start()
    {
        if (this.transform.name == "GoalKeeper_Local")
        {
            TeamName     = "Local";
            playerTeam   = GameObject.Find("Local").GetComponent <STeam>();
            opponentTeam = GameObject.Find("Visit").GetComponent <STeam>();
            Opponents    = opponentTeam.Visitors;
            Teammates    = playerTeam.Locals;
        }
        else
        {
            TeamName     = "Visit";
            playerTeam   = GameObject.Find("Visit").GetComponent <STeam>();
            opponentTeam = GameObject.Find("Local").GetComponent <STeam>();
            Opponents    = opponentTeam.Locals;
            Teammates    = playerTeam.Visitors;
        }
        scorerTime = GameObject.FindObjectOfType(typeof(ScorerTimeHUD)) as ScorerTimeHUD;

        listPosicion = new List <string>();

        initial_Position = transform.position;
        state            = GoalKeeper_State.RESTING;
        GetComponent <Animation>()["running"].speed = 1.0f;
        GetComponent <Animation>()["goalkeeper_clear_right_up"].speed   = 1.0f;
        GetComponent <Animation>()["goalkeeper_clear_left_up"].speed    = 1.0f;
        GetComponent <Animation>()["goalkeeper_clear_right_down"].speed = 1.0f;
        GetComponent <Animation>()["goalkeeper_clear_left_down"].speed  = 1.0f;
    }
    void  Start()
    {
        //Debug.Log(GetComponentInChildren<SkinnedMeshRenderer>().material);
        scorerTime = GameObject.FindObjectOfType(typeof(ScorerTimeHUD)) as ScorerTimeHUD;
        //Cambiar los uniformes
        GetComponentInChildren <SkinnedMeshRenderer>().material = Resources.Load("Materials/" + "player_texture_" + PlayerPrefs.GetString(transform.parent.name)) as Material;

        keeper         = GameObject.FindGameObjectWithTag("GoalKeeper");
        keeper_oponent = GameObject.FindGameObjectWithTag("GoalKeeper_Oponent");
        listPosicion   = new List <string>();
        //inGame = GameObject.FindObjectOfType(typeof(InGameState_Script)) as InGameState_Script;
        sphere = GameObject.Find("soccer_ball").GetComponent <Sphere>();
        // get players and opponents and save it in both arrays

        players   = GameObject.FindGameObjectsWithTag("PlayerTeam1");
        opponents = GameObject.FindGameObjectsWithTag("OpponentTeam");



        if (gameObject.tag == "PlayerTeam1")
        {
            initialPosition = new Vector3(transform.position.x, transform.position.y, transform.position.z + initialDisplacement);
        }
        if (gameObject.tag == "OpponentTeam")
        {
            initialPosition = new Vector3(transform.position.x, transform.position.y, transform.position.z - initialDisplacement);
        }


        // set animations speed to fit perfect movements
        GetComponent <Animation>()["jump_backwards_bucle"].speed = 1.5f;
        GetComponent <Animation>()["starting"].speed             = 1.0f;
        GetComponent <Animation>()["starting_ball"].speed        = 1.0f;
        GetComponent <Animation>()["running"].speed      = 1.2f;
        GetComponent <Animation>()["running_ball"].speed = 1.0f;
        GetComponent <Animation>()["pass"].speed         = 1.8f;
        GetComponent <Animation>()["rest"].speed         = 1.0f;
        GetComponent <Animation>()["turn"].speed         = 1.3f;
        GetComponent <Animation>()["tackle"].speed       = 2.0f;

        GetComponent <Animation>()["fight"].speed = 1.2f;
        // para el movimiento de la cabeza de los jugadores

        GetComponent <Animation>().Play("rest");

        initialRotation = transform.rotation * headTransform.rotation;
    }
Пример #3
0
    // Use this for initialization
    void SetVariables()
    {
        //Debug.Log("Error de inicio");
        center = GameObject.Find("Center_Field").GetComponent <Transform>();
        sphere = GameObject.Find("soccer_ball").GetComponent <Sphere>();



        //Buscar tiempo

        scorerTime = GameObject.Find("UI").GetComponentInChildren <ScorerTimeHUD>();

        Local = GameObject.Find("Local").GetComponent <STeam>();
        Visit = GameObject.Find("Visit").GetComponent <STeam>();

        // search PLayers, opponents and goalkeepers
        keeper         = GameObject.FindGameObjectWithTag("GoalKeeper");
        keeper_oponent = GameObject.FindGameObjectWithTag("GoalKeeper_Oponent");


        Locals   = Local.Locals;
        Visitors = Visit.Visitors;


        //##########################Nodes############################
        PLAYING_Node             = new ActionNode(PLAYING);
        PREPARE_TO_KICK_OFF_Node = new ActionNode(PREPARE_TO_KICK_OFF);
        KICK_OFF_Node            = new ActionNode(KICK_OFF);
        GOAL_Node              = new ActionNode(GOAL);
        THROW_IN_Setup_Node    = new ActionNode(THROW_IN_Setup);
        THROW_IN_DOING_Node    = new ActionNode(THROW_IN_DOING);
        THROW_IN_DONE_Node     = new ActionNode(THROW_IN_DONE);
        CORNER_Setup_Node      = new ActionNode(CORNER_Setup);
        CORNER_DOING_Node      = new ActionNode(CORNER_DOING);
        CORNER_DONE_Node       = new ActionNode(CORNER_DONE);
        GOAL_KICK_Node         = new ActionNode(GOAL_KICK);
        GOAL_KICK_RUNNING_Node = new ActionNode(GOAL_KICK_RUNNING);
        GOAL_KICK_KICKING_Node = new ActionNode(GOAL_KICK_KICKING);
        Medio_Tiempo_Node      = new ActionNode(Medio_Tiempo);
        Cambio_Cancha_Node     = new ActionNode(Cambio_Cancha);
        FIN_Node = new ActionNode(FIN);



        //##########################Custom_Nodes############################

        CheckCornerSim_Node   = new ActionNode(CheckCornerSim);
        CheckThrowInSim_Node  = new ActionNode(CheckThrowInSim);
        CheckOclusionSim_Node = new ActionNode(CheckOclusionSim);
        PlayingNS_Node        = new ActionNode(PlayingNS);
        Oclusion_Node         = new ActionNode(Oclusion);
        //---------------------------Sequence-----------------------
        KickOff_Sequence = new Sequence(new List <Node> {
            PREPARE_TO_KICK_OFF_Node,
            KICK_OFF_Node,
        });
        HalfTime_Secuence = new Sequence(new List <Node> {
            Medio_Tiempo_Node,
            Cambio_Cancha_Node,
        });


        Corner_Sequence = new Sequence(new List <Node> {
            CORNER_Setup_Node,
            CORNER_DOING_Node,
            CORNER_DONE_Node,
        });

        Throw_In_Sequence = new Sequence(new List <Node> {
            THROW_IN_Setup_Node,
            THROW_IN_DOING_Node,
            THROW_IN_DONE_Node
        });


        FootballMatch = new Selector(new List <Node> {
            PLAYING_Node,
            Corner_Sequence,
            Throw_In_Sequence,
            GOAL_KICK_Node,
            GOAL_Node,
        });

        RootNode = new Sequence(new List <Node> {
            KickOff_Sequence,
            FootballMatch,

            HalfTime_Secuence,
        });

        CornerSim = new Sequence(new List <Node>
        {
            CheckCornerSim_Node,
            Corner_Sequence,
            PlayingNS_Node,
        });
        ThrowInSim = new Sequence(new List <Node>
        {
            CheckThrowInSim_Node,
            Throw_In_Sequence,
            PlayingNS_Node,
        });
        OclusionSim = new Sequence(new List <Node>
        {
            CheckOclusionSim_Node,
        });


        CustomSim = new Selector(new List <Node>
        {
            CornerSim,
            ThrowInSim,
            OclusionSim,
            RootNode
        });
    }