Пример #1
0
        // Start is called before the first frame update
        void Start()
        {
            if (!mModeSetted)
            {
                mShareMode         = Mode;
                SharePhonePlatform = phonePlatform;
                SharePackageType   = packageType;
                mModeSetted        = true;
            }

            switch (Mode)
            {
            case EnvironmentMode.Developing:
                LaunchInDevelopingMode();
                break;

            case EnvironmentMode.Test:
                LaunchInTestMode();
                break;

            case EnvironmentMode.Production:
                LaunchInProductionMode();
                break;
            }
        }
Пример #2
0
        void Start()
        {
            if (!mModeSetted)
            {
                mSharedMode = Mode;
                mModeSetted = true;
            }

            switch (mSharedMode)
            {
            case EnvironmentMode.Developing:
                LaunchInDevelopingMode();
                break;

            case EnvironmentMode.Test:
                LaunchInTestMode();
                break;

            case EnvironmentMode.Production:
                LaunchInProductionMode();
                break;

            default:
                break;
            }
        }
Пример #3
0
        private void Start()
        {
            if (!isModeSetted)
            {
                shareMode    = mode;
                isModeSetted = true;
            }
            switch (shareMode)
            {
            case EnvironmentMode.Develop:
                LaunchInDevelopMode();
                break;

            case EnvironmentMode.Test:
                LaunchInTestMode();
                break;

            case EnvironmentMode.Production:
                LaunchInProductionMode();
                break;

            default:
                break;
            }
        }
Пример #4
0
        public void Setup()
        {
            MARSSession.TestMode           = true;
            QuerySimulationModule.TestMode = true;
            m_TestSimulationUser           = ScriptableObject.CreateInstance <TestSimulationUser>();
            MARSSession.EnsureSessionInActiveScene();

            var moduleLoader = ModuleLoaderCore.instance;

            moduleLoader.GetModule <SimulationSceneModule>().RegisterSimulationUser(m_TestSimulationUser);
            moduleLoader.GetModule <SceneWatchdogModule>().ScenePoll();

            EditorWindow.GetWindow <SimulationView>(); // Tests will fail if a Simulation isn't open.

            m_EnvironmentManager            = moduleLoader.GetModule <MARSEnvironmentManager>();
            m_CachedEnvironmentModeSettings = m_EnvironmentManager.CustomModeSettings;
            m_CachedEnvironmentMode         = SimulationSettings.instance.EnvironmentMode;

            m_TestModeSettings.Clear();
            var testModeA = ScriptableObject.CreateInstance <TestSimulationEnvironmentModeSettings>();

            testModeA.TestDefaultSimulationMode = SimulationModeSelection.TemporalMode;
            testModeA.TestIsFramingEnabled      = false;
            testModeA.TestEnvironmentModeName   = "TestSimulationEnvironmentModeSettings_testModeA";
            m_TestModeSettings.Add(testModeA.EnvironmentModeName, testModeA);

            var testModeB = ScriptableObject.CreateInstance <TestSimulationEnvironmentModeSettings>();

            testModeB.TestDefaultSimulationMode = SimulationModeSelection.SingleFrameMode;
            testModeA.TestIsFramingEnabled      = true;
            testModeB.TestEnvironmentModeName   = "TestSimulationEnvironmentModeSettings_testModeB";
            m_TestModeSettings.Add(testModeB.EnvironmentModeName, testModeB);

            ResetScene();
        }
Пример #5
0
        private void Start()
        {
            //bool锁,确保项目运行后只赋值一次
            if (!m_ModeSetted)
            {
                m_ShareMode  = Mode;
                m_ModeSetted = true;
            }

            switch (m_ShareMode)
            {
            case EnvironmentMode.Developing:
                LaunchInDevelopingMode();
                break;

            case EnvironmentMode.Test:
                LaunchInTestMode();
                break;

            case EnvironmentMode.Production:
                LaunchInProduction();
                break;

            default:
                break;
            }
        }
 public void Clear()
 {
     SceneSubscriberTypes.Clear();
     SceneRequirements.Clear();
     m_EnvironmentMode    = default;
     m_EnvironmentPrefab  = null;
     m_SyntheticRecording = null;
     m_Temporal           = false;
 }
        internal bool Update(MARSSession marsSession, List <IFunctionalitySubscriber> subscribers, bool temporal)
        {
            k_SubscriberTypes.Clear();
            k_TraitRequirements.Clear();

            var moduleLoader = ModuleLoaderCore.instance;

            foreach (var module in moduleLoader.modules)
            {
                k_SubscriberTypes.Add(module.GetType());
            }

            foreach (var subscriber in subscribers)
            {
                k_SubscriberTypes.Add(subscriber.GetType());
            }

            k_TraitRequirements.UnionWith(marsSession.requirements.TraitRequirements);

            var simulationSettings   = SimulationSettings.instance;
            var environmentMode      = simulationSettings.EnvironmentMode;
            var environmentPrefab    = simulationSettings.EnvironmentPrefab;
            var independentRecording = simulationSettings.IndependentRecording;
            var syntheticRecording   = simulationSettings.UseSyntheticRecording ?
                                       simulationSettings.GetRecordingForCurrentSyntheticEnvironment() : null;

            var recordingPlaybackModule  = moduleLoader.GetModule <MarsRecordingPlaybackModule>();
            var disableRecordingPlayback = recordingPlaybackModule != null && recordingPlaybackModule.DisableRecordingPlayback;

            var changed = !SceneSubscriberTypes.SetEquals(k_SubscriberTypes) ||
                          !SceneRequirements.SetEquals(k_TraitRequirements) ||
                          m_EnvironmentMode != environmentMode ||
                          m_EnvironmentPrefab != environmentPrefab ||
                          m_SyntheticRecording != syntheticRecording ||
                          m_IndependentRecording != independentRecording ||
                          m_Temporal != temporal ||
                          m_DisableRecordingPlayback != disableRecordingPlayback;

            SceneSubscriberTypes.Clear();
            SceneSubscriberTypes.UnionWith(k_SubscriberTypes);
            SceneRequirements.Clear();
            SceneRequirements.UnionWith(k_TraitRequirements);
            m_EnvironmentMode          = environmentMode;
            m_EnvironmentPrefab        = environmentPrefab;
            m_SyntheticRecording       = syntheticRecording;
            m_IndependentRecording     = independentRecording;
            m_Temporal                 = temporal;
            m_DisableRecordingPlayback = disableRecordingPlayback;

            k_SubscriberTypes.Clear();
            k_TraitRequirements.Clear();
            return(changed);
        }
Пример #8
0
        public static void Initialize(Control mainWindow, ICommands commands, EnvironmentMode mode)
        {
            if (environmentInstance == null)
            {
                environmentInstance = new Env();

                environmentInstance.mode   = mode;
                environmentInstance.logger = new Logger();
                environmentInstance.CreateNewProject();
                environmentInstance.commands             = commands;
                environmentInstance.mainWindow           = mainWindow;
                environmentInstance.communicationPlugins = new CommunationPlugs();
                environmentInstance.scriptManager        = new ScriptManager();
                environmentInstance.communicationPlugins.Load();


                //Should be called after all plugins
                environmentInstance.scriptManager.Initialize();
            }
        }
Пример #9
0
        public static void Initialize(Window mainWindow, ICommands commands, EnvironmentMode mode)
        {
            if (environmentInstance == null)
            {
                environmentInstance = new Env();

                environmentInstance.mode   = mode;
                environmentInstance.logger = new Logging.ELLogger();
                environmentInstance.CreateNewProject();
                environmentInstance.commands             = commands;
                environmentInstance.mainWindow           = mainWindow;
                environmentInstance.communicationPlugins = new CommunationPlugs();
                environmentInstance.scriptManager        = new ScriptManager();
                environmentInstance.communicationPlugins.Load();
                environmentInstance.eventsManager = new Events.EventsManager();

                environmentInstance.Project.ProjectLoaded += new System.EventHandler(environmentInstance.OnProjectLoad);
                //Should be called after all plugins
                environmentInstance.scriptManager.Initialize();
            }
        }
Пример #10
0
        EnvironmentMode GetEnvType(string path)
        {
            EnvironmentMode result = EnvironmentMode.None;

            if (string.IsNullOrEmpty(path))
            {
                return(result);
            }

            string a = Path.GetExtension(path).ToLower();

            if (a == ".sph")
            {
                result = EnvironmentMode.Multiply;
            }
            else if (a == ".spa")
            {
                result = EnvironmentMode.Additive;
            }
            return(result);
        }
Пример #11
0
        public static void Test06CharacteristicHacks()
        {
            var j = new Job();

            Assert.Equal(0, j.Run.IterationCount);

            RunMode.IterationCountCharacteristic[j] = 123;
            Assert.Equal(123, j.Run.IterationCount);

            var old = j.Run;

            Job.RunCharacteristic[j] = new RunMode();
            Assert.Equal(0, j.Run.IterationCount);

            Job.RunCharacteristic[j] = old;
            old.IterationCount       = 234;
            Assert.Equal(234, j.Run.IterationCount);
            Assert.Equal(234, RunMode.IterationCountCharacteristic[j]);

            Characteristic a = Job.RunCharacteristic;

            // will not throw:
            a[j] = new RunMode();
            Assert.Throws <ArgumentNullException>(() => a[j] = null);                    // nulls for job nodes are not allowed;
            Assert.Throws <ArgumentNullException>(() => a[j] = Characteristic.EmptyValue);
            Assert.Throws <ArgumentException>(() => a[j]     = new EnvironmentMode());   // not assignable;
            Assert.Throws <ArgumentException>(() => a[j]     = new CharacteristicSet()); // not assignable;
            Assert.Throws <ArgumentException>(() => a[j]     = 123);                     // not assignable;

            a = InfrastructureMode.ToolchainCharacteristic;
            // will not throw:
            a[j] = CsProjClassicNetToolchain.Net46;
            a[j] = null;
            a[j] = Characteristic.EmptyValue;
            Assert.Throws <ArgumentException>(() => a[j] = new EnvironmentMode());   // not assignable;
            Assert.Throws <ArgumentException>(() => a[j] = new CharacteristicSet()); // not assignable;
            Assert.Throws <ArgumentException>(() => a[j] = 123);                     // not assignable;
        }
Пример #12
0
        // Start is called before the first frame update
        void Start()
        {
            if (!_modeSetted)
            {
                _shareMode  = enviromentMode;
                _modeSetted = true;
            }

            switch (_shareMode)
            {
            case EnvironmentMode.Developing:
                LaunchInDevelopingMode();
                break;

            case EnvironmentMode.Production:
                LaunchInProductionMode();
                break;

            case EnvironmentMode.Test:
                LaunchInTestMode();
                break;
            }
        }
Пример #13
0
 private static void GenerateJitSettings(XmlDocument xmlDocument, XmlNode runtimeElement, EnvironmentMode environmentMode)
 {
     if (environmentMode.HasValue(EnvironmentMode.JitCharacteristic))
     {
         string useLegacyJit = environmentMode.Jit.ToConfig();
         CreateNodeWithAttribute(xmlDocument, runtimeElement, "useLegacyJit", "enabled", useLegacyJit);
     }
 }
Пример #14
0
 public void Update(EnvironmentMode mode)
 {
     rootWeb.AllProperties[PropertyName] = mode.ToString();
     rootWeb.Update();
 }
Пример #15
0
        void ReadMaterial(Reader reader)
        {
            int materialCount = reader.ReadInt32();

            materialToonTable = new int[materialCount];
            mats = new Material[materialCount];
            int offset = 0;

            for (int i = 0; i < materialCount; i++)
            {
                var shdrs          = new ShaderSettings();
                var difColor       = reader.readVector4();
                var specularPower  = reader.ReadSingle();
                var specularColour = reader.readVector3();
                var ambientColour  = reader.readVector3();
                materialToonTable[i] = reader.ReadByte();
                bool            hasEdge        = (reader.ReadByte() > 0);
                int             vertCount      = reader.ReadInt32();
                EnvironmentMode envMode        = EnvironmentMode.None;
                Texture2D       diffuseTexture = null;
                Texture2D       sphereTexture  = null;
                var             pathList       = reader.readStringLength(20);
                if (pathList.Contains('*'))
                {
                    var texturePath = pathList.Split('*');
                    shdrs.EnvType = EnvironmentMode.None;

                    for (int n = 0; n < texturePath.Length; n++)
                    {
                        string path = texturePath[n];

                        EnvironmentMode sphereMode = GetEnvType(path);
                        if (sphereMode != 0)
                        {
                            sphereTexture = GetTexture(path);
                            envMode       = sphereMode;
                        }
                        else
                        {
                            diffuseTexture = GetTexture(path);
                        }
                    }
                }

                var outln = new Outline();
                outln.EdgeScaler = 0.1f;

                shdrs.HasSkeleton      = true;
                shdrs.DiscardInvisible = true;
                shdrs.AffectedByLight  = true;
                shdrs.DifuseColor      = true;
                shdrs.Ambient          = true;
                shdrs.SpecularColor    = true;
                shdrs.TextureDiffuse   = true;
                shdrs.RecieveShadow    = true;
                shdrs.EnvType          = envMode;

                var rndr = new RenderDirectives();
                rndr.HasEdges = hasEdge;
                var mat = new MaterialPMX(shdrs, rndr);
                mat.Name    = string.Format("Material {0}", i);
                mat.Outline = outln;
                if (diffuseTexture)
                {
                    mat.SetTexture(diffuseTexture, TextureType.Diffuse);
                }
                //mat.SetTexture(toon, TextureType.Toon);
                if (sphereTexture)
                {
                    mat.SetTexture(sphereTexture, TextureType.Sphere);
                }
                mat.SpecularColour = specularColour;
                mat.Specular       = specularPower;
                mat.DiffuseColor   = difColor;
                mat.AmbientColour  = ambientColour;
                mat.UniformManager.Set("specular_color", specularColour);
                mat.UniformManager.Set("ambient_color", ambientColour);
                mat.UniformManager.Set("specular_power", specularPower);
                mat.UniformManager.Set("diffuse_color", difColor);

                if (mat.DiffuseColor.W < 0.001f)
                {
                    mat.RenderDirrectives.IsRendered = false;
                }
                //skip empty materials
                if (vertCount == 0)
                {
                    mat.RenderDirrectives.IsRendered = false;
                }
                mat.Offset = offset;
                mat.Count  = vertCount;
                mats[i]    = mat;
                offset    += vertCount;
            }
        }