Esempio n. 1
0
        public static void CoreOnPostDerive(this Transitional @this, ObjectOnPostDerive method)
        {
            // Update PreviousObjectState and LastObjectState
            foreach (var transitionalConfiguration in @this.TransitionalConfigurations)
            {
                var objectState     = @this.Strategy.GetCompositeRole(transitionalConfiguration.ObjectState);
                var lastObjectState = @this.Strategy.GetCompositeRole(transitionalConfiguration.LastObjectState);

                if (objectState != null && !objectState.Equals(lastObjectState))
                {
                    @this.Strategy.SetCompositeRole(transitionalConfiguration.PreviousObjectState, lastObjectState);
                }

                @this.Strategy.SetCompositeRole(transitionalConfiguration.LastObjectState, objectState);
            }

            // Rollup ObjectStates, PreviousObjectState and LastObjectStates
            @this.DerivedRoles.RemoveObjectStates();
            @this.DerivedRoles.RemoveLastObjectStates();
            @this.DerivedRoles.RemovePreviousObjectStates();
            foreach (var transitionalConfiguration in @this.TransitionalConfigurations)
            {
                var objectState         = (ObjectState)@this.Strategy.GetCompositeRole(transitionalConfiguration.ObjectState);
                var lastObjectState     = (ObjectState)@this.Strategy.GetCompositeRole(transitionalConfiguration.LastObjectState);
                var previousObjectState = (ObjectState)@this.Strategy.GetCompositeRole(transitionalConfiguration.PreviousObjectState);
                @this.DerivedRoles.AddObjectState(objectState);
                @this.DerivedRoles.AddLastObjectState(lastObjectState);
                @this.DerivedRoles.AddPreviousObjectState(previousObjectState);
            }

            // Update security
            @this.DeniedPermissions = @this.ObjectStates.SelectMany(v => v.DeniedPermissions).ToArray();
        }
Esempio n. 2
0
        public static void BaseOnPostDerive(this Transitional @this, ObjectOnPostDerive method)
        {
            if (@this.CurrentObjectState != null && [email protected](@this.LastObjectState))
            {
                @this.PreviousObjectState = @this.LastObjectState;
            }

            @this.LastObjectState = @this.CurrentObjectState;

            @this.DeniedPermissions = @this.CurrentObjectState?.DeniedPermissions;
        }
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        Transitional  transitionalScript = (Transitional)target;
        RectTransform rectTransform      = transitionalScript.gameObject.GetComponent <RectTransform>();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Save In Position"))
        {
            transitionalScript.inPosition = rectTransform.anchoredPosition;
        }
        if (GUILayout.Button("Load In Position"))
        {
            rectTransform.anchoredPosition = transitionalScript.inPosition;
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Save Out Position"))
        {
            transitionalScript.outPosition = rectTransform.anchoredPosition;
        }
        if (GUILayout.Button("Load Out Position"))
        {
            rectTransform.anchoredPosition = transitionalScript.outPosition;
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Save Exit Position"))
        {
            transitionalScript.exitPosition = rectTransform.anchoredPosition;
        }
        if (GUILayout.Button("Load Exit Position"))
        {
            rectTransform.anchoredPosition = transitionalScript.exitPosition;
        }
        GUILayout.EndHorizontal();
    }
Esempio n. 4
0
 public static void Process(this ObjectState objectState, Transitional transitional)
 {
     transitional.DeniedPermissions = objectState.DeniedPermissions;
 }
Esempio n. 5
0
 public static bool HasChangedStates(this Transitional @this) =>
 @this.LastObjectStates.Count != @this.ObjectStates.Count || @this.LastObjectStates.Except(@this.ObjectStates).Count() != 0;