Пример #1
0
 public void GenerateMission(MissionDetails missionDetails, UIInteraction uiInteractions, MainMenueController mainMenueControll, General general = null)
 {
     this.MissionDetails    = missionDetails;
     this.UIInteractions    = uiInteractions;
     this.MainMenueControll = mainMenueControll;
     this.MissionGeneral    = general;
 }
Пример #2
0
        public async Task <IActionResult> PutMissionDetails([FromRoute] int id, [FromBody] MissionDetails missionDetails)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

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

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

            return(NoContent());
        }
Пример #3
0
    public void SelectMission(int MissionNumber, bool NoMissions)
    {
        GameObject Grablog;
        GameObject DetailText;
        GameObject MissionDetails;

        MissionDetails = GameObject.Find("ActiveMissionDetails");
        DetailText     = GameObject.Find("MissionInfo");
        Grablog        = GameObject.Find("GameObject");

        Grablog.GetComponent <VoiceRecognitionSystem>().ActiveMission   = MissionNumber;
        Grablog.GetComponent <VoiceRecognitionSystem>().MissionSelected = true;

        if (NoMissions == false)
        {
            DetailText.GetComponent <Text>().text = Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].type + " " + Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].KillCountstring
                                                    + Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].Target
                                                    + "\nGo to " + Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].DestinationSystem +
                                                    "\nReward: " + Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].reward.ToString("n0") + " Cr" +
                                                    "\nFaction: " + Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].Faction +
                                                    "\nReputation: " + Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].Reputation +
                                                    "\nDistance: " + Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].distance + " Ly";

            MissionDetails.GetComponent <Text>().text = Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].type + " " +
                                                        Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].KillCountstring + " " +
                                                        Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].Target;
            File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "Low/Remlok/Intelligent HUD/RemlokCommand.txt", Grablog.GetComponent <GrabLog>().ActiveMissionList[MissionNumber].DestinationSystem);
        }
        else
        {
            DetailText.GetComponent <Text>().text = "You only have " + Grablog.GetComponent <GrabLog>().ActiveMissionList.Count + " Missions!";
        }
    }
        public void onMissionActivated(MissionDetails missionDetails, GameObject availablePanel)
        {
            //remove the mission from available missions
            removeAvailableMission(missionDetails);

            //remove the available mission from view
            Destroy(availablePanel);

            //update the stored available mission json
            saveAvailableMissions();

            //get the current time in UTC
            DateTime timeNow = DateTime.UtcNow;

            //add the mission time to the current time to get the mission complete time
            DateTime completionTime = timeNow.AddSeconds(missionDetails.missionTime);

            //set up the deatils for the active mission (an object that can be serialized)
            ActiveMissionDetails activeMissionDetails = new ActiveMissionDetails(missionDetails, completionTime);

            //NEED TEAM INDEX BEFORE HERE
            int teamIndex = activeMissions.missions.Count;

            //add the active mission to storage
            addActiveMission(teamIndex, activeMissionDetails);

            //Debug.Log(activeMissionDetails.ToString());

            //create a new panel in the active panel view
            createActiveMissionPanel(teamIndex);
        }
Пример #5
0
 public void Reset()
 {
     this.MissionDetails    = null;
     this.UIInteractions    = null;
     this.MainMenueControll = null;
     this.MissionGeneral    = null;
     this.Units             = new List <Unit>();
 }
        private void removeAvailableMission(MissionDetails missionDetails)
        {
            //remove details to the AvailableMissions object
            availableMissions.missions.Remove(missionDetails);

            //save the current available missions object to storage
            //eventually move this to some type of saving functionality
            saveAvailableMissions();
        }
Пример #7
0
    public void Initialize(MissionDetails missionDetails, UIInteraction uiInteractions, General general = null, List <Unit> units = null)
    {
        this.MissionDetails = missionDetails;
        this.MissionGeneral = general;
        this.Units          = units ?? new List <Unit>();

        this.UIInteractions = uiInteractions;
        this.missionQueue   = GameObject.Find("ReferenceShare").GetComponent <ReferenceShare>().MissionQueue;
    }
