public static void AddSeperator(RenderContext context, CardElement element, Grid uiContainer)
        {
            if (element.Spacing == Spacing.None && !element.Separator)
            {
                return;
            }

            var uiSep = new Grid();

            uiSep.Style = context.GetStyle($"Adaptive.Separator");
            int spacing = context.Config.GetSpacing(element.Spacing);

            SeparatorConfig sepStyle = context.Config.Separator;

            uiSep.Margin = new Thickness(0, (spacing - sepStyle.LineThickness) / 2, 0, (spacing - sepStyle.LineThickness) / 2);
            uiSep.SetHeight(sepStyle.LineThickness);
            if (!string.IsNullOrWhiteSpace(sepStyle.LineColor))
            {
                uiSep.SetBackgroundColor(sepStyle.LineColor, context);
            }
            uiContainer.RowDefinitions.Add(new RowDefinition()
            {
                Height = GridLength.Auto
            });
            Grid.SetRow(uiSep, uiContainer.RowDefinitions.Count - 1);
            uiContainer.Children.Add(uiSep);
        }
Exemple #2
0
        private static Point GetTrackingPoint(CardElement element, string direction)
        {
            var point = Bounds.CenterOf(element.Bounds);

            if (direction.Contains("Top"))
            {
                point.Y = element.Top;
            }

            if (direction.Contains("Bottom"))
            {
                point.Y = element.Bounds.Bottom;
            }

            if (direction.Contains("Left"))
            {
                point.X = element.Left;
            }

            if (direction.Contains("Right"))
            {
                point.X = element.Bounds.Right;
            }

            return(point);
        }
        protected static void AddSeparator(HtmlTag uiContainer, CardElement cardElement, RenderContext context)
        {
            switch (cardElement.Separation)
            {
            case SeparationStyle.None:
                return;

            case SeparationStyle.Default:
            {
                SeparationConfig sep = context.GetElementSeparation(cardElement);
                var uiSep            = new DivTag()
                                       .AddClass("ac-separator")
                                       .Style("height", $"{sep.Spacing}px");
                uiContainer.Children.Add(uiSep);
            }
                return;

            case SeparationStyle.Strong:
            {
                SeparationConfig sep = context.Config.StrongSeparation;
                var uiSep            = new DivTag()
                                       .AddClass("ac-separator")
                                       .Style("padding-top", $"{sep.Spacing}px")
                                       .Style("margin-top", $"{sep.Spacing}px")
                                       .Style("border-top-color", $"{context.GetRGBColor(sep.LineColor)}")
                                       .Style("border-top-width", $"{sep.LineThickness}px")
                                       .Style("border-top-style", "solid")
                ;
                uiContainer.Children.Add(uiSep);
            }
                return;
            }
        }
Exemple #4
0
        public async Task <CardElement> InitCardLike()
        {
            var card = new CardElement();

            card.Title        = "Amour pour la raclette";
            card.NumberResult = new List <FieldElement>();
            foreach (var item in RaclettePollsList)
            {
                var temp = item.Like ? "Oui" : "Non";

                if (card.NumberResult.Count(p => p.Key == temp) == 0)
                {
                    card.NumberResult.Add(new FieldElement()
                    {
                        Key = temp, Value = 1, Color = ColorsUtils.Instance.GetRandomColor()
                    });
                }
                else
                {
                    card.NumberResult.Find(p => p.Key == temp).Value += 1;
                }
            }
            card.NumberResult = card.NumberResult.OrderByDescending(p => p.Value).Select(d => d).ToList();

            card.GraphResult = new GraphPie(card.NumberResult);
            return(card);
        }
Exemple #5
0
 public RouteChoice findRoute(CardEmotion emotion, CardElement element)
 {
     if (emotion == CardEmotion.violent && element == CardElement.airborne)
     {
         return(RouteChoice.AirViolent);
     }
     if (emotion == CardEmotion.violent && element == CardElement.fluid)
     {
         return(RouteChoice.ContactViolent);
     }
     if (emotion == CardEmotion.violent && element == CardElement.water)
     {
         return(RouteChoice.WaterViolent);
     }
     if (emotion == CardEmotion.nonviolent && element == CardElement.airborne)
     {
         return(RouteChoice.AirNon);
     }
     if (emotion == CardEmotion.nonviolent && element == CardElement.fluid)
     {
         return(RouteChoice.ContactNon);
     }
     if (emotion == CardEmotion.nonviolent && element == CardElement.water)
     {
         return(RouteChoice.WaterNon);
     }
     return(RouteChoice.AirViolent);
 }
