Example #1
0
        public void AddFacet(IGameFacet facet, FacetTransition transition)
        {
            if (transition != null && facets.Count > 0)
            {
                if (!transition.IsSetup)
                    transition.Setup(facets.Peek(), facet);
                activeTransition = transition;
            }

            facets.Push(facet);
            facet.Initialize();
        }
Example #2
0
 public void ReplaceMeWith(IGameFacet facet, FacetTransition transition)
 {
     IGameFacet top = facets.Pop();
     facets.Push(facet);
     if (activeTransition == null && transition != null)
     {
         activeTransition = transition;
         if (!activeTransition.IsSetup && facets.Count > 0)
         {
             activeTransition.Setup(top, facet);
         }
         activeTransition.OnCleanup += (iasr => { top.Cleanup(); });
     }
     facet.Initialize();
 }