/// <summary>
 /// Updates the assembly definitions to mark the Oculus Integration Asset as present or not present
 /// </summary>
 internal static void ReconcileOculusIntegrationDefine(bool oculusIntegrationPresent)
 {
     if (oculusIntegrationPresent)
     {
         ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.Android, Definitions);
         ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.Standalone, Definitions);
     }
     else
     {
         ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.Android, Definitions);
         ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.Standalone, Definitions);
     }
 }
コード例 #2
0
 public override void OnStart(AIBrain brain)
 {
     if (m_UsePredefinedPoints)
     {
         if (!ScriptUtilities.GetTransformsPositionsByTag(m_PointTag, out m_PointPositions))
         {
             Debug.LogError("No waypoints with tag " + m_PointTag + " have been setup");
         }
     }
     else
     {
         m_PointPositions = ScriptUtilities.GetRandomPositionsAroundTransform(brain.Settings.transform, m_PointAmount, m_PointMaxRadius);
     }
 }
        public static void SeparateLeapMotion()
        {
            // Force removal of the Scripting Definitions while the Leap Assets are still in the project
            ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.Standalone, Definitions);
            ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.WSA, Definitions);

            isLeapRecognizedByMRTK = false;

            // Prompt the user to close unity and delete the assets to completely remove.  Closing unity and deleting the assets is optional.
            EditorUtility.DisplayDialog(
                "MRTK Leap Motion Removal",
                "The Leap Motion Modules are now safe to delete from the project. " +
                "Close Unity, delete the Leap assets in the file explorer, and reopen Unity",
                "OK");
        }
コード例 #4
0
        /// <summary>
        /// Ensures that the appropriate symbolic constant is defined based on the presence of the Leap Motion Core Assets.
        /// </summary>
        /// <returns>If the define was added or the define has already been added, return true</returns>
        private static bool ReconcileLeapMotionDefine()
        {
            FileInfo[] files = FileUtilities.FindFilesInAssets(trackedLeapFileName);

            if (files.Length > 0)
            {
                ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.Standalone, Definitions);
                return(true);
            }
            else
            {
                ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.Standalone, Definitions);
                return(false);
            }
        }
コード例 #5
0
 /// <summary>
 /// Ensures that the appropriate symbolic constant is defined based on the presence of the AR Foundation package.
 /// </summary>
 /// <returns>True if the define was added, false otherwise.</returns>
 private static bool ReconcileArFoundationDefine()
 {
     FileInfo[] files = FileUtilities.FindFilesInPackageCache(FileName);
     if (files.Length > 0)
     {
         ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.Android, definitions);
         ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.iOS, definitions);
         return(true);
     }
     else
     {
         ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.Android, definitions);
         ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.iOS, definitions);
         return(false);
     }
 }
コード例 #6
0
        /// <summary>
        /// Updates the assembly definitions to mark the Oculus Integration Asset as present or not present
        /// </summary>
        /// <returns>true if Assets/Oculus/OculusProjectConfig exists, false otherwise</returns>
        private static bool ReconcileOculusIntegrationDefine()
        {
            FileInfo[] files = FileUtilities.FindFilesInAssets(OculusIntegrationProjectConfig);

            if (files.Length > 0)
            {
                ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.Android, Definitions);
                ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.Standalone, Definitions);
                return(true);
            }
            else
            {
                ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.Android, Definitions);
                ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.Standalone, Definitions);
                return(false);
            }
        }
        private static bool UpdateAssemblyDefinitions()
        {
            FileInfo[] files = FileUtilities.FindFilesInAssets(OculusIntegrationProjectConfig);

            if (files.Length > 0)
            {
                ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.Android, Definitions);
                ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.Standalone, Definitions);
                ConfigureProfilesForHandtracking();
                return(true);
            }
            else
            {
                ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.Android, Definitions);
                ScriptUtilities.RemoveScriptingDefinitions(BuildTargetGroup.Standalone, Definitions);
                return(false);
            }
        }
コード例 #8
0
        private void ExecutePowerShellScript(string contents)
        {
            CtxTrace.TraceInformation();
            string oldPolicy = null;

            try {
                oldPolicy = ScriptUtilities.SetPowerShellExectionPolicy("Unrestricted");
                string dir      = CreateWorkingDirectory(cfnFolder);
                string fileName = Path.Combine(dir, "user-data.ps1");
                File.WriteAllText(fileName, contents);
                ScriptUtilities.ExecuteProcess("powershell.exe", String.Format("-F {0}", fileName), dir);
            } catch (Exception e) {
                CtxTrace.TraceError(e);
            } finally {
                if (oldPolicy != null)
                {
                    ScriptUtilities.SetPowerShellExectionPolicy(oldPolicy);
                }
            }
        }
コード例 #9
0
    public override void OnSpellEffect(SpellPacketBody spell)
    {
        Logger.Info($"{SpellName} OnSpellEffect");
        spell.duration = 1 * spell.casterLevel;
        // Solves Radial menu problem for Wands/NPCs
        var options = SummonMonsterTools.GetSpellOptions(SpellOptionsKey);
        var protoId = spell.GetMenuArg(RadialMenuParam.MinSetting);

        if (!options.Contains(protoId))
        {
            protoId = GameSystems.Random.PickRandom(options);
        }

        ModifySummonedProtoId(spell, ref protoId);

        // create monster, monster should be added to target_list
        spell.SummonMonsters(true, protoId);
        var target_item = spell.Targets[0];

        ScriptUtilities.AttachParticles(ParticleSystemId, target_item.Object);
        SummonMonsterTools.SummonMonster_Rectify_Initiative(spell, protoId); // Added by S.A. - sets iniative to caster's initiative -1, so that it gets to act in the same round
        spell.EndSpell();
    }
 /// <summary>
 /// Adds scripting definitions that are required when using the Ultraleap Unity Plugin (i.e. >= V5.0)
 /// </summary>
 private static void AddScriptingDefinitionsForUnityPlugin()
 {
     ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.Standalone, UnityPluginDefinitions);
     ScriptUtilities.AppendScriptingDefinitions(BuildTargetGroup.WSA, UnityPluginDefinitions);
 }