public void Update(GameTime g, Camera2D cam) { Vector2 worldMousePos = cam.GetWorldMousePos(); Vector2 noReq = new Vector2(-1, -1); for (int i = 0; i < tiers.Count; i++) { for (int j = 0; j < tiers[i].Length; j++) { TreeNode tn = tiers[i][j]; bool requirementsMet = true; if (tn == null) { continue; } //check requirements if (tn.Req != noReq) { if (tiers[(int)tn.Req.X][(int)tn.Req.Y].points != tiers[(int)tn.Req.X][(int)tn.Req.Y].GetMaximumPointsAllowed()) { requirementsMet = false; } } if (tn.CheckMouseClick(worldMousePos) & InputHandler.MouseState.LeftButton == ButtonState.Pressed & InputHandler.LastMouseState.LeftButton == ButtonState.Released & GetPoints() != MaxTotalPoints & requirementsMet) tn.AddPoint(); tn.Update(g, GetPoints(), requirementsMet); } } }
public TreePanel(Vector2 upLeft, Vector2 botRight) : base(upLeft, botRight) { cam = new Camera2D(Vector2.Zero, this); tree = new MercenarySkillTree(); }