Пример #1
0
        internal void EndSalvage()
        {
            CCPoint posChange = WreckCarousel.RemoveFromCollection((IGameObject)WreckCarousel.MiddleNode);

            WreckCarousel.MoveCollectionNode(-posChange);
            // remove the salvaged parts from screen
            CCPoint outPoint = VisibleBoundsWorldspace.Center - new CCPoint(0, VisibleBoundsWorldspace.Size.Height);

            foreach (var part in SalvagedParts)
            {
                // stop the endless rotation
                part.StopAction(RotationTag);
                part.AddAction(new CCSequence(new CCEaseIn(new CCMoveTo(1f, outPoint), 2f),
                                              new CCCallFunc(() => { RemoveChild(part); })));
            }
            TotalSalvagedParts.AddRange(SalvagedParts);
            SalvagedParts.Clear();
            if (WreckCarousel.Collection.Any())
            {
                State = WreckageState.CAROUSEL;
            }
            else
            {
                AddAction(new CCSequence(new CCDelayTime(1.1f),
                                         new CCCallFunc(() => { State = WreckageState.CAROUSEL; })));
            }
        }
Пример #2
0
 private void EndRepair(bool wasted)
 {
     if (wasted)
     {
         WreckCarousel.RemoveFromCollection((IGameObject)WreckCarousel.MiddleNode);
     }
     State = WreckageState.CAROUSEL;
 }