public TeamManagement(string name, GUIComponent parent, int rx, int ry) : base(name, parent, rx, ry) { background = Global.content.Load <Texture2D>("TeamManagementBackground"); frame = Global.content.Load <Texture2D>("TeamManagementFrame"); font16 = Global.content.Load <SpriteFont>("neodgm12"); full = false; player = Global.world.GetPlayer(); // Prepare hero socket frontGroup = new DragSocketGroup("HeroFrontGroup", this, FRONTSTART_X, FRONTSTART_Y, Player.HEROFRONT_MAX); behindGroup = new DragSocketGroup("HeroBehindGroup", this, FRONTSTART_X, BEHINDSTART_Y, Player.HEROBEHIND_MAX); storedGroup = new DragSocketGroup("HeroStoredGroup", this, STORESTART_X, STORESTART_Y, Player.HEROSTORED_MAX); components.Add(frontGroup); components.Add(behindGroup); components.Add(storedGroup); for (int i = 0; i < Player.HEROSTORED_MAX; i++) { storedGroup.AddSocket(i, new HeroSummarySocket("HeroStored", this, STORE_GAP * i, 0, new string[] { "HeroFront", "HeroBehind" })); } // Prepare item socket itemGroup = new DragSocketGroup("ItemGroup", this, ITEMSTART_X, ITEMSTART_Y, Player.ITEM_MAX); components.Add(itemGroup); for (int row = 0; row < Player.ITEM_HEIGHT; row++) { for (int col = 0; col < Player.ITEM_WIDTH; col++) { itemGroup.AddSocket(col + row * Player.ITEM_WIDTH, new ItemSocket("ItemSocket", this, ITEM_GAP * col, ITEM_GAP * row, col, row)); } } // Prepare skill icons skills = new SkillIcon[5]; for (int i = 0; i < Player.SKILL_MAX; i++) { skills[i] = new SkillIcon("Skill" + i, this, SKILLSTART_X + SKILL_GAP * i, SKILLSTART_Y); components.Add(skills[i]); } }
protected override void Prepare() { player = Global.world.GetPlayer(); player.Stand(); guiLayer = (GUILayer)Global.world.GetLayer("GUILayer"); topEffectLayer = (EffectLayer)Global.world.GetLayer("TopEffectLayer"); teamManagement = (TeamManagement)((GUILayer)Global.world.GetLayer("GUILayer")).GetGUI <TeamManagement>(); teamManagement.full = true; selector = new Selector(mirrorMode: true); selector.CreateNewMatrix("HeroSockets", Player.HEROFRONT_MAX, 3); selector.ChangeMatrix("HeroSockets"); heroFrontGroup = (DragSocketGroup)teamManagement.FindComponent("HeroFrontGroup"); heroBehindGroup = (DragSocketGroup)teamManagement.FindComponent("HeroBehindGroup"); heroStoredGroup = (DragSocketGroup)teamManagement.FindComponent("HeroStoredGroup"); keyActions.Add(new KeyAction(Keys.Enter, pressed: () => { ChangeState(new ExploreState(pressedKeys)); teamManagement.full = false; })); keyActions.Add(new KeyAction(Keys.W, pressed: () => { selector.SelectNext(Direction.Up); })); keyActions.Add(new KeyAction(Keys.S, pressed: () => { selector.SelectNext(Direction.Down); })); keyActions.Add(new KeyAction(Keys.A, pressed: () => { selector.SelectNext(Direction.Left); })); keyActions.Add(new KeyAction(Keys.D, pressed: () => { selector.SelectNext(Direction.Right); })); keyActions.Add(new KeyAction(Keys.E, pressed: () => { selector.SelectAction(); })); keyActions.Add(new KeyAction(Keys.Q, pressed: () => { selector.Rewind(); DeselectHero(); })); dragging = false; base.Prepare(); }