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; }))); } }
private void EndRepair(bool wasted) { if (wasted) { WreckCarousel.RemoveFromCollection((IGameObject)WreckCarousel.MiddleNode); } State = WreckageState.CAROUSEL; }