Ejemplo n.º 1
0
    public override void Action()
    {
        player      = GameObject.FindGameObjectWithTag("Player");
        playerPers  = player.GetComponent <PlayerPersonality>();
        playerGroup = player.GetComponent <GroupScript>();

        // Debug.Log("YES");

        targetIA = menuController.GetTargetIA();

        if (playerPers.interactionFromOtherCharacter == ActionsEnum.Actions.OFFER)
        {
            playerPers.myObject = targetIA.GetComponent <AIPersonality>().myObject;

            player.GetComponent <ObjectHandler> ().hasObject      = true;
            player.GetComponent <ObjectHandler>().currentObject   = targetIA.GetComponent <ObjectHandler>().currentObject;
            targetIA.GetComponent <AIPersonality>().myObject      = ObjectHandler.ObjectType.NONE;
            targetIA.GetComponent <ObjectHandler> ().hasObject    = false;
            targetIA.GetComponent <ObjectHandler>().currentObject = null;

            Debug.Log("player:he cogido tu objeto");
        }

        else if (playerPers.interactionFromOtherCharacter == ActionsEnum.Actions.JOIN)
        {
            //	playerGroup.addSingleMember (targetIA);
            //	targetIA.GetComponent<GroupScript> ().updateGroups (player);
            //Debug.Log("player:me uno a tu grupo bro");

            GroupScript myGroup     = playerPers.gameObject.GetComponent <GroupScript>();
            GroupScript leadergroup = targetIA.GetComponent <GroupScript>();
            //Debug.Log(targetIA);


            /*myGroup.groupLeader = targetIA ;
             * myGroup.inGroup = true;
             * myGroup.IAmTheLeader = false;
             * myGroup.groupMembers.Clear();
             * myGroup.groupMembers.AddRange(leadergroup.copyGroup());
             * myGroup.addSingleMember(targetIA);
             * leadergroup.updateGroups(playerPers.gameObject);
             * leadergroup.makeLeader();*/
            GameObject t = leadergroup.groupLeader;
            myGroup.groupLeader  = t;
            myGroup.inGroup      = true;
            myGroup.IAmTheLeader = false;
            leadergroup.updateGroups(myGroup.gameObject, myGroup.groupMembers);
            leadergroup.makeLeader();
            myGroup.addSingleMember(t);

            leadergroup.resetMembersOfGroups(t.GetComponent <SpriteRenderer>());
        }


        this.gameObject.transform.parent.gameObject.SetActive(false);
    }
Ejemplo n.º 2
0
 void Start()
 {
     if (this.tag == "IA")
     {
         cycleIA       = this.GetComponent <VisibilityConeCycleIA>();
         personality   = this.GetComponent <AIPersonality> ();
         objSeenBefore = personality.myMemory.objectsSeenBefore;
     }
     else if (this.tag == "Player")
     {
         cyclePlayer       = this.GetComponent <VisibilityConeCycle>();
         playerPersonality = this.GetComponent <PlayerPersonality>();
     }
     agentPositionControllerScript = this.GetComponent <AgentPositionController>();
 }
Ejemplo n.º 3
0
    // Use this for initialization
    void Start()
    {
        float iterator = 1f;
        Color currentColor;
        float randomColor = 0f;

        spawnersLeft = new List <GameObject>();
        spawnersLeft.AddRange(spawnPoints);

        numberOfHumans = numberOfIAs;

        if (numberOfIAs > spawnPoints.Length && spawnPoints.Length > 6)
        {
            numberOfIAs = spawnPoints.Length - 3;
        }
        numberOfIAs += 1;


        AIPersonality.Personalities type = (AIPersonality.Personalities)Random.Range(0, 1);
        int spawnPos = Random.Range(0, spawnersLeft.Count - 1);


        if (!allCharisma)
        {
            int i = 3;
            randomColor  = Random.Range((iterator - 1) / numberOfIAs, iterator / numberOfIAs);
            currentColor = gradient.Evaluate(randomColor);
            instantiateIA(type, spawnersLeft[spawnPos].transform.position, 0, currentColor);
            spawnersLeft.Remove(spawnersLeft[spawnPos]);
            iterator++;
            //Debug.Log(randomColor);


            type         = (AIPersonality.Personalities)Random.Range(2, 3);
            spawnPos     = Random.Range(0, spawnersLeft.Count - 1);
            randomColor  = Random.Range((iterator - 1) / numberOfIAs, iterator / numberOfIAs);
            currentColor = gradient.Evaluate(randomColor);
            instantiateIA(type, spawnersLeft[spawnPos].transform.position, 1, currentColor);
            spawnersLeft.Remove(spawnersLeft[spawnPos]);
            iterator++;
            //Debug.Log(randomColor);

            type         = (AIPersonality.Personalities)Random.Range(4, 5);
            spawnPos     = Random.Range(0, spawnersLeft.Count - 1);
            randomColor  = Random.Range((iterator - 1) / numberOfIAs, iterator / numberOfIAs);
            currentColor = gradient.Evaluate(randomColor);
            instantiateIA(type, spawnersLeft[spawnPos].transform.position, 2, currentColor);
            spawnersLeft.Remove(spawnersLeft[spawnPos]);
            iterator++;
            //Debug.Log(randomColor);

            while (i < numberOfIAs - 1)
            {
                spawnPos     = Random.Range(0, spawnersLeft.Count - 1);
                type         = (AIPersonality.Personalities)Random.Range(0, 5);
                randomColor  = Random.Range((iterator - 1) / numberOfIAs, iterator / numberOfIAs);
                currentColor = gradient.Evaluate(randomColor);
                instantiateIA(type, spawnersLeft[spawnPos].transform.position, i, currentColor);
                spawnersLeft.Remove(spawnersLeft[spawnPos]);
                i++;
                iterator++;
                //Debug.Log(randomColor);
            }

            GameObject        player      = GameObject.FindGameObjectWithTag("Player");
            PlayerPersonality personality = player.GetComponent <PlayerPersonality>();
            personality.configurePlayer(new Color(250, 250, 250, 255) / 255);
        }
        else
        {
            int i = 0;

            while (i < numberOfIAs - 1)
            {
                spawnPos     = Random.Range(0, spawnersLeft.Count - 1);
                type         = AIPersonality.Personalities.SFA;
                currentColor = gradient.Evaluate(Random.Range((i - 1) / numberOfIAs, i / numberOfIAs));
                instantiateIA(type, spawnersLeft[spawnPos].transform.position, i, currentColor);
                spawnersLeft.Remove(spawnersLeft[spawnPos]);
                i++;
            }
        }

        determineMonster();

        /*personality.health = 100;
         * personality.attack = 10;
         *
         * personality.MyOwnIndex = numberOfIAs - 1;*/

        //Al final del start se activan los colliders de las habitaciones para que se puedan guardar las IAs las habitaciones donde spawneen
        //List<GameObject> Rooms = new List<GameObject>();
        //Rooms.AddRange(GameObject.FindGameObjectsWithTag("RoomsAndDoors"))
        foreach (GameObject room in GameObject.FindGameObjectsWithTag("RoomsAndDoors"))
        {
            room.GetComponent <LocationDiscovery>().enabled = true;
        }
    }
