Exemple #1
0
 private void OnEnable()
 {
     _playground = Resources.LoadAll <PlaygroundManager>("Singletons")[0];
     _nodeStyle  = new GUIStyle();
     _nodeStyle.normal.background = EditorGUIUtility.Load("builtin skins/darkskin/images/node1.png") as Texture2D;
     _nodeStyle.border            = new RectOffset(12, 12, 12, 12);
 }
Exemple #2
0
    private void AssignMethodCalls(PlaygroundManager manager)
    {
        var methodsList = new List <Methods>();

        foreach (Methods methodEnum in Enum.GetValues(typeof(Methods)))
        {
            methodsList.Add(methodEnum);
        }

        for (int i = 0; i < _components.Count; i++)
        {
            for (int t = 0; t < methodsList.Count; t++)
            {
                switch (methodsList[t])
                {
                case Methods.FixedUpdate:
                    var fixedUpdate = manager.GetCachedComponentMethod(_components[i].GetType(), Methods.FixedUpdate);

                    if (fixedUpdate != null)
                    {
                        _fixedUpdates += (Action <float>)Delegate.CreateDelegate(typeof(Action <float>), _components[i], fixedUpdate);
                    }
                    break;

                case Methods.Update:
                    var update = manager.GetCachedComponentMethod(_components[i].GetType(), Methods.Update);

                    if (update != null)
                    {
                        _updates += (Action <float>)Delegate.CreateDelegate(typeof(Action <float>), _components[i], update);
                    }
                    break;

                case Methods.OnNodeAdd:
                    var add = manager.GetCachedComponentMethod(_components[i].GetType(), Methods.OnNodeAdd);

                    if (add != null)
                    {
                        _onNodeAdd += (Action <EntityNode>)Delegate.CreateDelegate(typeof(Action <EntityNode>), _components[i], add);
                    }
                    break;

                case Methods.OnNodeRemove:
                    var remove = manager.GetCachedComponentMethod(_components[i].GetType(), Methods.OnNodeRemove);

                    if (remove != null)
                    {
                        _onNodeRemove += (Action <EntityNode>)Delegate.CreateDelegate(typeof(Action <EntityNode>), _components[i], remove);
                    }

                    break;
                }
            }
        }
    }
Exemple #3
0
    private void InvokeInit(PlaygroundManager manager)
    {
        for (int i = 0; i < _components.Count; i++)
        {
            var init = manager.GetCachedComponentMethod(_components[i].GetType(), Methods.Init);

            if (init != null)
            {
                init.Invoke(_components[i], null);
            }
        }
    }
Exemple #4
0
    private void InvokeBaseInit(PlaygroundManager manager)
    {
        var baseInit = manager.GetCachedComponentMethod(typeof(EntityNode), Methods.Init);

        for (int i = 0; i < _components.Count; i++)
        {
            manager.SetUpEntityComponent(_components[i].GetType());

            baseInit.Invoke(_components[i], new object[1] {
                this
            });
        }
    }
Exemple #5
0
    private void ReadComponentData(PlaygroundManager manager)
    {
        var  data          = manager.GetSetup(_Name).Split('|');
        Type componentType = manager[data[0]];

        for (int i = 1; i < data.Length; i++)
        {
            if (i % 2 == 0)
            {
                componentType = manager[data[i]];
            }
            else
            {
                _components.Add((EntityNode)JsonUtility.FromJson(data[i], componentType));
            }
        }
    }