Exemple #1
0
    public static void ClickUnit(Unit iUnit)
    {
        if (Active.MouseState == MOUSE_STATE.SELECT_UNIT)
        {
            Player.Active.SelectUnit(iUnit);
        }
        else if (Active.MouseState == MOUSE_STATE.PLACE_TOWER)
        {
            // Override tower, maybe, but probably not.
        }

        if (iUnit != null && Player.Active._selectedUnit != null)
        {
            if (iUnit is Tower && Player.Active._selectedUnit is Tower)
            {
                PowerManager sourcePowerManager = (Player.Active._selectedUnit as Tower)._powerManager;
                PowerManager targetPowerManager = (iUnit as Tower)._powerManager;

                // This really calls for a UI_Button Library or something.
                if (Active.MouseState == MOUSE_STATE.ADD_SHORT_LINK)
                {
                    sourcePowerManager.AddLink(targetPowerManager, false);
                    Active.CheckShift();
                }
                else if (Active.MouseState == MOUSE_STATE.ADD_LONG_LINK)
                {
                    sourcePowerManager.AddLink(targetPowerManager, true);
                    Active.CheckShift();
                }
                else if (Active.MouseState == MOUSE_STATE.REMOVE_LINK)
                {
                    sourcePowerManager.RemoveLink(targetPowerManager);
                    Active.CheckShift();
                }
            }
        }
    }