Exemple #6
0
    // user has chosen a card
    public void continueWithChoice(Card card)
    {
        CardEmotion resultEmotion = choiceTree.calculateViolence(card);
        CardElement resultElement = choiceTree.calculateElement(card);

        instructions = "You chose a " + card.cardText.GetComponent <Text>().text + " approach. The zombies decided to take a "
                       + resultEmotion.ToString() + ", " + resultElement + " approach!";

        GameManager._instance.DisplaySelectionText(instructions);
        routeChoice = choiceTree.findRoute(resultEmotion, resultElement);

        // remove card display
        foreach (Card c in inGameHand)
        {
            c.GetComponent <RectTransform>().SetSiblingIndex(0);
            c.GetComponent <Button>().interactable = false;
            // Destroy(c.gameObject);
        }

        // add hand back to deck
        //while(hand.Count > 0)
        //{
        //    deck.Cards.Add(hand[hand.Count-1]);
        //    hand.RemoveAt(hand.Count-1);
        //}
    }
Exemple #7
0
 private void SelectElement(CardElement element)
 {
     foreach (var el in _layoutDocument.Elements)
     {
         el.Selected = el == element;
     }
 }
Exemple #8
0
 public AddElementAction(LayoutDocument layoutDocument, CardElement newElement)
 {
     _layoutDocument = layoutDocument;
     _newElements    = new List <CardElement> {
         newElement
     };
 }
Exemple #9
0
    //public bool HasPrevFaceDown()
    //{
    //    return m_PrevFaceDown ? true : false;
    //}

    public void OnSelectedChange(bool changeStack = true)
    {
        if (m_IsSelected)
        {
            Logger.Instance.PrintLog(Common.DEBUG_TAG, "card " + m_CardName + " isSelected");
            m_Renderer.color = Color.yellow;
            m_PrevPos        = this.transform.position;
        }
        else
        {
            Logger.Instance.PrintLog(Common.DEBUG_TAG, "card " + m_CardName + " deSelected");
            m_Renderer.color = Color.white;
            m_PrevPos        = Vector3.zero;
        }

        if (changeStack)
        {
            if (m_NextInStack && ((m_NextInStack.position & this.position) > 0))
            {
                if (((m_NextInStack.position & (Solitaire.CardPosition.Top1 | Solitaire.CardPosition.Top2 | Solitaire.CardPosition.Top3 | Solitaire.CardPosition.Top4)) == 0))
                {
                    m_NextInStack.IsSelected = m_IsSelected;
                }
            }
            else
            {
                if (m_IsSelected)
                {
                    Utilities.Instance.DispatchEvent(Solitaire.Event.PlayAudio, "play_one", 0);
                }
                m_NextInStack = null;
            }
        }
    }
Exemple #10
0
        protected override void OnMouseDown(MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left && !IsDisplayOnly)
            {
                _mouseDownPoint  = e.GetPosition(this);
                _mouseDownTarget = Elements.Where(el => el.Bounds.Contains(_mouseDownPoint.Value)).LastOrDefault();

                if (_mouseDownTarget != null)
                {
                    if (_mouseDownTarget.Selected == false && Keyboard.Modifiers.HasFlag(ModifierKeys.Shift) == false)
                    {
                        DeselectAll();
                        _mouseDownTarget.Selected = true;
                    }
                    else if (_mouseDownTarget.Selected && Keyboard.Modifiers.HasFlag(ModifierKeys.Shift))
                    {
                        _mouseDownTarget.Selected = false;
                    }
                    else
                    {
                        _mouseDownTarget.Selected = true;
                    }
                }

                Mouse.Capture(this);
            }

            base.OnMouseDown(e);
        }
Exemple #11
0
    private void ShowHintForStack(CardElement target, GameObject destination)
    {
        CardElement nextInStack = null;
        CardElement cloneCard   = null;

        nextInStack = target;
        Vector3 dest     = destination.transform.position;
        Vector3 clonePos = target.transform.position;

        clonePos.z = -10.0f - Common.ZOFFSET;
        while (nextInStack)
        {
            cloneCard            = Instantiate(nextInStack, clonePos, Quaternion.identity);
            cloneCard.IsSelected = true;
            Utilities.Instance.MoveToWithCallBack(cloneCard.gameObject, dest, 1.0f, "DestroyAfterMove");

            nextInStack = nextInStack.NextInStack;
            if (!nextInStack)
            {
                break;
            }
            clonePos.x  = nextInStack.transform.position.x;
            clonePos.y  = nextInStack.transform.position.y;
            clonePos.z -= Common.ZOFFSET;
            dest.y     -= Common.YOFFSET;
            dest.z     -= Common.ZOFFSET;
        }
    }
