diff --git a/UML~/FluxAttribute.puml b/UML~/FluxAttribute.puml index 6ea12cf..5998142 100644 --- a/UML~/FluxAttribute.puml +++ b/UML~/FluxAttribute.puml @@ -3,4 +3,5 @@ class FluxAttribute { + <> key : object + FluxAttribute(key:object) } +Attribute <|-- FluxAttribute @enduml diff --git a/UML~/FluxAttribute.svg b/UML~/FluxAttribute.svg index 654c6e1..2aa0e1a 100644 --- a/UML~/FluxAttribute.svg +++ b/UML~/FluxAttribute.svg @@ -1,10 +1,13 @@ -FluxAttribute«readonly» key : objectFluxAttribute(key:object)FluxAttribute«readonly» key : objectFluxAttribute(key:object)AttributeMethodFluxAttributeMethodFluxAttribute(key:object)FluxAttribute \ No newline at end of file diff --git a/UML~/StateFluxAttribute.puml b/UML~/StateFluxAttribute.puml new file mode 100644 index 0000000..dbcb647 --- /dev/null +++ b/UML~/StateFluxAttribute.puml @@ -0,0 +1,6 @@ +@startuml +class StateFluxAttribute { + + StateFluxAttribute(key:object) +} +MethodFluxAttribute <|-- StateFluxAttribute +@enduml diff --git a/UML~/StateFluxAttribute.svg b/UML~/StateFluxAttribute.svg new file mode 100644 index 0000000..95b7a83 --- /dev/null +++ b/UML~/StateFluxAttribute.svg @@ -0,0 +1,21 @@ +StateFluxAttributeStateFluxAttribute(key:object)MethodFluxAttribute \ No newline at end of file diff --git a/UML~/include.puml b/UML~/include.puml index b29e5c8..5989489 100644 --- a/UML~/include.puml +++ b/UML~/include.puml @@ -1,4 +1,8 @@ @startuml +class StateFluxAttribute { + + StateFluxAttribute(key:object) +} +MethodFluxAttribute <|-- StateFluxAttribute class FluxExtension <> <> { + {static} Store(key:int, action:Action, condition:bool) : void + {static} Dispatch(key:int) : void @@ -58,6 +62,10 @@ class FluxExtension <> <> { + {static} @IObserver(key:int) : IObserver + {static} @IObserver(key:int, @param:T) : IObserver } +class MethodFluxAttribute { + + MethodFluxAttribute(key:object) +} +FluxAttribute <|-- MethodFluxAttribute class FluxExtension <> <> { + {static} Store(key:string, action:Action, condition:bool) : void + {static} Dispatch(key:string) : void @@ -117,18 +125,19 @@ class FluxExtension <> <> { + {static} @IObserver(key:string) : IObserver + {static} @IObserver(key:string, @param:T) : IObserver } -class FluxAttribute { - + <> key : object - + FluxAttribute(key:object) +class Utils <> { + + {static} Subscribe(condition:bool, action:T, callback:T) : void } abstract class MonoFlux <> { } MonoBehaviour <|-- MonoFlux -class Utils <> { - + {static} Subscribe(condition:bool, action:T, callback:T) : void -} class MonoFluxExtension <> { } +class FluxAttribute { + + <> key : object + + FluxAttribute(key:object) +} +Attribute <|-- FluxAttribute class Flux <> { + {static} Store(key:T, callback:Action, condition:bool) : void + {static} Dispatch(key:T) : void @@ -145,15 +154,6 @@ class Flux <> { interface "IStore`2" { Store(condition:bool, key:TKey, storage:TStorage) : void } -class "ActionFlux`1" <> { - Store(condition:bool, key:TKey, action:Action) : void - Dispatch(key:TKey) : void -} -class "IFlux`2" { -} -"IFlux`2" "" <|-- "ActionFlux`1" -class "Flux`1" <> { -} class "ActionFluxParam`2" <> { Store(condition:bool, key:TKey, action:Action) : void Dispatch(key:TKey, param:TValue) : void @@ -161,23 +161,9 @@ class "ActionFluxParam`2" <> { class "IFluxParam`3" { } "IFluxParam`3" ">" <|-- "ActionFluxParam`2" -class "FluxReturn`2" <> { -} class "FluxParamReturn`3" <> { } -class "StateFlux`2" <> { - Store(condition:bool, key:TKey, action:Action) : void - Dispatch(key:TKey, param:TValue) : void -} -class "IFluxParam`3" { -} -"IFluxParam`3" ">" <|-- "StateFlux`2" -class "State`1" <> { - + State(action:Action) - + State(value:TValue) - + Store(condition:bool, action:Action) : void - + Dispatch(value:TValue) : void - + Get(_value:TValue) : bool +class "FluxParam`2" <> { } interface "IFlux`2" { Dispatch(key:TKey) : void @@ -197,14 +183,12 @@ class "IStore`2" { "IStore`2" "" <|-- "IFluxParam`3" "IStore`2" "" <|-- "IFluxReturn`3" "IStore`2" "" <|-- "IFluxParamReturn`4" -class "FuncFluxParam`3" <> { - Store(condition:bool, key:TKey, func:Func) : void - Dispatch(key:TKey, param:TParam) : TReturn -} -class "IFluxParamReturn`4" { -} -"IFluxParamReturn`4" ">" <|-- "FuncFluxParam`3" -class "FluxParam`2" <> { +class "State`1" <> { + + State(action:Action) + + State(value:TValue) + + Store(condition:bool, action:Action) : void + + Dispatch(value:TValue) : void + + Get(_value:TValue) : bool } class "FuncFlux`2" <> { Store(condition:bool, key:TKey, func:Func) : void @@ -213,6 +197,31 @@ class "FuncFlux`2" <> { class "IFluxReturn`3" { } "IFluxReturn`3" ">" <|-- "FuncFlux`2" +class "StateFlux`2" <> { + Store(condition:bool, key:TKey, action:Action) : void + Dispatch(key:TKey, param:TValue) : void +} +class "IFluxParam`3" { +} +"IFluxParam`3" ">" <|-- "StateFlux`2" +class "ActionFlux`1" <> { + Store(condition:bool, key:TKey, action:Action) : void + Dispatch(key:TKey) : void +} +class "IFlux`2" { +} +"IFlux`2" "" <|-- "ActionFlux`1" +class "FluxReturn`2" <> { +} +class "Flux`1" <> { +} +class "FuncFluxParam`3" <> { + Store(condition:bool, key:TKey, func:Func) : void + Dispatch(key:TKey, param:TParam) : TReturn +} +class "IFluxParamReturn`4" { +} +"IFluxParamReturn`4" ">" <|-- "FuncFluxParam`3" class "FluxState`2" <> { } @enduml diff --git a/UML~/include.svg b/UML~/include.svg index a7c589d..cb11ead 100644 --- a/UML~/include.svg +++ b/UML~/include.svg @@ -1,48 +1,57 @@ -«static»«partial»FluxExtensionStore(key:int, action:Action, condition:bool) : voidDispatch(key:int) : voidStore(key:int, action:Action<T>, condition:bool) : voidDispatch(key:int, @param:T) : voidStore(key:int, action:Func<T>, condition:bool) : voidDispatch(key:int) : TStore(key:int, action:Func<T, T2>, condition:bool) : voidDispatch(key:int, @param:T) : T2StoreState(key:int, action:Action<T>, condition:bool) : voidDispatchState(key:int, state:T) : voidGetState(key:int, state:T) : boolStore(key:int, action:Action<IEnumerator>, condition:bool) : voidStore(key:int, action:Func<IEnumerator>, condition:bool) : voidStore(key:int, action:Func<IEnumerator<T>>, condition:bool) : voidStore(key:int, action:Func<T, IEnumerator>, condition:bool) : voidStore(key:int, action:Func<T, IEnumerator<T2>>, condition:bool) : void@IEnumerator(key:int) : IEnumerator@IEnumerator(key:int) : IEnumerator<T>@IEnumerator(key:int, @param:T) : IEnumerator@IEnumerator(key:int, @param:T) : IEnumerator<T2>Store(key:int, action:Action<Task>, condition:bool) : voidStore(key:int, action:Func<Task>, condition:bool) : voidStore(key:int, action:Func<Task<T>>, condition:bool) : voidStore(key:int, action:Func<T, Task>, condition:bool) : voidStore(key:int, action:Func<T, Task<T2>>, condition:bool) : void@Task(key:int) : Task@Task(key:int) : Task<T>@Task(key:int, @param:T) : Task@Task(key:int, @param:T) : Task<T2>Store(key:int, action:Action<IObservable<T>>, condition:bool) : voidStore(key:int, action:Func<IObservable<T>>, condition:bool) : voidStore(key:int, action:Func<T, IObservable<T2>>, condition:bool) : void@IObservable(key:int, @param:IObservable<T>) : void@IObservable(key:int) : IObservable<T>@IObservable(key:int, @param:T) : IObservable<T2>Store(key:int, action:Action<IObserver<T>>, condition:bool) : voidStore(key:int, action:Func<IObserver<T>>, condition:bool) : voidStore(key:int, action:Func<T, IObserver<T2>>, condition:bool) : void@IObserver(key:int, @param:IObserver<T>) : void@IObserver(key:int) : IObserver<T>@IObserver(key:int, @param:T) : IObserver<T2>Store(key:string, action:Action, condition:bool) : voidDispatch(key:string) : voidStore(key:string, action:Action<T>, condition:bool) : voidDispatch(key:string, @param:T) : voidStore(key:string, action:Func<T>, condition:bool) : voidDispatch(key:string) : TStore(key:string, action:Func<T, T2>, condition:bool) : voidDispatch(key:string, @param:T) : T2StoreState(key:string, action:Action<T>, condition:bool) : voidDispatchState(key:string, state:T) : voidGetState(key:string, state:T) : boolStore(key:string, action:Action<IEnumerator>, condition:bool) : voidStore(key:string, action:Func<IEnumerator>, condition:bool) : voidStore(key:string, action:Func<IEnumerator<T>>, condition:bool) : voidStore(key:string, action:Func<T, IEnumerator>, condition:bool) : voidStore(key:string, action:Func<T, IEnumerator<T2>>, condition:bool) : void@IEnumerator(key:string) : IEnumerator@IEnumerator(key:string) : IEnumerator<T>@IEnumerator(key:string, @param:T) : IEnumerator@IEnumerator(key:string, @param:T) : IEnumerator<T2>Store(key:string, action:Action<Task>, condition:bool) : voidStore(key:string, action:Func<Task>, condition:bool) : voidStore(key:string, action:Func<Task<T>>, condition:bool) : voidStore(key:string, action:Func<T, Task>, condition:bool) : voidStore(key:string, action:Func<T, Task<T2>>, condition:bool) : void@Task(key:string) : Task@Task(key:string) : Task<T>@Task(key:string, @param:T) : Task@Task(key:string, @param:T) : Task<T2>Store(key:string, action:Action<IObservable<T>>, condition:bool) : voidStore(key:string, action:Func<IObservable<T>>, condition:bool) : voidStore(key:string, action:Func<T, IObservable<T2>>, condition:bool) : void@IObservable(key:string, @param:IObservable<T>) : void@IObservable(key:string) : IObservable<T>@IObservable(key:string, @param:T) : IObservable<T2>Store(key:string, action:Action<IObserver<T>>, condition:bool) : voidStore(key:string, action:Func<IObserver<T>>, condition:bool) : voidStore(key:string, action:Func<T, IObserver<T2>>, condition:bool) : void@IObserver(key:string, @param:IObserver<T>) : void@IObserver(key:string) : IObserver<T>@IObserver(key:string, @param:T) : IObserver<T2>FluxAttribute«readonly» key : objectFluxAttribute(key:object)«partial»MonoFluxMonoBehaviour«static»UtilsSubscribe(condition:bool, action:T, callback:T) : void«static»MonoFluxExtension«static»FluxStore(key:T, callback:Action, condition:bool) : voidDispatch(key:T) : voidStore(key:T, callback:Action<T2>, condition:bool) : voidDispatch(key:T, @param:T2) : voidStore(key:T, callback:Func<T2>, condition:bool) : voidDispatch(key:T) : T2Store(key:T, callback:Func<T2, T3>, condition:bool) : voidDispatch(key:T, @param:T2) : T3StoreState(key:T, callback:Action<T2>, condition:bool) : voidDispatchState(key:T, @param:T2) : voidGetState(key:T, @state:T2) : boolIStore`2T1,T2Store(condition:bool, key:TKey, storage:TStorage) : void«sealed»ActionFlux`1TKeyStore(condition:bool, key:TKey, action:Action) : voidDispatch(key:TKey) : voidIFlux`2in TKey,in TStorageDispatch(key:TKey) : void«static»Flux`1T«sealed»ActionFluxParam`2TKey,TValueStore(condition:bool, key:TKey, action:Action<TValue>) : voidDispatch(key:TKey, param:TValue) : voidIFluxParam`3in TKey,in TParam,in TStorageDispatch(key:TKey, param:TParam) : void«static»FluxReturn`2T,T2«static»FluxParamReturn`3T,T2,T3«sealed»StateFlux`2TKey,TValueStore(condition:bool, key:TKey, action:Action<TValue>) : voidDispatch(key:TKey, param:TValue) : void«sealed»State`1TValueState(action:Action<TValue>)State(value:TValue)Store(condition:bool, action:Action<TValue>) : voidDispatch(value:TValue) : voidGet(_value:TValue) : boolIFluxReturn`3T1,T2,T3Dispatch(key:TKey) : TReturnIFluxParamReturn`4T1,T2,T3,T4Dispatch(key:TKey, param:TParam) : TReturn«sealed»FuncFluxParam`3TKey,TParam,TReturnStore(condition:bool, key:TKey, func:Func<TParam, TReturn>) : voidDispatch(key:TKey, param:TParam) : TReturn«static»FluxParam`2T,T2«sealed»FuncFlux`2TKey,TReturnStore(condition:bool, key:TKey, func:Func<TReturn>) : voidDispatch(key:TKey) : TReturn«static»FluxState`2T,T2<TKey,Action><TKey,TValue,Action<TValue>><TKey,TValue,Action<TValue>><TKey,TStorage><TKey,TStorage><TKey,TStorage><TKey,TStorage><TKey,TParam,TReturn,Func<TParam, TReturn>><TKey,TReturn,Func<TReturn>>StateFluxAttributeStateFluxAttribute(key:object)MethodFluxAttributeMethodFluxAttribute(key:object)«static»«partial»FluxExtensionStore(key:int, action:Action, condition:bool) : voidDispatch(key:int) : voidStore(key:int, action:Action<T>, condition:bool) : voidDispatch(key:int, @param:T) : voidStore(key:int, action:Func<T>, condition:bool) : voidDispatch(key:int) : TStore(key:int, action:Func<T, T2>, condition:bool) : voidDispatch(key:int, @param:T) : T2StoreState(key:int, action:Action<T>, condition:bool) : voidDispatchState(key:int, state:T) : voidGetState(key:int, state:T) : boolStore(key:int, action:Action<IEnumerator>, condition:bool) : voidStore(key:int, action:Func<IEnumerator>, condition:bool) : voidStore(key:int, action:Func<IEnumerator<T>>, condition:bool) : voidStore(key:int, action:Func<T, IEnumerator>, condition:bool) : voidStore(key:int, action:Func<T, IEnumerator<T2>>, condition:bool) : void@IEnumerator(key:int) : IEnumerator@IEnumerator(key:int) : IEnumerator<T>@IEnumerator(key:int, @param:T) : IEnumerator@IEnumerator(key:int, @param:T) : IEnumerator<T2>Store(key:int, action:Action<Task>, condition:bool) : voidStore(key:int, action:Func<Task>, condition:bool) : voidStore(key:int, action:Func<Task<T>>, condition:bool) : voidStore(key:int, action:Func<T, Task>, condition:bool) : voidStore(key:int, action:Func<T, Task<T2>>, condition:bool) : void@Task(key:int) : Task@Task(key:int) : Task<T>@Task(key:int, @param:T) : Task@Task(key:int, @param:T) : Task<T2>Store(key:int, action:Action<IObservable<T>>, condition:bool) : voidStore(key:int, action:Func<IObservable<T>>, condition:bool) : voidStore(key:int, action:Func<T, IObservable<T2>>, condition:bool) : void@IObservable(key:int, @param:IObservable<T>) : void@IObservable(key:int) : IObservable<T>@IObservable(key:int, @param:T) : IObservable<T2>Store(key:int, action:Action<IObserver<T>>, condition:bool) : voidStore(key:int, action:Func<IObserver<T>>, condition:bool) : voidStore(key:int, action:Func<T, IObserver<T2>>, condition:bool) : void@IObserver(key:int, @param:IObserver<T>) : void@IObserver(key:int) : IObserver<T>@IObserver(key:int, @param:T) : IObserver<T2>Store(key:string, action:Action, condition:bool) : voidDispatch(key:string) : voidStore(key:string, action:Action<T>, condition:bool) : voidDispatch(key:string, @param:T) : voidStore(key:string, action:Func<T>, condition:bool) : voidDispatch(key:string) : TStore(key:string, action:Func<T, T2>, condition:bool) : voidDispatch(key:string, @param:T) : T2StoreState(key:string, action:Action<T>, condition:bool) : voidDispatchState(key:string, state:T) : voidGetState(key:string, state:T) : boolStore(key:string, action:Action<IEnumerator>, condition:bool) : voidStore(key:string, action:Func<IEnumerator>, condition:bool) : voidStore(key:string, action:Func<IEnumerator<T>>, condition:bool) : voidStore(key:string, action:Func<T, IEnumerator>, condition:bool) : voidStore(key:string, action:Func<T, IEnumerator<T2>>, condition:bool) : void@IEnumerator(key:string) : IEnumerator@IEnumerator(key:string) : IEnumerator<T>@IEnumerator(key:string, @param:T) : IEnumerator@IEnumerator(key:string, @param:T) : IEnumerator<T2>Store(key:string, action:Action<Task>, condition:bool) : voidStore(key:string, action:Func<Task>, condition:bool) : voidStore(key:string, action:Func<Task<T>>, condition:bool) : voidStore(key:string, action:Func<T, Task>, condition:bool) : voidStore(key:string, action:Func<T, Task<T2>>, condition:bool) : void@Task(key:string) : Task@Task(key:string) : Task<T>@Task(key:string, @param:T) : Task@Task(key:string, @param:T) : Task<T2>Store(key:string, action:Action<IObservable<T>>, condition:bool) : voidStore(key:string, action:Func<IObservable<T>>, condition:bool) : voidStore(key:string, action:Func<T, IObservable<T2>>, condition:bool) : void@IObservable(key:string, @param:IObservable<T>) : void@IObservable(key:string) : IObservable<T>@IObservable(key:string, @param:T) : IObservable<T2>Store(key:string, action:Action<IObserver<T>>, condition:bool) : voidStore(key:string, action:Func<IObserver<T>>, condition:bool) : voidStore(key:string, action:Func<T, IObserver<T2>>, condition:bool) : void@IObserver(key:string, @param:IObserver<T>) : void@IObserver(key:string) : IObserver<T>@IObserver(key:string, @param:T) : IObserver<T2>FluxAttribute«readonly» key : objectFluxAttribute(key:object)«static»UtilsSubscribe(condition:bool, action:T, callback:T) : void«partial»MonoFluxMonoBehaviour«static»MonoFluxExtensionAttribute«static»FluxStore(key:T, callback:Action, condition:bool) : voidDispatch(key:T) : voidStore(key:T, callback:Action<T2>, condition:bool) : voidDispatch(key:T, @param:T2) : voidStore(key:T, callback:Func<T2>, condition:bool) : voidDispatch(key:T) : T2Store(key:T, callback:Func<T2, T3>, condition:bool) : voidDispatch(key:T, @param:T2) : T3StoreState(key:T, callback:Action<T2>, condition:bool) : voidDispatchState(key:T, @param:T2) : voidGetState(key:T, @state:T2) : boolIStore`2T1,T2Store(condition:bool, key:TKey, storage:TStorage) : void«sealed»ActionFluxParam`2TKey,TValueStore(condition:bool, key:TKey, action:Action<TValue>) : voidDispatch(key:TKey, param:TValue) : voidIFluxParam`3T1,T2,T3Dispatch(key:TKey, param:TParam) : void«static»FluxParamReturn`3T,T2,T3«static»FluxParam`2T,T2IFlux`2T1,T2Dispatch(key:TKey) : voidIFluxReturn`3T1,T2,T3Dispatch(key:TKey) : TReturnIFluxParamReturn`4T1,T2,T3,T4Dispatch(key:TKey, param:TParam) : TReturn«sealed»State`1TValueState(action:Action<TValue>)State(value:TValue)Store(condition:bool, action:Action<TValue>) : voidDispatch(value:TValue) : voidGet(_value:TValue) : bool«sealed»FuncFlux`2TKey,TReturnStore(condition:bool, key:TKey, func:Func<TReturn>) : voidDispatch(key:TKey) : TReturn«sealed»StateFlux`2TKey,TValueStore(condition:bool, key:TKey, action:Action<TValue>) : voidDispatch(key:TKey, param:TValue) : void«sealed»ActionFlux`1TKeyStore(condition:bool, key:TKey, action:Action) : voidDispatch(key:TKey) : void«static»FluxReturn`2T,T2«static»Flux`1T«sealed»FuncFluxParam`3TKey,TParam,TReturnStore(condition:bool, key:TKey, func:Func<TParam, TReturn>) : voidDispatch(key:TKey, param:TParam) : TReturn«static»FluxState`2T,T2<TKey,TValue,Action<TValue>><TKey,TStorage><TKey,TStorage><TKey,TStorage><TKey,TStorage><TKey,TReturn,Func<TReturn>><TKey,TValue,Action<TValue>><TKey,Action><TKey,TParam,TReturn,Func<TParam, TReturn>>