Exemplo n.º 1
0
    public void OnEat(DinoAiData.Eat.ReceivedRequest request)
    {
        var payload = request.Payload;

        _curFood = attrsWriter.Data.CurrentFood;
        float resTaken = 0;

        if (_curFood > payload.ResNeed)
        {
            resTaken  = payload.ResNeed;
            _curFood -= payload.ResNeed;
        }
        else
        {
            resTaken = _curFood;
            _curFood = 0;
        }

        var update = new EatResponse()
        {
            ResTaken = resTaken
        };

        cmdReceiver.SendEatResponse(request.RequestId, update);
        //Debug.Log("OnHarvest ResourceNeed<"+payload.ResourcesNeed+"> Harvester<"+payload.Harvester.Id+">");

        var update2 = new DinoAttrs.Update
        {
            CurrentFood = _curFood
        };

        attrsWriter.SendUpdate(update2);
    }
Exemplo n.º 2
0
        public EatResponse OnRelease(int id)
        {
            if (id != 0)
            {
                return(EatResponse.NotEaten);
            }
            EatResponse result = this.OnRelease();

            this.pressScreenPosition = -Vector2.one;
            return(result);
        }
Exemplo n.º 3
0
		public EatResponse OnEvent(EventId id, object cookie)
		{
			EatResponse result = EatResponse.NotEaten;
			if (id != EventId.ScreenClosing)
			{
				if (id == EventId.MissionCompleteScreenDisplayed)
				{
					Service.EventManager.UnregisterObserver(this, EventId.MissionCompleteScreenDisplayed);
					Service.EventManager.RegisterObserver(this, EventId.ScreenClosing, EventPriority.Default);
					Service.ScreenController.AddScreen(new RateAppScreen());
				}
			}
			else
			{
				RateAppScreen rateAppScreen = cookie as RateAppScreen;
				if (rateAppScreen != null)
				{
					Service.EventManager.UnregisterObserver(this, EventId.ScreenClosing);
					this.OnNotificationScreenClosed(rateAppScreen.ClosedWithConfirmation);
				}
			}
			return result;
		}