Exemple #12
0
    public bool CheckMoveCard(CardElement cardValue, Collider2D collider)
    {
        switch (collider.tag)
        {
        case "Card":
        {
            //element.m_CardValue = 1;
            break;
        }

        case "Bottom":
        {
            break;
        }

        case "Top":
        {
            break;
        }

        default:
        {
            break;
        }
        }
        return(false);
    }
        protected static void AddSeparator(HtmlTag uiContainer, CardElement cardElement, RenderContext context)
        {
            if (!cardElement.Separator && cardElement.Spacing == Spacing.None)
            {
                return;
            }

            int spacing = context.Config.GetSpacing(cardElement.Spacing);

            if (cardElement.Separator)
            {
                SeparatorConfig sep   = context.Config.Separator;
                var             uiSep = new DivTag()
                                        .AddClass("ac-separator")
                                        .Style("padding-top", $"{spacing}px")
                                        .Style("margin-top", $"{spacing}px")
                                        .Style("border-top-color", $"{context.GetRGBColor(sep.LineColor)}")
                                        .Style("border-top-width", $"{sep.LineThickness}px")
                                        .Style("border-top-style", "solid")
                ;
                uiContainer.Children.Add(uiSep);
            }
            else
            {
                var uiSep = new DivTag()
                            .AddClass("ac-separator")
                            .Style("height", $"{spacing}px");
                uiContainer.Children.Add(uiSep);
            }
        }
        /// <summary>
        /// Get fallback text from the speech element
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        public static string GetFallbackText(CardElement cardElement)
        {
#if WPF
#pragma warning disable CS0618 // Type or member is obsolete
            if (!string.IsNullOrEmpty(cardElement.Speak))
            {
                var doc = new System.Xml.XmlDocument();
                var xml = cardElement.Speak;
                if (!xml.Trim().StartsWith("<"))
                {
                    xml = $"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Speak>{xml}</Speak>";
                }
                else if (!xml.StartsWith("<?xml "))
                {
                    xml = $"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n{xml}";
                }
                doc.LoadXml(xml);
                return(doc.InnerText);
            }
#pragma warning restore CS0618 // Type or member is obsolete
#elif XAMARIN
            // TODO: Xamarin fallback
#endif

            return(null);
        }
Exemple #15
0
        private void Element_DataChanged(object sender, ElementControlEventArgs e)
        {
            var el = new CardElement();

            switch (e.Type)
            {
            case 0:
                var cb = new CardBackground();
                cb.layer  = e.Layer;
                cb.x      = (int)e.Locate.X;
                cb.y      = (int)e.Locate.Y;
                cb.bgPath = e.Path;
                card.Set(e.Layer, cb);
                break;

            case 1:
                var cf = new CardFram();
                cf.layer  = e.Layer;
                cf.x      = (int)e.Locate.X;
                cf.y      = (int)e.Locate.Y;
                cf.bgPath = e.Path;
                card.Set(e.Layer, cf);
                break;

            case 2:
                var ci = new CardImage();
                ci.layer  = e.Layer;
                ci.x      = (int)e.Locate.X;
                ci.y      = (int)e.Locate.Y;
                ci.bgPath = e.Path;
                ci.Width  = elements[e.Layer].pictureWidth.Value;
                ci.Height = elements[e.Layer].pictureHeight.Value;
                card.Set(e.Layer, ci);
                break;

            case 3:
                var cn = new CardImgNum();
                cn.layer  = e.Layer;
                cn.x      = (int)e.Locate.X;
                cn.y      = (int)e.Locate.Y;
                cn.bgPath = e.Path;
                cn.num    = e.Num;
                card.Set(e.Layer, cn);

                break;

            case 4:
                var ct = new CardText();
                ct.layer  = e.Layer;
                ct.x      = (int)e.Locate.X;
                ct.y      = (int)e.Locate.Y;
                ct.bgPath = e.Path;
                ct.Text   = e.Text;
                card.Set(e.Layer, ct);
                break;
            }

            Render();
        }
 void Start()
 {
     cardElement = GetComponent <CardElement>();
     if (cardElement.card.category == blackCardCategory)
     {
         gameObject.AddComponent <BlackCardBehaviour>();
     }
 }
