public void SendSyncExploreBoss(ExploreStatus explore, int toClientId = -1)
    {
        Coop_Model_RoomSyncExploreBoss coop_Model_RoomSyncExploreBoss = new Coop_Model_RoomSyncExploreBoss();

        coop_Model_RoomSyncExploreBoss.id  = 1001;
        coop_Model_RoomSyncExploreBoss.mId = explore.GetCurrentBossMapId();
        if (explore.bossStatus != null)
        {
            coop_Model_RoomSyncExploreBoss.hp  = explore.bossStatus.hp;
            coop_Model_RoomSyncExploreBoss.hpm = explore.bossStatus.hpMax;
            coop_Model_RoomSyncExploreBoss.bhp = explore.bossStatus.barrierHp;
            coop_Model_RoomSyncExploreBoss.shp = explore.bossStatus.shieldHp;
            coop_Model_RoomSyncExploreBoss.SetRegions(explore.bossStatus.regionWorks);
            coop_Model_RoomSyncExploreBoss.angid   = explore.bossStatus.nowAngryId;
            coop_Model_RoomSyncExploreBoss.eangids = explore.bossStatus.execAngryIds;
            coop_Model_RoomSyncExploreBoss.isMM    = explore.bossStatus.isMadMode;
        }
        else
        {
            coop_Model_RoomSyncExploreBoss.hp = -1;
        }
        if (toClientId > 0)
        {
            MonoBehaviourSingleton <CoopNetworkManager> .I.SendTo(toClientId, coop_Model_RoomSyncExploreBoss, true, null, null);
        }
        else
        {
            MonoBehaviourSingleton <CoopNetworkManager> .I.SendBroadcast(coop_Model_RoomSyncExploreBoss, true, null, null);
        }
    }
Ejemplo n.º 2
0
    public void OnRecvSyncExploreBoss(Coop_Model_RoomSyncExploreBoss model)
    {
        if (MonoBehaviourSingleton <InGameManager> .IsValid() && (!MonoBehaviourSingleton <QuestManager> .I.IsExploreBossMap() || !MonoBehaviourSingleton <QuestManager> .I.IsBossAppearMap(model.mId)))
        {
            int bossMapId = (int)MonoBehaviourSingleton <QuestManager> .I.GetBossMapId();

            if (bossMapId != 0 && bossMapId != model.mId)
            {
                MonoBehaviourSingleton <QuestManager> .I.UpdatePassedPortal();
            }
        }
        MonoBehaviourSingleton <QuestManager> .I.SyncExploreBossStatus(model);
    }
Ejemplo n.º 3
0
 public void SyncBoss(Coop_Model_RoomSyncExploreBoss boss)
 {
     if (bossMapIdHistory.Count == 0)
     {
         bossMapIdHistory.Add(boss.mId);
     }
     else if (bossMapIdHistory[bossMapIdHistory.Count - 1] != boss.mId)
     {
         bossMapIdHistory.Add(boss.mId);
     }
     if (boss.hp >= 0)
     {
         if (bossStatus == null)
         {
             bossStatus = new ExploreBossStatus();
         }
         bossStatus.UpdateStatus(boss);
     }
 }
