Example #1
0
    // Update is called once per frame
    void Update()
    {
        //validate registered scripts
        tmpScripts = new List <BaseMonoBehaviour>();
        foreach (var script in registeredScripts)
        {
            if (script)
            {
                tmpScripts.Add(script);
            }
        }
        registeredScripts = tmpScripts;
        tmpScripts        = null;

        //run actions on registered scripts
        foreach (var script in registeredScripts)
        {
            if (script)
            {
                if (script is IPlayerInputImplementable)
                {
                    IPlayerInputImplementable myScript = (IPlayerInputImplementable)script;
                    myScript.OnPlayerInput(InputManager.instance.PlayerInput);
                }
                if (script is IUpdateable)
                {
                    IUpdateable myScript = (IUpdateable)script;
                    myScript.CustomUpdate();
                }
            }
        }
    }