예제 #1
0
        public ActionResult Create(Event eventOne)
        {
            try
            {
                // TODO: Add insert logic here
                var userid = GetAppId();
                var camper = GetPlayerByAppId(userid);
                eventOne.CamperId = camper.CamperId;
                string dateofevent = GetDateFormat(eventOne.DateOfEvent);
                string timeofevent = GetTimeFormat(eventOne.TimeOfEvent);
                eventOne.TimeOfEvent    = timeofevent;
                eventOne.DateOfEvent    = dateofevent;
                eventOne.CurrentCampers = 1;
                db.Event.Add(eventOne);
                db.SaveChanges();
                var       eventid     = db.Event.Include("Camper").Include("ApplicationUser").Where(e => e.EventName == eventOne.EventName).Select(e => e.EventId).FirstOrDefault();
                CampEvent camperEvent = new CampEvent();
                camperEvent.CamperId = camper.CamperId;
                camperEvent.EventId  = eventid;
                db.CampEvent.Add(camperEvent);
                db.SaveChanges();

                return(RedirectToAction("MyEvents", "Events"));
            }
            catch
            {
                return(RedirectToAction("Details", "Players"));
            }
        }
예제 #2
0
 public void displayEvent(CampEvent e)
 {
     eventText.text = e.message;
     foodVal.text   = e.food.ToString();
     woodVal.text   = e.wood.ToString();
     waterVal.text  = e.water.ToString();
 }
예제 #3
0
 public ActionResult JoinEvent(int id, Event joinevent)
 {
     try
     {
         var userid   = GetAppId();
         var camper   = GetPlayerByAppId(userid);
         var eventnow = GetEventById(id);
         if (eventnow.IsFull == false && eventnow.CurrentCampers != eventnow.MaximumCampers)
         {
             eventnow.CurrentCampers += 1;
             if (eventnow.CurrentCampers == eventnow.MaximumCampers)
             {
                 eventnow.IsFull = true;
             }
             CampEvent campEvent = new CampEvent();
             campEvent.CamperId = camper.CamperId;
             campEvent.EventId  = eventnow.EventId;
             db.CampEvent.Add(campEvent);
             db.SaveChanges();
             return(RedirectToAction("MyEvents", "Events"));
         }
         else
         {
             MessageBox.Show("Sorry, Event is full");
             return(RedirectToAction("MyEvents", "Events"));
         }
     }
     catch (Exception)
     {
         return(View());
     }
 }
예제 #4
0
 void Start()
 {
     day += 1;
     if (day == 30)
     {
         //Win Game
     }
     if (day == 0)
     {
         firstDay();
     }
     else
     {
         CampEvent ce = consumeResources();
         campEvents = EventSystem.GetCampEvents(day, 5, 0);
         campEvents.Add(ce);
         foreach (CampEvent camp in campEvents)
         {
             ResourceInfo.addFoodStock(camp.food);
             ResourceInfo.addWaterStock(camp.water);
             ResourceInfo.addWoodStock(camp.wood);
         }
         increaseStamina();
         displayCampEvents();
         updateUI();
     }
 }
예제 #5
0
 public void displayEvents(List <CampEvent> e)
 {
     events = e;
     if (events.Count > 0)
     {
         gameObject.SetActive(true);
         CampEvent currentEvent = events[0];
         events.Remove(currentEvent);
         displayEvent(currentEvent);
     }
 }
예제 #6
0
    static public List <CampEvent> GetCampEvents(int day, int maxEvents = 20, int minEvents = 0)
    {
        UnityEngine.Random.InitState(day);
        int numEvents           = Math.Max(minEvents, (int)(UnityEngine.Random.value * maxEvents));
        List <CampEvent> events = new List <CampEvent>(numEvents);

        for (int i = 0; i < numEvents; ++i)
        {
            events.Add(CampEvent.GenerateRandom());
        }
        return(events);
    }
예제 #7
0
        private void Read(Stream stream)
        {
            using (var reader = new BinaryReader(stream, Encoding.Default, leaveOpen: true))
            {
                numEvents = reader.ReadInt16();

                campEvents = new CampEvent[numEvents];
                for (int i = 0; i < numEvents; i++)
                {
                    CampEvent thisEvent = new CampEvent();
                    thisEvent.id    = reader.ReadInt16();
                    thisEvent.flags = reader.ReadInt16();
                    campEvents[i]   = thisEvent;
                }
            }
        }
예제 #8
0
 private void handleNext()
 {
     if (events.Count > 0)
     {
         CampEvent currentEvent = events[0];
         events.Remove(currentEvent);
         displayEvent(currentEvent);
     }
     else
     {
         if (ResourceInfo.getFoodStock() < 0 || ResourceInfo.getWaterStock() < 0 || CharInfo.characters.Count == 0)
         {
             CampController.day = -1;
             SceneManager.LoadScene("GameOver");
         }
         gameObject.SetActive(false);
     }
 }
예제 #9
0
    CampEvent consumeResources()
    {
        float foodModifier  = 1f;
        float waterModifier = 1f;

        foreach (Upgrade u in upgrades)
        {
            if (u.name == "Improve Storage")
            {
                foodModifier -= 0.2f;
            }
            if (u.name == "Improve Water Collection")
            {
                waterModifier -= 0.2f;
            }
        }
        CampEvent ce = new CampEvent();

        ce.food    = (int)Mathf.Round(-100f * foodModifier * CharInfo.characters.Count);
        ce.water   = (int)Mathf.Round(-100f * waterModifier * CharInfo.characters.Count);;
        ce.message = "Your characters consumed resources.";
        return(ce);
    }
예제 #10
0
    public static CampEvent GenerateRandom()
    {
        CampEvent     result = new CampEvent();
        CampEventType type   = (CampEventType)(UnityEngine.Random.value * Enum.GetNames(typeof(CampEventType)).Length);

        if (type == CampEventType.ADD_FOOD)
        {
            result.food    = Math.Max(minEffect, (int)((randomModifier * UnityEngine.Random.value) * ResourceInfo.getFoodStock()));
            result.message = TextReader.GetDialog("AddFood");
        }
        else if (type == CampEventType.SUB_FOOD)
        {
            result.food    = -Math.Max(minEffect, (int)((randomModifier * UnityEngine.Random.value) * ResourceInfo.getFoodStock()));
            result.message = TextReader.GetDialog("SubFood");
        }
        else if (type == CampEventType.ADD_WATER)
        {
            result.water   = Math.Max(minEffect, (int)((randomModifier * UnityEngine.Random.value) * ResourceInfo.getWaterStock()));
            result.message = TextReader.GetDialog("AddWater");
        }
        else if (type == CampEventType.SUB_WATER)
        {
            result.water   = -Math.Max(minEffect, (int)((randomModifier * UnityEngine.Random.value) * ResourceInfo.getWaterStock()));
            result.message = TextReader.GetDialog("SubWater");
        }
        else if (type == CampEventType.ADD_WOOD)
        {
            result.wood    = Math.Max(minEffect, (int)((randomModifier * UnityEngine.Random.value) * ResourceInfo.getWoodStock()));
            result.message = TextReader.GetDialog("AddWood");
        }
        else if (type == CampEventType.SUB_WOOD)
        {
            result.wood    = -Math.Max(minEffect, (int)((randomModifier * UnityEngine.Random.value) * ResourceInfo.getWoodStock()));
            result.message = TextReader.GetDialog("SubWood");
        }
        return(result);
    }