Esempio n. 1
0
        EliminateInfo GetEliminateResult(List <ANode> resultNode, List <ANode> unpairNode)
        {
            var eliminateInfo = new EliminateInfo();
            var type          = resultNode[0].Type;

            foreach (var o in resultNode)
            {
                unpairNode[unpairNode.IndexOf(o)] = null;
                switch (type)
                {
                case NodeType.ATTACK:
                    eliminateInfo.Atk += (o as AttackNode).Atk;
                    break;

                case NodeType.MANA:
                    eliminateInfo.Mana += (o as ManaNode).Mana;
                    break;

                case NodeType.ENERGY:
                    eliminateInfo.EnergyTime += (o as EnergyNode).TimePlus;
                    break;

                case NodeType.DEFENSE:
                    eliminateInfo.Def += (o as DefenseNode).Def;
                    break;

                case NodeType.CHEST:
                    var node = (o as ChestNode);
                    switch (node.ChestType)
                    {
                    case ChestType.ATK_UP:
                        eliminateInfo.Atk += node.Attr.AtkUp;
                        break;

                    case ChestType.DEF_UP:
                        eliminateInfo.Def += node.Attr.DefUp;
                        break;

                    case ChestType.ENERGY_UP:
                        eliminateInfo.EnergyTime += node.Attr.EnergyUp;
                        break;

                    case ChestType.HP_RECOVER:
                        eliminateInfo.HPRecover += node.Attr.HPRecover;
                        break;
                    }
                    break;
                }
            }
            return(eliminateInfo);
        }
 public OnNodeEliminate(EliminateInfo info) => Info = info;