public NewsHeadline GetRandomByIdealType(IdealType idealType)
	{
		List<NewsHeadline> validHeadlines = new List<NewsHeadline>();

		for (int i = 0; i < pool.Count; i++)
		{
			if (pool[i].idealType == idealType)
			{
				validHeadlines.Add(pool[i]);
			}
		}

		NewsHeadline returnHeadline = null;

		if (validHeadlines.Count > 0)
		{
			returnHeadline = validHeadlines[UnityEngine.Random.Range(0, validHeadlines.Count)];
		}
		else
		{
			returnHeadline = pool[UnityEngine.Random.Range(0, pool.Count)];
		}

		pool.Remove(returnHeadline);

		return returnHeadline;
	}
Exemple #2
0
    public void RandomiseKeyIdeals()
    {
        int idealsCount = Utility.GetEnumValues <IdealType>().Length;

        KeyIdeal = (IdealType)UnityEngine.Random.Range(0, idealsCount);

        RandomiseCurrentIdeals();
    }
Exemple #3
0
    protected void OnHeadlineResolved(IdealType idealType, IdealLean lean)
    {
        List <Sheep> flippingSheep = new List <Sheep>();

        // Get sheep's whose lean are opposite to the headline idealType.
        for (int i = 0; i < allSheep.Count; i++)
        {
            Sheep     sheep     = allSheep[i];
            IdealLean sheepLean = sheep.Ideals.GetIdealLean(idealType);

            if (lean == IdealLean.Positive && sheepLean == IdealLean.Negative)
            {
                flippingSheep.Add(sheep);
            }
            else if (lean == IdealLean.Negative && sheepLean == IdealLean.Positive)
            {
                flippingSheep.Add(sheep);
            }

            sheep.SetState(SheepState.Idle);
        }

        // Choose an amount to flip and flip 'em!
        int amountToFlip = 0;

        if (flippingSheep.Count <= 5)
        {
            amountToFlip = flippingSheep.Count;
        }
        else
        {
            amountToFlip = (int)((float)flippingSheep.Count * UnityEngine.Random.Range(0.5f, 1f));
        }

        for (int i = 0; i < amountToFlip; i++)
        {
            Sheep flipSheep = flippingSheep[i];

            //float prevLean = flipSheep.Lean;
            flipSheep.Ideals.SetIdealValue(idealType, -flippingSheep[i].Ideals.GetIdealValue(idealType));
            //flipSheep.UpdateLean(player, dictator);

            /*if (flipSheep.Lean != prevLean)
             * {
             *      flipSheep.SetState(SheepState.Newspaper);
             * }*/
        }

        newsHeadline.Hide();

        StartNewsHeadlineCountdown();

        AudioManager.PlaySFXRandom("baa");
        AudioManager.PlaySFX("sheep-move");

        playerControls.Show();
        playerControls.ShowNewCards();
    }
    protected void ParseText()
    {
        Debug.Log("Parse");
        cardCollection.cards.Clear();

        string[] allLines = System.IO.File.ReadAllLines(Application.dataPath + "/ResistJam/StreamingAssets/ResistJamCards.csv");
        List <List <string> > CardTable = new List <List <string> >();

        for (int i = 0; i < allLines.Length; i++)
        {
            CardTable.Add(new List <string>());
            string[] result = allLines[i].Split(new string[] { ";" }, StringSplitOptions.None);
            foreach (string s in result)
            {
                CardTable[i].Add(s);
            }
        }

        IdealType currentIdealType = IdealType.Environment;

        for (int i = 1; i < CardTable.Count; i++)
        {
            if (CardTable[i][2] != "")
            {
                Card newCard = new Card();
                if (CardTable[i][0] == "ENVIRONMENT")
                {
                    currentIdealType = IdealType.Environment;
                }
                else if (CardTable[i][0] == "CIVIL RIGHTS")
                {
                    currentIdealType = IdealType.CivilRights;
                }
                else if (CardTable[i][0] == "PUBLIC SERVICES")
                {
                    currentIdealType = IdealType.PublicServices;
                }
                else if (CardTable[i][0] == "FOREIGN POLICY")
                {
                    currentIdealType = IdealType.ForeignPolicy;
                }
                else if (CardTable[i][0] == "ECONOMY")
                {
                    currentIdealType = IdealType.Economy;
                }
                else if (CardTable[i][0] == "SCIENCE & CULTURE")
                {
                    currentIdealType = IdealType.ScienceAndCulture;
                }
                newCard.idealType = currentIdealType;
                newCard.value     = float.Parse(CardTable[i][3]);
                newCard.message   = CardTable[i][2];

                cardCollection.cards.Add(newCard);
            }
        }
        Debug.Log(cardCollection.cards.Count);
    }
Exemple #5
0
    public void InitHeadline(IdealType ideal, IdealLean idealLean, string headline)
    {
        this.currentIdeal = ideal;
        this.idealLean    = idealLean;

        headlineText.text = headline;

        isHeadlineInitialised = true;
        responded             = false;
    }
Exemple #6
0
    public void RandomiseIdealValue(IdealType idealType)
    {
        float newVal = 0f;

        if (KeyIdeal == idealType)
        {
            newVal = RandomValue(3, 3);
        }
        else
        {
            newVal = RandomValue(1, 2);
        }

        idealsDict[idealType] = newVal;
    }
Exemple #7
0
    public IdealLean GetIdealLean(IdealType idealType)
    {
        float val = idealsDict[idealType];

        if (val == 0f)
        {
            return(IdealLean.Neutral);
        }
        else if (val > 0f)
        {
            return(IdealLean.Positive);
        }
        else
        {
            return(IdealLean.Negative);
        }
    }
Exemple #8
0
 public void AddToIdealValue(IdealType idealType, float value)
 {
     idealsDict[idealType] += value;
     idealsDict[idealType]  = Mathf.Clamp(idealsDict[idealType], -5f, 5f);
 }
Exemple #9
0
 public void SetIdealValue(IdealType idealType, float value)
 {
     idealsDict[idealType] = Mathf.Clamp(value, -5f, 5f);
 }
Exemple #10
0
 public float GetIdealValue(IdealType idealType)
 {
     return(idealsDict[idealType]);
 }
Exemple #11
0
 protected string GetString(IdealType idealType)
 {
     return(idealType.ToString() + ": " + sheep.Ideals.GetIdealValue(idealType).ToString("N1"));
 }
Exemple #12
0
 protected void SetHeaderSprite(IdealType idealType)
 {
     headerImage.sprite = headerSprites[(int)idealType];
 }