Example #1
0
 public override bool userPermitted(User usr, BotRole role) =>
 role == BotRole.User ||
 (role == BotRole.HalfAdmin && checkRole(usr, bot.info.roles.halfadmin)) ||
 (role == BotRole.Admin && checkRole(usr, bot.info.roles.admin));
    void Start()
    {
        txt             = GetComponentInChildren <Text>(); //Chaque bot a un canvas avec un texte affichant son rôle et son état
        master          = FindObjectOfType <GameMaster>();
        team            = transform.parent.parent.GetComponent <Team>();
        currentWayPoint = Random.Range(0, 4);
        bot_object      = transform.parent.gameObject;
        mybot           = bot_object.GetComponent <Bot>();
        agent           = bot_object.GetComponent <UnityEngine.AI.NavMeshAgent>();
        collider        = bot_object.GetComponent <Collider>();
        renderer        = bot_object.GetComponent <Renderer>();

        //Les 4 coins de la map
        wayPoints[0] = new Vector3(-42, 0, -23);
        wayPoints[1] = new Vector3(46, 0, -27.7f);
        wayPoints[2] = new Vector3(44.7f, 0, 28);
        wayPoints[3] = new Vector3(-47, 0, 30);

        if (team.team_ID == 0)
        {
            defensorPos = new Vector3(26, 0, 10);
        }
        else
        {
            defensorPos = new Vector3(-26, 0, -10);
        }


        switch (transform.parent.GetComponent <Bot>().ID)//Set le role de chaque bot en fonction de son ID
        {
        case 0:
            role         = BotRole.ATTACK;
            defaultState = BotState.GET_FLAG;
            break;

        case 1:
            role         = BotRole.GUARDIAN;
            defaultState = BotState.ROUNDS;

            break;

        case 2:
            role           = BotRole.ESCORT;
            IEscortThisGuy = master.GetBotFromID(0 + team.team_ID * 10).GetComponentInChildren <BotBehaviourBaseSystermans>();
            Debug.Log(IEscortThisGuy.gameObject.name);
            defaultState = BotState.E_ATTACK;
            break;

        case 3:
            role         = BotRole.DEFENSE;
            defaultState = BotState.WATCH;
            break;

        case 4:
            role         = BotRole.MASS_KILLER;
            defaultState = BotState.WANDER;
            break;

        case 10:
            role         = BotRole.ATTACK;
            defaultState = BotState.GET_FLAG;
            break;

        case 11:
            role         = BotRole.GUARDIAN;
            defaultState = BotState.ROUNDS;
            break;

        case 12:
            role           = BotRole.ESCORT;
            IEscortThisGuy = master.GetBotFromID(0 + team.team_ID * 10).GetComponentInChildren <BotBehaviourBaseSystermans>();
            Debug.Log(IEscortThisGuy.gameObject.name);
            defaultState = BotState.E_ATTACK;
            break;

        case 13:
            role         = BotRole.DEFENSE;
            defaultState = BotState.WATCH;
            break;

        case 14:
            role         = BotRole.MASS_KILLER;
            defaultState = BotState.WANDER;
            break;
        }
        Debug.Log(team.bots.Length);
        for (int i = 0; i < 5; i++)
        {
            myMates.Add(team.bots[i].GetComponentInChildren <BotBehaviourBaseSystermans>());
        }

        myMatesArray = myMates.ToArray();
        state        = defaultState;
        SwitchState(defaultState);
    }
Example #3
0
 // user
 public abstract bool userPermitted(User usr, BotRole role);
Example #4
0
 public override bool userPermitted(User usr, BotRole role) => true;