Esempio n. 1
0
    private void InteractObjectListsAdd(Transform tr)
    {
        _ingredientList.Add(tr);

        ObjectTypeName otn = tr.GetComponent <ObjectInteractController>().GetObjectTypeName();

        _recipeDataCache.Append((int)otn);

        //
        if (RecipeManager.GetInstance().IsAvailableRecipe(_recipeDataCache.ToString()))
        {
            if (_recipeDataCache.ToString() == _targetRecipeCode && photonView.IsMine)
            {
                _isAvailable = true;

                CleanUpTray();
            }
        }
        //
    }
Esempio n. 2
0
    public void Execute(dynamic weaverInstance)
    {
        Logger.LogInfo(string.Format("Executing Weaver '{0}'.", ObjectTypeName.GetTypeName(weaverInstance)));

        var stopwatch = Stopwatch.StartNew();

        try
        {
            weaverInstance.Execute();
        }
        catch (RuntimeBinderException)
        {
            throw new WeavingException("ModuleWeaver must contain a method with the signature 'public void Execute()'.");
        }
        finally
        {
            stopwatch.Stop();
        }
        Logger.LogInfo(string.Format("Finished {0}ms.{1}", stopwatch.ElapsedMilliseconds, Environment.NewLine));
    }
Esempio n. 3
0
    public void Execute()
    {
        try
        {
            var referenceFinder = new AssemblyReferenceFinder(this, Logger);
            referenceFinder.Execute();
            var assemblyResolver = new AssemblyResolver(referenceFinder);
            var reader           = new ModuleReader
            {
                AssemblyResolver = assemblyResolver,
                InnerWeaver      = this,
                Logger           = Logger
            };
            reader.Execute();

            var weaverInitialiser = new WeaverInitialiser
            {
                ModuleDefinition = reader.ModuleDefinition,
                AssemblyResolver = assemblyResolver,
                InnerWeaver      = this,
                Logger           = Logger
            };
            weaverInitialiser.Execute();

            var weaverRunner = new ModuleWeaverRunner
            {
                Logger = Logger,
            };
            Logger.LogInfo("");
            foreach (var weaverInstance in weaverInitialiser.WeaverInstances)
            {
                var weaverName = ObjectTypeName.GetAssemblyName(weaverInstance);
                Logger.SetCurrentWeaverName(weaverName);
                try
                {
                    weaverRunner.Execute(weaverInstance);
                }
                catch (Exception exception)
                {
                    Logger.LogError(exception.ToFriendlyString());
                    return;
                }
                finally
                {
                    Logger.ClearWeaverName();
                }
            }

            var keyFinder = new StrongNameKeyFinder
            {
                InnerWeaver      = this,
                Logger           = Logger,
                ModuleDefinition = reader.ModuleDefinition
            };
            keyFinder.Execute();
            var moduleWriter = new ModuleWriter
            {
                InnerWeaver         = this,
                Logger              = Logger,
                ModuleDefinition    = reader.ModuleDefinition,
                StrongNameKeyFinder = keyFinder,
            };
            moduleWriter.Execute();
        }
        catch (Exception exception)
        {
            Logger.LogError(exception.ToFriendlyString());
        }
    }