Exemple #17
0
    public void AddCard(int id)
    {
        mCardElementList[id].gameObject.SetActive(false);

        CardElement selectedCard = Instantiate(mSelectedCardPrefab, mScrollPos2);

        selectedCard.Init(mCardDataArr[id].ID, mCardDataArr[id].Contents, RemoveCard);
        mSelectedCardDic.Add(mCardDataArr[id].ID, selectedCard);
    }
        public async Task TestMethodInitCardClient1_2_2_1()
        {
            IndexViewModel unindex = new IndexViewModel();
            await unindex.InitAsync();

            CardElement card = await unindex.InitCardClient();

            Assert.IsNotNull(card.NumberResult);
        }
Exemple #19
0
 public void FlipPreDownCard()
 {
     if (m_PrevInStack && !m_PrevInStack.IsFaceUp)
     {
         m_PrevInStack.gameObject.layer = 8;
         m_PrevInStack.IsFaceUp         = true;
         m_PrevInStack = null;
     }
 }
        public async Task TestMethodInitCardLike1_2_1_2()
        {
            IndexViewModel unindex = new IndexViewModel();
            await unindex.InitAsync();

            CardElement card = await unindex.InitCardLike();

            Assert.IsInstanceOfType(card.Title, typeof(string));
        }
        public async Task TestMethodInitCardLike1_2_2_2()
        {
            IndexViewModel unindex = new IndexViewModel();
            await unindex.InitAsync();

            CardElement card = await unindex.InitCardLike();

            Assert.IsInstanceOfType(card.NumberResult, typeof(List <FieldElement>));
        }
        public async Task TestMethodInitCardLike1_2_3_2()
        {
            IndexViewModel unindex = new IndexViewModel();
            await unindex.InitAsync();

            CardElement card = await unindex.InitCardLike();

            Assert.IsInstanceOfType(card.GraphResult, typeof(GraphPie));
        }
        public async Task TestMethodInitCardLike1_2_3_1()
        {
            IndexViewModel unindex = new IndexViewModel();
            await unindex.InitAsync();

            CardElement card = await unindex.InitCardLike();

            Assert.IsNotNull(card.GraphResult);
        }
        public async Task TestMethodInitCardFavorite1_2_1_1()
        {
            IndexViewModel unindex = new IndexViewModel();
            await unindex.InitAsync();

            CardElement card = await unindex.InitCardFavorite();

            Assert.IsNotNull(card.Title);
        }
Exemple #25
0
 public static string ToSymbol(this CardElement element)
 {
     return(element switch
     {
         CardElement.Fire => "F",
         CardElement.Water => "W",
         CardElement.Ice => "I",
         _ => ""
     });
Exemple #26
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (!m_IsSelected)
        {
            return;
        }

        switch (collision.tag)
        {
        case "Card":
        {
            CardElement card = collision.gameObject.GetComponent <CardElement>();
            //Logger.Instance.PrintLog(Common.DEBUG_TAG, "card " + m_CardName + " OnTriggerEnter2D with " + card.CardName);
            if (!card.IsInStack() && card.IsFaceUp)
            {
                m_CollidedTag = 1;
                m_Collided    = collision.gameObject;
            }
            break;
        }

        case "Top":
        {
            //Logger.Instance.PrintLog(Common.DEBUG_TAG, "card " + m_CardName + " OnTriggerEnter2D with " + collision.gameObject.name);
            if (collision.gameObject.transform.childCount == 0)
            {
                m_CollidedTag = 2;
                m_Collided    = collision.gameObject;
            }
            break;
        }

        case "Bottom":
        {
            //Logger.Instance.PrintLog(Common.DEBUG_TAG, "card " + m_CardName + " OnTriggerEnter2D with " + collision.gameObject.name);
            if (collision.gameObject.transform.childCount == 0)
            {
                m_CollidedTag = 3;
                m_Collided    = collision.gameObject;
            }
            else
            {
                //TODO: any better way to do this
                //GameObject lastChild = collision.transform.GetChild(collision.transform.childCount - 1).gameObject;
                //CardElement card = lastChild.GetComponent<CardElement>();

                //if (!card.IsInStack() && card.IsFaceUp && card.position != this.position)
                //{
                //    m_CollidedTag = 1;
                //    m_Collided = lastChild;
                //}
            }
            break;
        }
        }
    }
