示例#1
0
    void Update()
    {
        /*var specs = GetSpectrum ();
         * for (int i = 1; i < specs.Length - 1; i++) {
         *      Debug.DrawLine(
         *              new Vector3(i - 1, specs[i] + 10, 0),
         *              new Vector3(i, specs[i + 1] + 10, 0),
         *              Color.red);
         *      Debug.DrawLine(
         *              new Vector3(i - 1, Mathf.Log(specs[i - 1]) + 10, 2),
         *              new Vector3(i, Mathf.Log(specs[i]) + 10, 2),
         *              Color.cyan);
         *      Debug.DrawLine(
         *              new Vector3(Mathf.Log(i - 1), specs[i - 1] - 10, 1),
         *              new Vector3(Mathf.Log(i), specs[i] - 10, 1),
         *              Color.green);
         *      Debug.DrawLine(
         *              new Vector3(Mathf.Log(i - 1), Mathf.Log(specs[i - 1]), 3),
         *              new Vector3(Mathf.Log(i), Mathf.Log(specs[i]), 3),
         *              Color.yellow);
         * }*/
        //Debug.Log ("Volume; " + string.Format("{0:f4}\r\n", GetAveragedVolume ()) );

        UpdateSpectrum();

        if (HCINetwork.Instance.IsConnected)
        {
            if (HCINetwork.Instance.ReceivedInt.Count != 0)
            {
                ReceivedMood = (MoodType)HCINetwork.Instance.ReceivedInt.Dequeue();
            }
        }
    }
示例#2
0
    public void Initialization(MoodType moodType)
    {
        var childBlock = A.Dummy <IBlock>();
        var sut        = new MoodNode(moodType);

        sut.MoodType.Should().Be(moodType);
    }
示例#3
0
    public async Task OnEnterAsyncShouldRaiseEvent(MoodType moodType, string personName, string protagonist)
    {
        var isProtagonist = personName == protagonist;

        var context = A.Dummy <INavigationContext>();

        context.State.PersonName      = personName;
        context.State.ProtagonistName = protagonist;
        context.State.MoodType        = null;

        var invoker = new TestInvoker(context);

        var sut = new MoodNode(moodType);

        var ret = await sut.EnterAsync(context);

        ret.Should().BeNull();

        invoker.ShouldContainSingle <IMoodChangeEvent>(
            i => i.Should().BeEquivalentTo(new
        {
            MoodType      = moodType,
            PersonName    = personName,
            IsProtagonist = isProtagonist
        })
            );
    }
        public async Task <IActionResult> PutMoodType([FromRoute] int id, [FromBody] MoodType moodType)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != moodType.MoodTypeID)
            {
                return(BadRequest());
            }

            _context.Entry(moodType).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MoodTypeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#5
0
	//Constructor
	public Person(RelationType theirRelation, MoodType theirMood,
	              string aName, int theirAffection, int theirTrust)
	{
		acquaintances = new List<int>();

		relation = theirRelation;			curMood = theirMood;		name = aName;
		playerAffection = theirAffection;	playerTrust = theirTrust;
	}
示例#6
0
	public Player(RelationType theirRelation, MoodType theirMood,
	              string aName, int theirAffection, int theirTrust)
		   : base(theirRelation, theirMood, aName, theirAffection, theirTrust)
	{
		energy = 0;
		happiness = 0;

		GameManager.People.OnChangeStatus += People_OnChangeStatus;
	}
示例#7
0
    public void Initialization(string personName, MoodType moodType, bool isProtagonist, string description)
    {
        var sut = new MoodChangeEvent(personName, isProtagonist, moodType);

        sut.PersonName.Should().Be(personName);
        sut.IsProtagonist.Should().Be(isProtagonist);
        sut.MoodType.Should().Be(moodType);
        sut.ToString().Should().Be(description);
    }
示例#8
0
 public Mood(MoodCategory category, string name, MoodType moodType, string displayColor, int displayIndex) :
     this()
 {
     this.Category     = category;
     this.Name         = name;
     this.DisplayColor = displayColor;
     this.DisplayIndex = displayIndex;
     this.MoodType     = moodType;
 }
