Example #1
0
        //ADDSTATEFUNCTION() FUNCTION
        //  - ADDS A FUNCTION TO A STATE'S 'ONENTER' OR 'ONEXIT' DELEGATE
        //  - NEEDS WORK
        public bool AddStateFunction(DelegateEnum delegateType, T state, Delegate del)
        {
            //STRING 'STATEKEY'
            //  - TYPECAST TEMPLATED VARIABLE 'STATE' AS AN ENUM, INVOKE THE OBJECT METHOD FUNCTION '.TOSTRING()' TO CONVERT ENUM TO STRING
            //  - USED AS THE INDEXER FOR DICTIONARY 'STATES'
            string stateKey = (state as Enum).ToString();

            //IF STRING 'FUNCNAME' == 'ONENTER'
            //  - ACCESS DICTIONARY 'STATES'
            //  - INVOKE 'ADDENTERFUNCTION()' FROM THE STATE AT THE INDEX OF 'STATEKEY'
            //  - PASS IN DELEGATE 'D' AS THE ARGUMENT FOR 'ADDENTERFUNCTION()'
            //  - RETURN TRUE
            if (delegateType == DelegateEnum.ONENTER)
            {
                this.states[stateKey].AddEnterFunction(del);
                return(true);
            }

            //IF STRING 'FUNCNAME' == 'ONEXIT'
            //  - ACCESS DICTIONARY 'STATES'
            //  - INVOKE 'ADDEXITFUNCTION()' FROM THE STATE AT THE INDEX OF 'STATEKEY'
            //  - PASS IN DELEGATE 'DEL' AS THE ARGUMENT FOR 'ADDEXITFUNCTION()'
            //  - RETURN TRUE
            if (delegateType == DelegateEnum.ONEXIT)
            {
                this.states[stateKey].AddExitFunction(del);
                return(true);
            }

            //IF ERROR, RETURN FALSE
            return(false);
        }
Example #2
0
 public void removeDelegate(DelegateEnum dEnum)
 {
     if (delegateMapping.ContainsKey(dEnum))
     {
         delegateMapping.Remove(dEnum);
     }
     //Debug.Log("DelegateManager-->removeDelegate " + delegateMapping[(int)dEnum].GetInvocationList().Length);
 }
Example #3
0
 public void registerDelegate(DelegateEnum dEnum, CommonDelegate tDelegate)
 {
     if (!delegateMapping.ContainsKey(dEnum))
     {
         delegateMapping.Add(dEnum, tDelegate);
     }
     //Debug.Log("DelegateManager-->registerDelegate " + delegateMapping[(int)dEnum].GetInvocationList().Length);
 }
Example #4
0
 public void decreaseDelegate(DelegateEnum dEnum, CommonDelegate tDelegate)
 {
     if (!delegateMapping.ContainsKey(dEnum))
     {
         registerDelegate(dEnum, null);
     }
     delegateMapping[dEnum] -= tDelegate;
     //Debug.Log("DelegateManager-->decreaseDelegate " + delegateMapping[(int)dEnum].GetInvocationList().Length);
 }
Example #5
0
    public static void delegateInvoke(DelegateEnum dEnum, object[] msgData)
    {
        CommonDelegate delegates = StaticDelegateManager.Instance().delegateMapping[(int)dEnum];

        if (delegates != null)
        {
            delegates.Invoke(msgData);
        }
    }
Example #6
0
 public void addDelegate(DelegateEnum dEnum, CommonDelegate tDelegate)
 {
     //Debug.Log("DelegateManager-->addDelegate " + dEnum.ToString() +" " + delegateMapping);
     if (!delegateMapping.ContainsKey(dEnum))
     {
         registerDelegate(dEnum, null);
     }
     delegateMapping[dEnum] += tDelegate;
     //Debug.Log("DelegateManager-->addDelegate " + delegateMapping[(int)dEnum].GetInvocationList().Length);
 }
Example #7
0
    public void delegateInvoke(DelegateEnum dEnum, object[] msgData)
    {
        if (!delegateMapping.ContainsKey(dEnum))
        {
            //Debug.Log("DelegateManager-->delegateInvoke NULL" + dEnum.ToString());
            return;
        }
        CommonDelegate delegates = delegateMapping[dEnum];

        if (delegates != null)
        {
            delegates.Invoke(msgData);
        }
    }
Example #8
0
 public static void decreaseDelegate(DelegateEnum dEnum, CommonDelegate tDelegate)
 {
     StaticDelegateManager.Instance().delegateMapping[(int)dEnum] -= tDelegate;
     //Debug.Log("StaticDelegateManager-->decreaseDelegate " + delegateMapping[(int)dEnum].GetInvocationList().Length);
 }