Пример #8
0
        public static MissionDetails generateNewMission(DestinationDetails destinationDetails)
        {
            //retrieve the matching mission definition (currently always exploration for testing)
            MissionDefinition missionDefinition = getMissionDefinition(MissionDefinition.MissionType.EXPLORATION);

            //generate mission information
            MissionDetails missionDetails = generateMissionDetails(missionDefinition, destinationDetails);

            return(missionDetails);
        }
Пример #9
0
        public async Task <IActionResult> PostMissionDetails([FromBody] MissionDetails missionDetails)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.missions.Add(missionDetails);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetMissionDetails", new { id = missionDetails.id }, missionDetails));
        }
        public void generateNewMission()
        {
            //get the planet information
            DestinationDetails destinationDetails = addressManager.getDestinationDetails();

            //generate a new set of mission details
            MissionDetails missionDetails = MissionUtil.generateNewMission(destinationDetails);

            //Debug.Log(missionDetails.ToString());

            //store the new available mission to json
            addAvailableMission(missionDetails);

            //create a panel displaying the created missions details
            createAvailableMissionPanel(missionDetails);
        }
        public void createAvailableMissionPanel(MissionDetails missionDetails)
        {
            //converts the string address to an integer array to be used with the sprite list
            int[] address = DestinationUtil.convertStringKeyToAddress(missionDetails.destinationDetails.destinationDefinition.address);

            //instantiating the new available mission panel and adding to the view
            Transform availablePanel = Instantiate(availableMissionPanel, Vector3.zero, Quaternion.identity).transform;

            availablePanel.SetParent(availableMissionView, false);

            //Set the panel title to something meaningful
            string title = missionDetails.missionDefinition.missionType.ToString() + " on " + missionDetails.destinationDetails.destinationDefinition.designation;

            availablePanel.Find("Title").GetComponent <Text>().text = title;

            //using the convert string address set all the address symbol images
            availablePanel.Find("Symbol1").GetComponent <Image>().sprite = symbolSprites[address[0]];
            availablePanel.Find("Symbol2").GetComponent <Image>().sprite = symbolSprites[address[1]];
            availablePanel.Find("Symbol3").GetComponent <Image>().sprite = symbolSprites[address[2]];
            availablePanel.Find("Symbol4").GetComponent <Image>().sprite = symbolSprites[address[3]];
            availablePanel.Find("Symbol5").GetComponent <Image>().sprite = symbolSprites[address[4]];
            availablePanel.Find("Symbol6").GetComponent <Image>().sprite = symbolSprites[address[5]];
            availablePanel.Find("Symbol7").GetComponent <Image>().sprite = symbolSprites[address[6]];

            //converting the mission time to a more readable text
            System.TimeSpan time        = System.TimeSpan.FromSeconds(missionDetails.missionTime);
            string          missionTime = "Mission Time: ";

            missionTime += time.Days > 0 ? time.Days + "d " : "";
            missionTime += time.Hours > 0 ? time.Hours + "h " : "";
            missionTime += time.Minutes > 0 ? time.Minutes + "m " : "";
            missionTime += time.Seconds > 0 ? time.Seconds + "s" : "";

            //set the mission time text on the panel
            availablePanel.Find("MissionTime").GetComponent <Text>().text = missionTime;

            //set the pass rate text on the panel
            availablePanel.Find("PassRate").GetComponent <Text>().text = "Pass Chance: " + (missionDetails.passRate * 100) + "%";

            //add a new listener to the selection button for the panel which calls the onMissionActivated function
            //passing in the mission details for this mission
            availablePanel.Find("SelectButton").GetComponent <Button>().onClick.AddListener(() => { onMissionActivated(missionDetails, availablePanel.gameObject); });
        }