示例#9
0
        /// <summary>
        ///   Publishes user mood information
        /// </summary>
        public IXmppSession PublishMood(MoodType mood, string description)
        {
            var instance = new Mood();

            instance.MoodType = mood;
            instance.Text     = description;

            PublishMood(new XmppUserMoodEvent(null, instance));

            return(this);
        }
示例#10
0
        public Mood AddMood(string name, MoodType moodType, string displayColor, int displayIndex)
        {
            Mood mood = this.MoodsCollection.FirstOrDefault(m => m.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase));

            if (mood == null)
            {
                mood = new Mood(this, name, moodType, displayColor, displayIndex);
                this.MoodsCollection.Add(mood);
            }
            return(mood);
        }
示例#11
0
    public async Task OnEnterShouldUpdateState(MoodType moodType)
    {
        var context = A.Dummy <INavigationContext>();

        context.State.MoodType = null;

        var sut = new MoodNode(moodType);

        await sut.EnterAsync(context);

        context.State.MoodType.Should().Be(moodType);
    }
        public async Task <IActionResult> PostMoodType([FromBody] MoodType moodType)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.MoodType.Add(moodType);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetMoodType", new { id = moodType.MoodTypeID }, moodType));
        }
示例#13
0
        public void TestAddMood()
        {
            MoodType Mood     = MoodType.Lonely;
            string   UserName = "******";
            User     User     = new User(UserName);

            Assert.AreEqual(0, User.CurrentMood.Count);

            User.AddMood(Mood);

            Assert.AreEqual(true, User.CurrentMood.Contains(Mood));
            Assert.AreEqual(1, User.CurrentMood.Count);
        }
示例#14
0
 public AIData(string Tag = null)
     : base(Tag)
 {
     Aggression          = new AggressionType();
     Confidence          = new ConfidenceType();
     EnergyLevel         = new Byte();
     Responsibility      = new Byte();
     Mood                = new MoodType();
     Unused              = new byte[3];
     Services            = new ServicesFlag();
     Teaches             = new Skills();
     MaxTrainingLevel    = new Byte();
     Assistance          = new AssistanceType();
     AggroRadiusBehavior = new AggroRadiusBehaviorFlags();
     AggroRadius         = new Int32();
 }
示例#15
0
    public void ChangeMood(MoodType _moodType, int _seriousness)                        // от "серьезности" зависит количество полученного/утраченного настроения
    {
        int _moodDelta = Random.Range(_seriousness / 3, _seriousness) * (int)_moodType; // на сколько изменится настроение

        mood += _moodDelta;
        mood  = Mathf.Clamp(mood, 0, 100);

        if (mood <= 0)
        {
            Game.GameIsOver();
        }

        MoodChange?.Invoke(_moodDelta);

        ChangeIncome(_moodDelta);
    }
示例#16
0
    IEnumerator CalcMood()
    {
        float updateTime = 2.0f;
        float cur        = 0f;

        while (true)
        {
            int      cnt     = 0;
            float [] samples = new float[Spectrums.Count];
            while (updateTime > cur)
            {
                cur += Time.deltaTime;
                for (int j = 0; j < Spectrums.Count; j++)
                {
                    samples [j] += Spectrums [j].CurrentValue;
                }
                cnt++;
                yield return(null);
            }
            float [] rate = new float[Spectrums.Count];
            for (int i = 0; i < Spectrums.Count; i++)
            {
                rate [i] = ((samples [i] * Spectrums [i].Enhance) / (float)cnt) / Spectrums [i].OffsetValue;
            }

            if (rate [2] > 10.0f)
            {
                Mood = MoodType.Hyper;
            }
            else if (rate [1] > 2.5f)
            {
                Mood = MoodType.Talk;
            }
            else
            {
                Mood = MoodType.Calm;
            }

            if (HCINetwork.Instance.IsConnected)
            {
                HCINetwork.Instance.SendInt((int)Mood);
            }
            yield return(null);

            cur = 0f;
        }
    }