Ejemplo n.º 4
0
    public void UpdateStatus(Coop_Model_RoomSyncExploreBoss boss)
    {
        hpMax       = boss.hpm;
        hp          = boss.hp;
        barrierHp   = boss.bhp;
        downCount   = boss.downCount;
        shieldHp    = boss.shp;
        regionWorks = new EnemyRegionWork[boss.rs.Length];
        int i = 0;

        for (int num = boss.rs.Length; i < num; i++)
        {
            EnemyRegionWork enemyRegionWork = new EnemyRegionWork();
            boss.rs[i].ApplyTo(enemyRegionWork);
            regionWorks[i] = enemyRegionWork;
        }
        nowAngryId   = boss.angid;
        execAngryIds = boss.eangids;
        isMadMode    = boss.isMM;
    }
    protected override bool HandleCoopEvent(CoopPacket packet)
    {
        bool result = false;

        switch (packet.packetType)
        {
        case PACKET_TYPE.ROOM_SYNC_ALL_PORTAL_POINT:
        {
            Coop_Model_RoomSyncAllPortalPoint model16 = packet.GetModel <Coop_Model_RoomSyncAllPortalPoint>();
            coopRoom.OnRecvSyncAllPortalPoint(model16);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_UPDATE_PORTAL_POINT:
        {
            Coop_Model_RoomUpdatePortalPoint model15 = packet.GetModel <Coop_Model_RoomUpdatePortalPoint>();
            coopRoom.OnRecvRoomUpdatePortalPoint(model15);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_SYNC_EXPLORE_BOSS:
        {
            Coop_Model_RoomSyncExploreBoss model14 = packet.GetModel <Coop_Model_RoomSyncExploreBoss>();
            coopRoom.OnRecvSyncExploreBoss(model14);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_SYNC_EXPLORE_BOSS_MAP:
        {
            Coop_Model_RoomSyncExploreBossMap model13 = packet.GetModel <Coop_Model_RoomSyncExploreBossMap>();
            coopRoom.OnRecvSyncExploreBossMap(model13);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_EXPLORE_BOSS_DAMAGE:
        {
            Coop_Model_RoomExploreBossDamage model12 = packet.GetModel <Coop_Model_RoomExploreBossDamage>();
            coopRoom.OnRecvExploreBossDamage(packet.fromClientId, model12);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_EXPLORE_ALIVE:
        {
            Coop_Model_RoomExploreAlive model11 = packet.GetModel <Coop_Model_RoomExploreAlive>();
            coopRoom.OnRecvExploreAlive();
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_EXPLORE_ALIVE_REQUEST:
        {
            Coop_Model_RoomExploreAliveRequest model10 = packet.GetModel <Coop_Model_RoomExploreAliveRequest>();
            coopRoom.OnRecvExploreAliveRequest();
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_EXPLORE_BOSS_DEAD:
        {
            Coop_Model_RoomExploreBossDead model9 = packet.GetModel <Coop_Model_RoomExploreBossDead>();
            result = coopRoom.OnRecvExploreBossDead(model9);
            break;
        }

        case PACKET_TYPE.ROOM_NOTIFY_ENCOUNTER_BOSS:
        {
            Coop_Model_RoomNotifyEncounterBoss model8 = packet.GetModel <Coop_Model_RoomNotifyEncounterBoss>();
            coopRoom.OnRecvNotifyEncounterBoss(packet.fromClientId, model8);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_SYNC_PLAYER_STATUS:
        {
            Coop_Model_RoomSyncPlayerStatus model7 = packet.GetModel <Coop_Model_RoomSyncPlayerStatus>();
            coopRoom.OnRecvSyncPlayerStatus(packet.fromClientId, model7);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_CHAT_STAMP:
        {
            Coop_Model_RoomChatStamp model6 = packet.GetModel <Coop_Model_RoomChatStamp>();
            coopRoom.OnRecvChatStamp(packet.fromClientId, model6);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_MOVE_FIELD:
        {
            Coop_Model_RoomMoveField model5 = packet.GetModel <Coop_Model_RoomMoveField>();
            coopRoom.OnRecvMoveField(model5);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_RUSH_REQUEST:
        {
            Coop_Model_RushRequest model4 = packet.GetModel <Coop_Model_RushRequest>();
            coopRoom.OnRecvRushRequest(packet.fromClientId, model4);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_RUSH_REQUESTED:
        {
            Coop_Model_RushRequested model3 = packet.GetModel <Coop_Model_RushRequested>();
            coopRoom.OnRecvRushRequested(model3);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_SYNC_DEFENSE_BATTLE:
        {
            Coop_Model_RoomSyncDefenseBattle model2 = packet.GetModel <Coop_Model_RoomSyncDefenseBattle>();
            coopRoom.OnRecvSyncDefenseBattle(model2);
            result = true;
            break;
        }

        case PACKET_TYPE.ROOM_NOTIFY_TRACE_BOSS:
        {
            Coop_Model_RoomNotifyTraceBoss model = packet.GetModel <Coop_Model_RoomNotifyTraceBoss>();
            coopRoom.OnRecvNotifyTraceBoss(packet.fromClientId, model);
            result = true;
            break;
        }
        }
        return(result);
    }