Ejemplo n.º 4
0
        public static void Import(string fullpath)
        {
            using (StreamReader r = new StreamReader(fullpath))
            {
                try
                {
                    string   json = r.ReadToEnd();
                    CM94Data data = JsonConvert.DeserializeObject <CM94Data>(json);

                    int i = 0;
                    foreach (var club in data.clubs)
                    {
                        Club c = new Club();
                        c.City            = club.Trim();
                        c.Name            = club.Trim();
                        c.Funds           = 10000;
                        c.Id              = i++;
                        c.NickName        = "";
                        c.PrimaryColor    = Color.Red;
                        c.SecondaryColor  = Color.White;
                        c.StadiumCapacity = 1000;
                        c.StadiumName     = "";
                        CmData.Clubs.Add(c);
                    }

                    int idplayer = 0;
                    foreach (var player in data.players)
                    {
                        if (player.firstName != null && player.surname != "noname")
                        {
                            Player p = new Player();
                            p.Id        = idplayer++;
                            p.LastName  = player.surname;
                            p.FirstName = player.firstName;
                            p.BirthDate = DateTime.Now.AddYears(-player.age);
                            p.Position  = new PlayerPosition()
                            {
                                Goalkeeper = player.position.G,
                                Defender   = player.position.D,
                                Midfield   = player.position.M,
                                Forward    = player.position.A,
                                Center     = player.position.C,
                                Right      = player.position.R,
                                Left       = player.position.L
                            };

                            p.Attributes                  = new PlayerAttributes();
                            p.Attributes.Passing          = player.passing;
                            p.Attributes.Tackling         = player.tackling;
                            p.Attributes.Pace             = player.pace;
                            p.Attributes.Heading          = player.heading;
                            p.Attributes.Development      = player.flair;
                            p.Attributes.Dribbling        = player.creativity;
                            p.Attributes.Stamina          = player.stamina;
                            p.Attributes.Presence         = player.influence;
                            p.Attributes.Agility          = player.agility;
                            p.Attributes.Strength         = player.strength;
                            p.Attributes.Potential        = player.potentialSkill;
                            p.Attributes.CurrentPotential = player.currentSkill;
                            p.Attributes.Goalscoring      = player.goalscoring;
                            p.Attributes.Persevarance     = new Random().Next(0, 20);

                            p.Attributes.Versatility = new Random().Next(0, 20);
                            p.Attributes.Shot        = new Random().Next(0, 20);
                            p.Attributes.InjuryProne = new Random().Next(0, 10);
                            p.Attributes.Aggression  = new Random().Next(0, 20);
                            p.Attributes.GoalKeeping = p.Position.Goalkeeper ? new Random().Next(15, 20) : new Random().Next(0, 10);

                            Array             values      = Enum.GetValues(typeof(PlayerPersonality));
                            PlayerPersonality personality = (PlayerPersonality)values.GetValue(new Random().Next(values.Length));
                            p.Personality = personality;

                            PlayerContract contract = new PlayerContract();
                            contract.Salary    = new Random().Next(10000, 1000000);
                            contract.Expiry    = DateTime.Now.AddYears(new Random().Next(1, 5));
                            contract.StartDate = DateTime.Now.AddYears(-new Random().Next(0, 10));
                            p.Contract         = contract;

                            CmData.Players.Add(p);
                        }
                    }

                    foreach (var name in data.playerNames)
                    {
                        if (name.FirstName != null && name.SurName != "noname")
                        {
                            try
                            {
                                CmData.FirstNames.Add(name.FirstName.Trim());
                                CmData.LastNames.Add(name.SurName.Trim());
                            }
                            catch (Exception e)
                            {
                                MessageBox.Show(e.ToString());
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.ToString());
                }
            }
        }