Exemple #1
0
        /// <summary>指令处理</summary>
        public ASObject Switch(int moduleNumber, int commandNumber, TGGSession session, ASObject data)
        {
#if DEBUG
            var sw = Stopwatch.StartNew();
#endif
            if (!CommonHelper.IsOpen(session.Player.Role.Kind.role_level, (int)OpenModelType.美浓))
            {
                return(CommonHelper.ErrorResult(ResultType.BASE_PLAYER_LEVEL_ERROR));
            }

            var aso = new ASObject();

            //指令匹配
            switch (commandNumber)
            {
            case (int)SiegeCommand.ENTER: { aso = ENTER.GetInstance().CommandStart(session, data); break; }

            case (int)SiegeCommand.MAKE_LADDER: { aso = MAKE_LADDER.GetInstance().CommandStart(session, data); break; }

            case (int)SiegeCommand.ENTER_ENTRY_POINT: { aso = ENTER_ENTRY_POINT.GetInstance().CommandStart(session, data); break; }

            case (int)SiegeCommand.DEFEND: { aso = DEFEND.GetInstance().CommandStart(session, data); break; }

            case (int)SiegeCommand.ATTACK_BOSS: { aso = ATTACK_BOSS.GetInstance().CommandStart(session, data); break; }

            case (int)SiegeCommand.BROKEN_BASE: { aso = BROKEN_BASE.GetInstance().CommandStart(session, data); break; }

            case (int)SiegeCommand.EXIT: { aso = EXIT.GetInstance().CommandStart(session); break; }

            case (int)SiegeCommand.MOVING: { aso = MOVING.GetInstance().CommandStart(session, data); break; }

            case (int)SiegeCommand.ATTACK_GATE: { aso = ATTACK_GATE.GetInstance().CommandStart(session, data); break; }

            case (int)SiegeCommand.GO_BACK: { aso = GO_BACK.GetInstance().CommandStart(session, data); break; }

            default: break;
            }
#if DEBUG
            sw.Stop();
            XTrace.WriteLine("指令 {1} 运行总耗时:{0} 毫秒", sw.ElapsedMilliseconds.ToString(), GetType().Namespace);
#endif
            return(aso);
        }
 public override void Initialize()
 {
     object[] array = GameSection.GetEventData() as object[];
     tab      = (ItemStorageTop.TAB_MODE)(int) array[0];
     sellData = (array[1] as List <SortCompareData>);
     if (array.Length > 2)
     {
         goBackTo = (GO_BACK)(int)array[2];
     }
     base.isRareConfirm            = false;
     base.isEquipConfirm           = false;
     base.isExceedConfirm          = false;
     base.isExceedEquipmentConfirm = false;
     sellData.ForEach(delegate(SortCompareData sort_data)
     {
         if (!base.isRareConfirm || !base.isEquipConfirm || (!base.isExceedConfirm && !base.isExceedEquipmentConfirm))
         {
             if (!base.isRareConfirm && GameDefine.IsRare(sort_data.GetRarity()))
             {
                 base.isRareConfirm = true;
             }
             if (!base.isEquipConfirm && sort_data.IsEquipping())
             {
                 base.isEquipConfirm = true;
             }
             if (!base.isExceedConfirm && !base.isExceedEquipmentConfirm && sort_data.IsExceeded())
             {
                 if (sort_data.GetMaterialType() == REWARD_TYPE.EQUIP_ITEM)
                 {
                     base.isExceedEquipmentConfirm = true;
                 }
                 else
                 {
                     base.isExceedConfirm = true;
                 }
             }
         }
     });
     base.Initialize();
 }