Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Menu.cs : -FirstPass
- public abstract class Menu<T> : MonoBehaviour where T:class, Menu<T>.Item {
- // contents
- public interface Item {
- // contents
- }
- }
- // RoundMenu.cs : -FirstPass
- public abstract class RoundMenu : Menu<RoundMenu.Button> {
- // contents
- public abstract class Button: DragButton, RoundMenu.Item {
- // contents
- }
- }
- // UnitMenu.cs : -FirstPass
- public interface UnitMenu<out T> where T: class, Menu<T>.Item {
- // contents
- }
- // TargetedActionButton.cs : Second pass
- public abstract class TargetedActionButton : RoundMenu.Button {
- // contents
- }
- // FloatingMenu.cs : Second pass
- public abstract class FloatingMenu : RoundMenu {
- // contents
- }
- // FloatingUnitMenu.cs : Second pass
- public class FloatingUnitMenu : FloatingMenu, UnitMenu<FloatingUnitMenu.Button> {
- // redacted several methods and properties for brevity
- new public class Button : TargetedActionButton, Menu<FloatingUnitMenu.Button>.Item, UnitGroup.UnitButton {
- // redacted for brevity
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement