コード例 #1
0
        public ActionResult EditExperiment(Experiment exp)
        {
            ActivityData tempExp = rsContext.getActivity(exp.ActivityName);

            if (tempExp == null)
            {
                ExperimentData expData = Adapting.getExperimentAsData(exp);
                rsContext.addActivity(expData);
                exp.activities = new List <Activity>();
                exp            = Adapting.getExperimentFromData(expData);
            }
            else
            {
                if (tempExp is ExperimentData)
                {
                    ExperimentData expData = (ExperimentData)tempExp;
                    exp = Adapting.getExperimentFromData(expData);
                }
                else
                {
                    throw new Exception("you try to create an activity with the same name of an alredy existing activity");
                }
            }

            return(View(exp));
        }
コード例 #2
0
ファイル: BaseTestClass.cs プロジェクト: turn11/gpdotnet
        public IData Create_Category_TrainingDataSet()
        {
            var nds = trainingDataSet.Select(x => new double[] { x[0], x[1], x[4] }).ToArray();
            var d   = new ExperimentData(nds, null, constants);

            return(d);
        }
コード例 #3
0
        private int activeContracts(ExperimentData expData = null, CelestialBody body = null)
        {
            int ret = 0;

            if (ContractSystem.Instance == null)
            {
                return(0);
            }
            if (ContractSystem.Instance.Contracts == null)
            {
                return(0);
            }
            foreach (Contract con in ContractSystem.Instance.Contracts)
            {
                KeminiExperimentContract keminiContract = con as KeminiExperimentContract;
                if (keminiContract != null && (keminiContract.ContractState == Contract.State.Active ||
                                               keminiContract.ContractState == Contract.State.Offered) &&
                    (expData == null || keminiContract.experiment != null) &&
                    (body == null || keminiContract.targetBody != null) &&
                    ((expData == null || expData.getId() == keminiContract.experiment.getId()) &&
                     (body == null || body.theName == keminiContract.targetBody.theName)))
                {
                    ret += 1;
                }
            }
            return(ret);
        }
コード例 #4
0
        public void Export(ExperimentData experiment, FileInfo fileInfo)
        {
            if (experiment == null)
            {
                return;
            }

            if (fileInfo == null)
            {
                throw new ArgumentNullException(nameof(fileInfo));
            }

            try
            {
                if (!fileInfo.Directory.Exists)
                {
                    Directory.CreateDirectory(fileInfo.Directory.FullName);
                }

                StringBuilder sb = new StringBuilder();
                ToCsv(experiment, sb);

                File.WriteAllText(fileInfo.FullName, sb.ToString());
            }
            catch (Exception ex)
            {
                Trace.Write(ex);
            }
        }
コード例 #5
0
        // GET: Teacher/EditExperiment
        public ActionResult EditExperiment(long ExpID)
        {
            ExperimentData expData = (ExperimentData)rsContext.getActivity(ExpID);
            Experiment     exp     = Adapting.getExperimentFromData(expData);

            return(View(exp));
        }
コード例 #6
0
        private int activeAndDoneContracts(ExperimentData expData = null, CelestialBody body = null)
        {
            int ret = 0;

            if (ContractSystem.Instance == null)
            {
                return(0);
            }
            if (ContractSystem.Instance.Contracts == null)
            {
                return(0);
            }
            var contracts = ContractSystem.Instance.Contracts;

            for (int idx = 0, count = contracts.Count; idx < count; idx++)
            {
                var con = contracts[idx];
                KeminiExperimentContract keminiCon = con as KeminiExperimentContract;
                if (keminiCon != null && (keminiCon.ContractState == Contract.State.Active ||
                                          keminiCon.ContractState == Contract.State.Offered ||
                                          keminiCon.ContractState == Contract.State.Completed) &&
                    (expData == null || keminiCon.experiment != null) &&
                    (body == null || keminiCon.targetBody != null) &&
                    ((expData == null || expData.getId() == keminiCon.experiment.getId()) &&
                     (body == null || body.bodyName == keminiCon.targetBody.bodyName)))
                {
                    ret += 1;
                }
            }
            return(ret);
        }