Exemple #27
0
        public Card PlayCard(CardElement element, int number)
        {
            Card card = Hand.FirstOrDefault(x => x.Element == element && x.Number == number);

            if (card != null)
            {
                Hand.Remove(card);
            }
            return(card);
        }
Exemple #28
0
 public ResizeAction(CardElement element, string direction, Guidelines guidelines)
 {
     _element        = element;
     _direction      = direction;
     _original       = element.Bounds;
     _final          = element.Bounds;
     _guidelines     = guidelines;
     _trackingPoint  = GetTrackingPoint(element, direction);
     _referencePoint = _trackingPoint;
 }
Exemple #29
0
    private void ShowHint(CardElement target, GameObject destination)
    {
        Vector3 clonePos = target.transform.position;

        clonePos.z = -10.0f - Common.ZOFFSET;
        CardElement cloneCard = Instantiate(target, clonePos, Quaternion.identity);

        cloneCard.IsSelected = true;
        Utilities.Instance.MoveToWithCallBack(cloneCard.gameObject, destination.transform.position, 1.0f, "DestroyAfterMove");
    }
Exemple #30
0
    public void SetCurrentCard(CardElement card)
    {
        if (m_CurrentSelected && m_CurrentSelected.CardValue != card.CardValue)
        {
            m_CurrentSelected.IsSelected = false;
        }


        m_CurrentSelected            = card;
        m_CurrentSelected.IsSelected = true;
    }
Exemple #31
0
 IEnumerator SettingUI(CardElement card)
 {
     yield return null;
     elem = card;
     Debug.Log(card.GetName() + " init");
     _name.text = elem.GetName();
     _level.text = elem.GetCost().ToString();
     if (_picture != null)
         _picture.color = elem.GetColor();
     if (_lastWill != null)
         _lastWill.text = elem.GetLastWillDesc();
 }
 public void LoadPlayerFromCard(CardElement elem)
 {
     m_id = elem.GetId();
     m_lastWillPow = elem.GetLastWill();
     m_name = elem.GetName();
     m_maxHp = elem.GetHp();
     m_curHp = m_maxHp;
     m_baseAttack = elem.GetAttack();
     m_defence = elem.GetDefence();
     GetComponent<SpriteRenderer>().color = elem.GetColor();
     if (m_lastWillFunc.GetPreviousWill() == ELastWill.BOOST)
         m_bonusAttack = 30;
 }
    public void StartTheRun(CardElement card)
    {
        m_curentHero = card;

        GameObject.FindObjectOfType<PlayableCharacter>().LoadPlayerFromCard(m_curentHero);
        m_curentState = EGameState.GAME;
        Time.timeScale = 1;
        GameObject[] objs = GameObject.FindGameObjectsWithTag("Ennemies");
        foreach(GameObject obj in objs)
        {
            obj.GetComponent<Rigidbody2D>().isKinematic = false;
        }
        //load un hero avec ces infos
        //play le game
    }
    public void SetCurLevel()
    {
        string levelName = Application.loadedLevelName;
        Debug.Log(Application.loadedLevelName);

        m_curentHero = null;
        m_idDeads = new List<int>();

        Debug.LogError("SetLevel");

        if (levelName.Contains(m_menuScene))
        {
            m_currentSceneId = -1;
            m_curentState = EGameState.MENU;
        }
        else
        {
            m_currentSceneId = int.Parse(levelName.Split(new char[] { '_', '.' })[1]);
            m_curentState = EGameState.SELECTION;
            StartCoroutine(DisplayDeckOrder(1));
        }
        Debug.Log(this.GetInstanceID());
    }
Exemple #35
0
 public void Init(CardElement card)
 {
     StartCoroutine(SettingUI(card));
 }
 public void SetParams(CardElement other)
 {
     _isUnlocked = other._isUnlocked;
     m_id = other.GetId();
     m_cost = other.GetCost();
     m_name = other.GetName();
     m_lastWillPow = other.GetLastWill();
     m_lastWillDescription = other.GetLastWillDesc();
     m_maxHp = other.GetHp();
     m_baseAttack = other.GetAttack();
     m_defence = other.GetDefence();
 }