Пример #12
0
    private void InitializeWaves()
    {
        int currentMissionId = PlayerPrefs.GetInt("mission_number");

        MissionDetails missionDetails = GetComponent <MissionDetails>();

        if (missionDetails != null)
        {
            Waves = missionDetails.Waves;

            Debug.Log("Loading Mission " + missionDetails.Name + " : " + missionDetails.Description + " num waves = " + Waves.Count);
        }

        if (endlessSingleEnemyWave != EnemyType.Unknown)
        {
            Waves = new List <Wave> {
                new Wave(new List <WaveEvent>
                {
                    WaveEvent.ShortDelay(),
                    WaveEvent.SpawnSquadron(new Squadron(endlessSingleEnemyWave, SpawnPattern.Center)),
                })
            };
        }
    }
Пример #13
0
    public void UpdateMissionList()
    {
        GameObject MissionDetails;
        GameObject MissionImage;
        GameObject MissionActive;
        GameObject InSystemMissions;

        // Debug.Log(ActiveMissionCount);
        ActiveMissionCount = ActiveMissionList.Count;

        if (ActiveMissionCount < 3)
        {
            for (int i = ActiveMissionCount; i < 3; i++)
            {
                Debug.Log(ActiveMissionCount + " Active Missions");
                // Debug.Log("Active Missions are " + ActiveMissionCount);
                MissionDetails = GameObject.Find("Mission" + i);
                MissionImage   = GameObject.Find("MissionImage" + i);
                MissionImage.GetComponent <Image>().overrideSprite = Blank;
                MissionDetails.GetComponent <Text>().text          = "No mission available";
            }
        }

        if (ActiveMissionCount > 3)
        {
            ActiveMissionCount = 3;
        }

        for (int i = 0; i < ActiveMissionCount; i++)
        {
            TimeSpan countdown = ActiveMissionList[i].Expiry - DateTime.Now;

            MissionDetails = GameObject.Find("Mission" + i);
            MissionImage   = GameObject.Find("MissionImage" + i);
            MissionActive  = GameObject.Find("MissionActive" + i);
            Active         = Resources.Load <Sprite>("Active");
            Blank          = Resources.Load <Sprite>("Blank");


            if (ActiveMissionList[i].active == true)
            {
                MissionActive.GetComponent <Image>().overrideSprite = Active;
            }
            else
            {
                MissionActive.GetComponent <Image>().overrideSprite = Blank;
            }

            Mission = Resources.Load <Sprite>(ActiveMissionList[i].type);
            MissionImage.GetComponent <Image>().overrideSprite = Mission;

            MissionDetails.GetComponent <Text>().text = ActiveMissionList[i].type + " " + ActiveMissionList[i].Target + " " + ActiveMissionList[i].TargetType_Localised +
                                                        " System: " + ActiveMissionList[i].DestinationSystem + " - " + ActiveMissionList[i].DestinationStation + " " + ActiveMissionList[i].distance.ToString("f1") + " ly " +
                                                        "\n" + ActiveMissionList[i].reward.ToString("n0") + "cr " + countdown.Hours.ToString() + " hrs " + countdown.Minutes.ToString() + " Minutes " + countdown.Seconds.ToString() + " Secs remaining" +
                                                        "\nRep = " + ActiveMissionList[i].Reputation + " Inf = " + ActiveMissionList[i].Influence;
            Debug.Log("Popup Status - " + MissionPopup + " Mission Diatance - " + ActiveMissionList[i].distance);
            if (ActiveMissionList[i].distance == 0 && MissionPopup == 0)
            {
                InSystemMissionsCount = InSystemMissionsCount + 1;
            }
        }
        InSystemMissions = GameObject.Find("InSystemMissions");
        MissionPopup     = 1;
        InSystemMissions.GetComponent <Text>().text = "There are " + InSystemMissionsCount + " Missions in this system";
        SetActiveMission();
    }