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); }
public EatResponse OnRelease(int id) { if (id != 0) { return(EatResponse.NotEaten); } EatResponse result = this.OnRelease(); this.pressScreenPosition = -Vector2.one; return(result); }
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; }