示例#17
0
    public void CheckMoodType()
    {
        MoodType curMood = MoodType.Init;

        if (mood >= 70f)
        {
            curMood = MoodType.Happy;
        }
        else if (mood >= 40f)
        {
            curMood = MoodType.Neutral;
        }
        else
        {
            curMood = MoodType.Annoyed;
        }

        if (curMood != lastMood)
        {
            switch (curMood)
            {
            case MoodType.Happy:
                iHappy.gameObject.SetActive(true);
                iNeutral.gameObject.SetActive(false);
                iAnnoyed.gameObject.SetActive(false);
                break;

            case MoodType.Neutral:
                iHappy.gameObject.SetActive(false);
                iNeutral.gameObject.SetActive(true);
                iAnnoyed.gameObject.SetActive(false);
                break;

            case MoodType.Annoyed:
                iHappy.gameObject.SetActive(false);
                iNeutral.gameObject.SetActive(false);
                iAnnoyed.gameObject.SetActive(true);
                break;

            default:
                break;
            }
        }

        lastMood = curMood;
    }
示例#18
0
    public async Task ShouldRaiseEventWithStateArg(MoodType moodType)
    {
        var context = A.Dummy <INavigationContext>();

        context.State.PersonName      = "alpha";
        context.State.ProtagonistName = "alpha";
        context.State.MoodType        = MoodType.Happy;

        var invoker = new TestInvoker(context);

        var sut = new MoodNode(MoodType.Happy);

        await sut.EnterAsync(context, moodType);

        invoker.ShouldContainSingle <IMoodChangeEvent>(
            i => i.Should().BeEquivalentTo(new
        {
            MoodType      = moodType,
            PersonName    = "alpha",
            IsProtagonist = true
        })
            );
    }
示例#19
0
        /// <summary>
        /// Publishes user mood information
        /// </summary>
        public IXmppSession PublishMood(MoodType mood, string description)
        {
            Mood instance = new Mood();

            instance.MoodType   = mood;
            instance.Text       = description;

            this.PublishMood(new XmppUserMoodEvent(null, instance));

            return this;
        }
示例#20
0
 public AIData(AggressionType Aggression, ConfidenceType Confidence, Byte EnergyLevel, Byte Responsibility, MoodType Mood, Byte[] Unused, ServicesFlag Services, Skills Teaches, Byte MaxTrainingLevel, AssistanceType Assistance, AggroRadiusBehaviorFlags AggroRadiusBehavior, Int32 AggroRadius)
 {
     this.Aggression          = Aggression;
     this.Confidence          = Confidence;
     this.EnergyLevel         = EnergyLevel;
     this.Responsibility      = Responsibility;
     this.Mood                = Mood;
     this.Unused              = Unused;
     this.Services            = Services;
     this.Teaches             = Teaches;
     this.MaxTrainingLevel    = MaxTrainingLevel;
     this.Assistance          = Assistance;
     this.AggroRadiusBehavior = AggroRadiusBehavior;
     this.AggroRadius         = AggroRadius;
 }
示例#21
0
 /// <summary>
 /// Adds a new mood to the user.
 /// </summary>
 /// <param name="moodType">Which MoodType to add. Duplicates will not be stored.</param>
 public void AddMood(MoodType moodType)
 {
     CurrentMood.Add(moodType);
 }
示例#22
0
 public MoodChangeEvent(string personName, bool isProtagonist, MoodType emotionType)
 => (PersonName, IsProtagonist, MoodType) = (personName, isProtagonist, emotionType);
示例#23
0
        private void InsertMoodSound(MoodsSoundSource sound, TimeOfDaySound timeofDay, MoodType type)
        {
            MoodSoundKey key = new MoodSoundKey()
            {
                TimeOfDay = timeofDay, Type = type
            };
            List <IUtopiaSoundSource> soundList;

            if (this.MoodsSounds.TryGetValue(key, out soundList) == false)
            {
                soundList = new List <IUtopiaSoundSource>();
                this.MoodsSounds.Add(key, soundList);
            }
            soundList.Add(sound);
        }
示例#24
0
 /// <summary>
 /// Adds a new mood to the user.
 /// </summary>
 /// <param name="moodType">Which MoodType to add. Duplicates will not be stored.</param>
 public void AddMood(MoodType moodType)
 {
     CurrentMood.Add(moodType);
 }