/// <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);
     }
 }
Exemple #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");
        }
Exemple #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);
            }
        }
 /// <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);
     }
 }
Exemple #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);
            }
        }
        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);
                }
            }
        }
    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);
 }