コード例 #7
0
        public ActionResult SaveAmericanQuestion(AmericanQuestion ques)
        {
            TeacherData teacherData = rsContext.getTeacher(User.Identity.Name);

            if (ques.expID == -1)
            {
                ques.RoomId = teacherData.RoomId;
                AmericanQuestionData aqData = Adapting.getAmericanQuestionAsData(ques);
                rsContext.addActivity(aqData);
                rsContext.SaveChanges();
                return(RedirectToDashboard());
            }

            else
            {
                ques.RoomId = 0;
                AmericanQuestionData aqData = Adapting.getAmericanQuestionAsData(ques);
                rsContext.addActivity(aqData);
                ExperimentData experimentData = (ExperimentData)rsContext.getActivity(ques.expID);
                aqData.experimentOrder = experimentData.activities.Count;
                experimentData.addStep(aqData);
                rsContext.SaveChanges();
                return(RedirectToAction("EditExperiment", new { ExpID = ques.expID }));
            }
        }
コード例 #8
0
        /// <summary>
        /// Creating experiment tree from experiment directory :)
        /// </summary>
        /// <param name="rootPath">Absolute path to the root experiment folder</param>
        /// <param name="selectedPath">Relative (including root) path to the selected experiment</param>
        /// <param name="loadedPath">Relative (including root) path to the loaded experiment</param>
        public static Experiment Load(string rootPath, string selectedPath, string loadedPath)
        {
            var exp = new Experiment();

            exp.Path = rootPath;

            var expDataFileName = Directory.GetFiles(rootPath, "*" + ExperimentData.EXPERIMENT_DATA_POSTFIX).FirstOrDefault();

            if (!string.IsNullOrWhiteSpace(expDataFileName))
            {
                exp.Data = ExperimentData.Load(expDataFileName);
            }

            exp.Number = SysAdmin.ExtractExperimentNumberFromPath(rootPath);

            string selectedRoot = SysAdmin.GetRootDirectory(selectedPath);

            exp.IsOpen = selectedRoot.EndsWith(string.Format(@"#{0}\", exp.Number));

            string loadedRoot = SysAdmin.GetRootDirectory(loadedPath);

            exp.IsLoaded = loadedRoot.EndsWith(string.Format(@"#{0}\", exp.Number));

            string s1 = (selectedPath.Contains(selectedRoot) && !string.IsNullOrWhiteSpace(selectedRoot)) ? selectedPath.Replace(selectedRoot, "") : string.Empty;
            string s2 = (loadedPath.Contains(loadedRoot) && !string.IsNullOrWhiteSpace(loadedRoot)) ? loadedPath.Replace(loadedRoot, "") : string.Empty;

            exp.BuildTree(rootPath, s1, s2);

            return(exp);
        }
コード例 #9
0
        public ActionResult StudentsProgress(ActiveExperiment ae, bool flag = false)
        {
            ActiveExperimentData aeData  = Adapting.getActiveExperimentAsData(ae);
            ExperimentData       expData = (ExperimentData)rsContext.getActivity(ae.ExpID);

            if (flag == false)
            {
                rsContext.addActiveExperiment(aeData);
            }
            expData.ActiveExpID = aeData.ActiveExpID;
            ae.ActiveExpID      = aeData.ActiveExpID;
            rsContext.SaveChanges();
            TempData["NumberOfExperimentSteps"]   = expData.activities.Count;
            TempData["DifferenceBetweenMeasures"] = 0;
            TempData["NumOfMeasures"]             = 0;
            foreach (ActivityData act in expData.activities)
            {
                if (act is MeasurementData)
                {
                    MeasurementData measurement = (MeasurementData)act;
                    TempData["DifferenceBetweenMeasures"] = measurement.DifferenceBetweenMeasures;
                    TempData["NumOfMeasures"]             = measurement.NumOfMeasures;
                }
            }
            return(View("StudentsProgress", ae));
        }
コード例 #10
0
        // GET: Student/Experiment
        public ActionResult Experiment(long expId, string studentPhone, long studentRoom, int currActivityIndex)
        {
            // Update group Progress
            StudentData student = rsContext.getStudent(studentPhone, studentRoom);
            GroupData   group   = rsContext.getGroupById(student.GroupID);

            if (group == null)
            {
                return(RedirectToAction("Wait", new StudentLoginViewModel(studentRoom, studentPhone)));
            }
            group.Progress++;
            rsContext.SaveChanges();

            ExperimentData expData = (ExperimentData)rsContext.getActivity(expId);

            if (currActivityIndex < expData.activities.Count)
            {
                ActivityData currActivityData = expData.activities.Single(s => s.experimentOrder == currActivityIndex);
                return(RedirectToAction(currActivityData.Type, (new { success = true, expId = expId, currActivityIndex = currActivityIndex, numOfActivities = expData.activities.Count, activityId = currActivityData.id, studentPhone = studentPhone, studentRoom = studentRoom })));
            }
            else
            {
                return(RedirectToAction("DisplaySubmittedExperiment", new { flag = expData.activities.ElementAt(currActivityIndex - 1).Type == "Measurement" }));
            }
        }
 private bool protovesselHasDoneExperiment(ProtoVessel pv, ExperimentData experiment, CelestialBody targetBody)
 {
     for (int partIdx = 0, partCount = pv.protoPartSnapshots.Count; partIdx < partCount; partIdx++)
     {
         var part = pv.protoPartSnapshots[partIdx];
         for (int moduleIdx = 0, moduleCount = part.modules.Count; moduleIdx < moduleCount; moduleIdx++)
         {
             var module = part.modules[moduleIdx];
             if (module.moduleName == "ExperimentStorage")
             {
                 ConfigNode moduleConfi = module.moduleValues;
                 ConfigNode expData     = moduleConfi.GetNode(ExperimentData.CONFIG_NODE_NAME);
                 if (expData != null)
                 {
                     if (expData.GetValue(ExperimentData.TYPE_VALUE) == experiment.getType() &&
                         expData.GetValue(ExperimentData.STATE_VALUE) == ExperimentState.FINALIZED.ToString())
                     {
                         return(true);
                     }
                 }
             }
         }
     }
     return(false);
 }
コード例 #12
0
 protected ExperimentStep(ExperimentData exp, string type, string name, int index = 0)
 {
     this.exp = exp;
     this.type = type;
     this.name = name;
     this.index = index;
 }
コード例 #13
0
//    public void AddSuccess()
//    {
//        currentData.successTime.Add(System.DateTime.Now.Millisecond + System.DateTime.Now.Second * 1000 + System.DateTime.Now.Minute * 60 * 1000 + System.DateTime.Now.Minute * 60 * 60 * 1000);
//        currentData.successes+=1;
//    }
//
//    public void AddMiss()
//    {
//        currentData.missTime.Add(System.DateTime.Now.Millisecond + System.DateTime.Now.Second * 1000 + System.DateTime.Now.Minute * 60 * 1000 + System.DateTime.Now.Minute * 60 * 60 * 1000);
//        currentData.misses+=1;
//    }

    public void SetEnd()
    {
        DataList dataList = ReadDataListFromAsset();

        currentData            = dataList.data [dataList.data.Count - 1];
        currentData.endingTime = System.DateTime.Now.Millisecond + System.DateTime.Now.Second * 1000 + System.DateTime.Now.Minute * 60 * 1000 + System.DateTime.Now.Hour * 60 * 60 * 1000;
        //AssetDatabase.SaveAssets();
    }
コード例 #14
0
        // GETPOST: Teacher/SaveExperiment
        public ActionResult SaveExperiment(long ExpId)
        {
            TeacherData    teacherData    = rsContext.getTeacher(User.Identity.Name);
            ExperimentData experimentData = (ExperimentData)rsContext.getActivity(ExpId);

            rsContext.SaveChanges();
            return(RedirectToDashboard());
        }
コード例 #15
0
 internal void showDialog(List<ExperimentStorage> targets, ExperimentData experimentData)
 {
     NE_Helper.log("start");
     this.targets = targets;
     exp = experimentData;
     NE_Helper.log("init done");
     windowID = WindowCounter.getNextWindowID();
     showGui = true;
 }
 protected override void OnLoad(ConfigNode node)
 {
     int bodyID = int.Parse(node.GetValue(KEESExperimentContract.TARGET_BODY));
     foreach (var body in FlightGlobals.Bodies)
     {
         if (body.flightGlobalsIndex == bodyID)
             targetBody = body;
     }
     experiment = ExperimentData.getExperimentDataFromNode(node.GetNode(ExperimentData.CONFIG_NODE_NAME));
 }
コード例 #17
0
        public ActionResult SaveImage(Image image)
        {
            ExperimentData experimentData = (ExperimentData)rsContext.getActivity(image.expID);
            ImageData      imageData      = Adapting.getImageAsData(image);

            imageData.experimentOrder = experimentData.activities.Count;
            experimentData.addStep(imageData);
            rsContext.SaveChanges();
            return(RedirectToAction("EditExperiment", new { ExpID = image.expID }));
        }
コード例 #18
0
        public ActionResult SaveInstruction(Instruction instruction)
        {
            ExperimentData  experimentData  = (ExperimentData)rsContext.getActivity(instruction.expID);
            InstructionData instructionData = Adapting.getInstructionAsData(instruction);

            instructionData.experimentOrder = experimentData.activities.Count;
            experimentData.addStep(instructionData);
            rsContext.SaveChanges();
            return(RedirectToAction("EditExperiment", new { ExpID = instruction.expID }));
        }
コード例 #19
0
        // GET: Student/GroupCreation
        public ActionResult GroupCreation(long expId, string studentPhone, long studentRoom)
        {
            ExperimentData       expData = (ExperimentData)rsContext.getActivity(expId);
            ActiveExperimentData aeData  = rsContext.getActiveExperiment(expData.ActiveExpID);

            TempData["ActiveExpID"]  = aeData.ActiveExpID;
            TempData["StudentPhone"] = studentPhone;
            TempData["StudentRoom"]  = studentRoom;
            return(View());
        }
コード例 #20
0
        public ActionResult SaveVideo(Video video)
        {
            ExperimentData experimentData = (ExperimentData)rsContext.getActivity(video.expID);
            VideoData      videoData      = Adapting.getVideoAsData(video);

            videoData.experimentOrder = experimentData.activities.Count;
            experimentData.addStep(videoData);
            rsContext.SaveChanges();
            return(RedirectToAction("EditExperiment", new { ExpID = video.expID }));
        }
コード例 #21
0
 /// <summary>
 /// Sets the controls to the data stored in the given object.
 /// </summary>
 /// <param name="data">The data to set.</param>
 private void ApplyExperimentData(ExperimentData data)
 {
     m_clr_fore.SelectedColor = data.Foreground;
     m_clr_back.SelectedColor = data.Background;
     m_samples.Clear();
     if (data.Samples != null)
     {
         m_samples.AddRange(data.Samples.Values);
     }
 }
コード例 #22
0
 private bool setTargetExperiment(ExperimentData exp)
 {
     if (exp == null)
     {
         NE_Helper.log("Generate Contract: Experiment null");
         return(false);
     }
     NE_Helper.log("Generate Contract: Experiment: " + exp.getAbbreviation());
     this.experiment = exp;
     return(true);
 }
コード例 #23
0
        public ActionResult EditMeasurement(Measurement measurement)
        {
            ExperimentData  experimentData  = (ExperimentData)rsContext.getActivity(measurement.expID);
            MeasurementData measurementData = Adapting.getMeasurementAsData(measurement);

            measurementData.RoomId          = 0;
            measurementData.experimentOrder = experimentData.activities.Count;
            experimentData.addStep(measurementData);
            rsContext.SaveChanges();
            return(RedirectToAction("AddInstructionsForMeasures", new { MeasurementID = measurementData.id, NumOfParametersToMeasure = measurementData.NumOfParametersToMeasure }));
        }
コード例 #24
0
        protected override void OnLoad(ConfigNode node)
        {
            int bodyID = int.Parse(node.GetValue(KEESExperimentContract.TARGET_BODY));

            foreach (var body in FlightGlobals.Bodies)
            {
                if (body.flightGlobalsIndex == bodyID)
                {
                    targetBody = body;
                }
            }
            experiment = ExperimentData.getExperimentDataFromNode(node.GetNode(ExperimentData.CONFIG_NODE_NAME));
        }
コード例 #25
0
        public async Task <IActionResult> Update(ExperimentData experiment)
        {
            var experimentToUpdate = await _unitOfWork.experimentRepository.Get(experiment.Id.Value);

            experimentToUpdate.Time    = experiment.Time;
            experimentToUpdate.Comment = experiment.Comment;

            await _unitOfWork.SaveChangesAsync();

            var experimentToReturn = _mapper.Map <ExperimentData>(experimentToUpdate);

            return(Ok(experimentToReturn));
        }
コード例 #26
0
 public static ExperimentStep getExperimentStepFromConfigNode(ConfigNode node, ExperimentData exp)
 {
     if (node.name != CONFIG_NODE_NAME)
     {
         NE_Helper.logError("getExperimentStepFromConfigNode: invalid Node: " + node.name);
         return new ExperimentStep(exp, "", "");
     }
     int index = int.Parse(node.GetValue(INDEX_VALUE));
     string name = node.GetValue(NAME_VALUE);
     ExperimentStep step = createExperimentStep(node.GetValue(TYPE_VALUE), exp, name, index);
     step.load(node);
     return step;
 }
コード例 #27
0
 /// <summary>
 /// Updates the current color with the sample data and colours.
 /// </summary>
 /// <param name="sender">Event sender.</param>
 /// <param name="e">Event args.</param>
 private void Event_btn_updcolor_Click(object sender, RoutedEventArgs e)
 {
     if (!FullExperimentData())
     {
         MessageBox.Show("Please make sure every control has a value.", "Missing data",
                         MessageBoxButton.OK, MessageBoxImage.Warning);
     }
     else
     {
         ExperimentData data = CurrentExperimentData();
         data.Id = m_data[m_lstbx_colors.SelectedIndex].Id;
         m_data[m_lstbx_colors.SelectedIndex] = data;
     }
 }
        protected override void OnLoad(ConfigNode node)
        {
            int bodyID = NE_Helper.GetValueAsInt(node, KEESExperimentContract.TARGET_BODY);

            for (int idx = 0, count = FlightGlobals.Bodies.Count; idx < count; idx++)
            {
                var body = FlightGlobals.Bodies[idx];
                if (body.flightGlobalsIndex == bodyID)
                {
                    targetBody = body;
                }
            }
            experiment = ExperimentData.getExperimentDataFromNode(node.GetNode(ExperimentData.CONFIG_NODE_NAME));
        }
コード例 #29
0
    public void StartNewRecording(string type, bool leftHanded, int participantID)
    {
        currentData               = new ExperimentData();
        currentData.name          = "" + participantID + "_" + type;
        currentData.type          = type;
        currentData.leftHanded    = leftHanded;
        currentData.participantID = participantID;
        currentData.startingTime  = System.DateTime.Now.Millisecond + System.DateTime.Now.Second * 1000 + System.DateTime.Now.Minute * 60 * 1000 + System.DateTime.Now.Hour * 60 * 60 * 1000;

        DataList dataList = ReadDataListFromAsset();

        dataList.data.Add(currentData);
        //AssetDatabase.SaveAssets();
    }
コード例 #30
0
        public void ToCsv(ExperimentData data, StringBuilder sb)
        {
            if (data == null)
            {
                return;
            }

            if (sb == null)
            {
                sb = new StringBuilder();
            }

            sb.AppendLine("Weight,Second,Speed,Acceleration,Time,Date");

            data.Measurements.ToList().ForEach(meas => ToCsv(meas, sb));
        }
コード例 #31
0
        public async Task <IActionResult> Save(ExperimentData experiment)
        {
            var experimentToSave = _mapper.Map <Experiment>(experiment);

            experimentToSave.Task        = null;
            experimentToSave.TestSubject = null;


            _unitOfWork.experimentRepository.Add(experimentToSave);
            await _unitOfWork.SaveChangesAsync();

            var experimentToReturn = _mapper.Map <ExperimentData>(experimentToSave);

            experimentToReturn.Task        = experiment.Task;
            experimentToReturn.TestSubject = experiment.TestSubject;

            return(Ok(experimentToReturn));
        }
コード例 #32
0
ファイル: Model.cs プロジェクト: turn11/gpdotnet
        public void InitPersistedModel()
        {
            //gp panel
            if (Factory != null && Factory.Parameters != null)
            {
                var p = Factory.Parameters;

                //Input data
                //Inputs = ExpData.GetInputData(p.Constants);
                var rv      = ExpData.GetInputData();
                var dataSet = new ExperimentData(rv.train, rv.test, p.Constants);
                dataSet.SetExperiment(ExpData);
                Inputs = dataSet;

                //Calculate nonPersisted parameter properties
                Factory.Parameters.FeatureCount     = ExpData.GetEncodedColumnInputCount();
                Factory.Parameters.IsMultipleOutput = ExpData.GetEncodedColumnOutputCount() > 1;
            }
        }
コード例 #33
0
ファイル: Adapting.cs プロジェクト: aviadbi1/LabExplorer
        public static ExperimentData getExperimentAsData(Experiment exp)
        {
            ExperimentData expData = new ExperimentData();

            expData.ActivityName = exp.ActivityName;
            expData.expID        = exp.expID;
            expData.id           = exp.id;
            expData.RoomId       = exp.RoomId;

            expData.ExperimentQuestion = exp.ExperimentQuestion;
            expData.activities         = new List <ActivityData>();
            if (exp.activities != null)
            {
                foreach (Activity act in exp.activities)
                {
                    expData.activities.Add(getActivityAsData(act));
                }
            }
            return(expData);
        }
コード例 #34
0
        public ActionResult ShowCurrentActivity()
        {
            TeacherData  teacherData  = rsContext.getTeacher(User.Identity.Name);
            RoomData     roomData     = rsContext.getRoom(teacherData.RoomId);
            ActivityData currActivity = rsContext.getActivity(roomData.CurrentActivityId);

            if (currActivity == null)
            {
                TempData["alertMessage"] = Resources.Resources.ThereIsNoActivityActivated;
                return(RedirectToAction("Dashboard"));
            }
            else
            {
                if (currActivity is TrueFalseQuestionData)
                {
                    return(View("DisplayTrueFalseQuestion", Adapting.getTrueFalseQuestionFromData((TrueFalseQuestionData)currActivity)));
                }
                else if (currActivity is ShortAnswerQuestionData)
                {
                    return(View("DisplayShortAnswerQuestion", Adapting.getShortAnswerQuestionFromData((ShortAnswerQuestionData)currActivity)));
                }
                else if (currActivity is AmericanQuestionData)
                {
                    return(View("DisplayAmericanQuestion", Adapting.getAmericanQuestionFromData((AmericanQuestionData)currActivity)));
                }
                else // experiment
                {
                    ExperimentData expData = (ExperimentData)currActivity;
                    if (expData.ActiveExpID == 0)
                    {
                        return(RedirectToAction("GroupSelection", new { ExpID = expData.id }));
                    }
                    else
                    {
                        ActiveExperimentData ae = rsContext.getActiveExperiment(expData.ActiveExpID);
                        return(StudentsProgress(Adapting.getActiveExperimentFromData(ae), true));
                    }
                }
            }
        }
コード例 #35
0
 public void removeExperimentData()
 {
     lab.part.mass -= exp.getMass();
     exp = null;
 }
 public ExperimentDataDoExperimentParameter(CelestialBody target, ExperimentData exp)
     : base()
 {
     targetBody = target;
     experiment = exp;
 }
コード例 #37
0
 private int activeContracts(ExperimentData expData = null, CelestialBody body = null)
 {
     int ret = 0;
     if (ContractSystem.Instance == null)
     {
         return 0;
     }
     if (ContractSystem.Instance.Contracts == null)
     {
         return 0;
     }
     foreach (Contract con in ContractSystem.Instance.Contracts)
     {
         KeminiExperimentContract keminiContract = con as KeminiExperimentContract;
         if (keminiContract != null && (keminiContract.ContractState == Contract.State.Active ||
             keminiContract.ContractState == Contract.State.Offered) &&
           (expData == null || keminiContract.experiment != null) &&
           (body == null || keminiContract.targetBody != null) &&
           ((expData == null || expData.getId() == keminiContract.experiment.getId()) &&
            (body == null || body.theName == keminiContract.targetBody.theName)))
             ret += 1;
     }
     return ret;
 }
 private bool protovesselHasDoneExperiement(ProtoVessel pv, ExperimentData experiment, CelestialBody targetBody)
 {
     foreach (ProtoPartSnapshot part in pv.protoPartSnapshots)
     {
         foreach (ProtoPartModuleSnapshot module in part.modules)
         {
             if (module.moduleName == "ExperimentStorage")
             {
                 ConfigNode moduleConfi = module.moduleValues;
                 ConfigNode expData = moduleConfi.GetNode(ExperimentData.CONFIG_NODE_NAME);
                 if (expData != null)
                 {
                     if (expData.GetValue(ExperimentData.TYPE_VALUE) == experiment.getType() &&
                         expData.GetValue(ExperimentData.STATE_VALUE) == ExperimentState.FINALIZED.ToString())
                     {
                         return true;
                     }
                 }
             }
         }
     }
     return false;
 }
コード例 #39
0
        private void setExperiment(ExperimentData experimentData)
        {
            NE_Helper.log("MOVExp.setExp() id: " + experimentData.getId());
            expData = experimentData;
            //contains = expData.getAbbreviation();
            expData.setStorage(this);

            experimentID = expData.getId();
            experiment = ResearchAndDevelopment.GetExperiment(experimentID);

            experimentActionName = "Results";
            resetActionName = "Throw Away Results";
            reviewActionName = "Review " + expData.getAbbreviation() + " Results";

            useStaging = false;
            useActionGroups = true;
            hideUIwhenUnavailable = true;
            resettable = false;
            resettableOnEVA = false;

            dataIsCollectable = false;
            collectActionName = "Collect Results";
            interactionRange = 1.2f;
            xmitDataScalar = 0.05f;
            if (chanceTexture)
            {
                setTexture(expData);
            }
        }
コード例 #40
0
 internal ResourceExperimentStep(ExperimentData exp, string type, string name, int index = 0)
     : base(exp, type, name, index)
 {
 }
コード例 #41
0
 public override void installExperiment(ExperimentData exp)
 {
     switch (exp.getEquipmentNeeded())
     {
         case EquipmentRacks.MSG:
             if (msgSlot.isEquipmentInstalled() && msgSlot.experimentSlotFree())
             {
                 msgSlot.installExperiment(exp);
                 msgStatus = exp.getAbbreviation();
                 Fields["msgStatus"].guiActive = true;
             }
             else
             {
                 NE_Helper.logError("installExperiment, installed: " + msgSlot.isEquipmentInstalled() + "; free: " + msgSlot.experimentSlotFree());
             }
             break;
         case EquipmentRacks.USU:
             if (usuSlot.isEquipmentInstalled() && usuSlot.experimentSlotFree())
             {
                 usuSlot.installExperiment(exp);
                 usuStatus = exp.getAbbreviation();
                 Fields["usuStatus"].guiActive = true;
             }
             else
             {
                 NE_Helper.logError("installExperiment, installed: " + usuSlot.isEquipmentInstalled() + "; free: " + usuSlot.experimentSlotFree());
             }
             break;
     }
 }
コード例 #42
0
 internal ResourceExperimentStep(ExperimentData exp, string res, float amount, string type, string name, int index = 0)
     : base(exp, type, name, index)
 {
     this.res = res;
     this.amount = amount;
 }
コード例 #43
0
 private void loadExperiment(ExperimentData experimentData)
 {
     this.exp = experimentData;
     exp.load(this);
     GameObject ego = lab.getExperimentGO(exp.getId());
     if (ego != null)
     {
         ego.SetActive(true);
     }
 }
コード例 #44
0
 internal void installExperiment(ExperimentData exp)
 {
     this.exp = exp;
     exp.installed(this);
     GameObject ego = lab.getExperimentGO(exp.getId());
     if (ego != null)
     {
         ego.SetActive(true);
     }
 }
コード例 #45
0
 public MEPResourceExperimentStep(ExperimentData exp, string res, float amount, string name, int index)
     : base(exp, res, amount, "MEPResStep", name, index)
 {
 }
コード例 #46
0
 private static ExperimentStep createExperimentStep(string type, ExperimentData exp, string name, int index)
 {
     switch (type)
     {
         case "ResStep":
             return new ResourceExperimentStep(exp, name, index);
         case "MEPResStep":
             return new MEPResourceExperimentStep(exp, name, index);
         case "KerbalResStep":
             return new KerbalResearchStep(exp, name, index);
         default:
             return new ExperimentStep(exp, "", name, index);
     }
 }
コード例 #47
0
 internal ResourceExperimentStep(ExperimentData exp, string name, int index = 0)
     : this(exp, "ResStep", name, index)
 {
 }
コード例 #48
0
 public override void installExperiment(ExperimentData exp)
 {
     switch (exp.getEquipmentNeeded())
     {
         case EquipmentRacks.CIR:
             if (cirSlot.isEquipmentInstalled() && cirSlot.experimentSlotFree())
             {
                 cirSlot.installExperiment(exp);
                 cirStatus = exp.getAbbreviation();
                 Fields["cirStatus"].guiActive = true;
             }
             else
             {
                 NE_Helper.logError("installExperiment, installed: " + cirSlot.isEquipmentInstalled() + "; free: " + cirSlot.experimentSlotFree());
             }
             break;
         case EquipmentRacks.FIR:
             if (firSlot.isEquipmentInstalled() && firSlot.experimentSlotFree())
             {
                 firSlot.installExperiment(exp);
                 ffrStatus = exp.getAbbreviation();
                 Fields["ffrStatus"].guiActive = true;
             }
             else
             {
                 NE_Helper.logError("installExperiment, installed: " + firSlot.isEquipmentInstalled() + "; free: " + firSlot.experimentSlotFree());
             }
             break;
         case EquipmentRacks.PRINTER:
             if (printerSlot.isEquipmentInstalled() && printerSlot.experimentSlotFree())
             {
                 printerSlot.installExperiment(exp);
                 prStatus = exp.getAbbreviation();
                 Fields["prStatus"].guiActive = true;
             }
             else
             {
                 NE_Helper.logError("installExperiment, installed: " + printerSlot.isEquipmentInstalled() + "; free: " + printerSlot.experimentSlotFree());
             }
             break;
     }
 }
コード例 #49
0
 public ResourceExperimentStep(ExperimentData exp, string res, float amount, string name, int index = 0)
     : base(exp, "ResStep", name, index)
 {
     this.res = res;
     this.amount = amount;
 }
コード例 #50
0
 public override void installExperiment(ExperimentData exp)
 {
     switch (exp.getEquipmentNeeded())
     {
         case EquipmentRacks.KEMINI:
             if (keminiSlot.isEquipmentInstalled() && keminiSlot.experimentSlotFree())
             {
                 keminiSlot.installExperiment(exp);
                 keminiStatus = exp.getAbbreviation();
                 Fields["keminiStatus"].guiActive = true;
                 keminiSlot.experimentAction();
             }
             else
             {
                 NE_Helper.logError("installExperiment, installed: " + keminiSlot.isEquipmentInstalled() + "; free: " + keminiSlot.experimentSlotFree());
             }
             break;
     }
 }
コード例 #51
0
 internal MEPResourceExperimentStep(ExperimentData exp, string name, int index = 0)
     : base(exp, "MEPResStep", name, index)
 {
 }
コード例 #52
0
 public override void installExperiment(ExperimentData exp)
 {
     if (exp.getEquipmentNeeded() == EquipmentRacks.EXPOSURE)
     {
         exposureSlot.installExperiment(exp);
         experimentName = exp.getAbbreviation() + ": " + exp.getStateString();
     }
 }
コード例 #53
0
        internal GameDatabase.TextureInfo getTextureForExperiment(ExperimentData expData)
        {
            GameDatabase.TextureInfo tex;
            if (textureReg.TryGetValue(expData.getType(), out tex))
            {
                return tex;
            }
            else
            {
                NE_Helper.log("Loading Texture for experiment: " + expData.getType());
                GameDatabase.TextureInfo newTex = getTexture(expData.getType());
                if (newTex != null)
                {
                    textureReg.Add(expData.getType(), newTex);
                    return newTex;
                }
            }

            return null;
        }
コード例 #54
0
 internal void storeExperiment(ExperimentData experimentData)
 {
     setExperiment(experimentData);
 }
コード例 #55
0
 private void setTexture(ExperimentData expData)
 {
     GameDatabase.TextureInfo tex = textureReg.getTextureForExperiment(expData);
     if (tex != null)
     {
         changeTexture(tex);
     }
     else
     {
         NE_Helper.logError("Change Experiment Container Texure: Texture Null");
     }
 }
コード例 #56
0
 private bool setTargetExperiment(ExperimentData exp)
 {
     if (exp == null) {
         NE_Helper.log("Generate Contract: Experiment null");
         return false; }
     NE_Helper.log("Generate Contract: Experiment: " + exp.getAbbreviation());
     this.experiment = exp;
     return true;
 }
コード例 #57
0
 internal void installExperiment(ExperimentData exp)
 {
     if (equ != null)
     {
         equ.installExperiment(exp);
     }
 }