Beispiel #1
0
        public void DSShipSinked(int dsID, string failReason)
        {
            DSInfo dsinfo = this.DSStorage.DSMap.TryGetValue(dsID);

            if (dsinfo != null)
            {
                DSShip dsship = dsinfo.GetDSShip();
                if (dsship != null)
                {
                    DSLog.AddLog(dsinfo.DSID, dsinfo.GetDSShip().DSWaitingQueue.QuestID, dsinfo.GetDSShip().PartyID, -1, "DSShipSinked", failReason);
                    foreach (KeyValuePair <long, DSPlayer> keyValuePair in dsship.Players)
                    {
                        this.DSPlayerDict.Remove(keyValuePair.Key);
                        keyValuePair.Value.SendMessage <DSPlayerStatusMessage>(new DSPlayerStatusMessage("", DSPlayerStatus.Unregistered, failReason, keyValuePair.Value.IsGiantRaid));
                    }
                    if (failReason != null)
                    {
                        Log <DSWaitingSystem> .Logger.ErrorFormat("DS Ship Sinked!!! : {0}", failReason);
                    }
                    dsship.DSWaitingQueue.SinkShip(dsship);
                    if (ServiceCore.FeatureMatrix.IsEnable("DSDynamicLoad"))
                    {
                        return;
                    }
                    this.ProcessAll();
                }
            }
        }
Beispiel #2
0
        public void DSShipLaunched(int dsID, long partyID)
        {
            DSInfo dsinfo = this.DSStorage.DSMap.TryGetValue(dsID);

            DSLog.AddLog(dsinfo.DSID, dsinfo.GetDSShip().DSWaitingQueue.QuestID, partyID, -1, "DSShipLaunched", "");
            dsinfo.GetDSShip().Launched(partyID);
        }
Beispiel #3
0
        public void DSShipUpdated(int dsID, DSGameState state)
        {
            DSInfo dsinfo = this.DSStorage.DSMap.TryGetValue(dsID);

            if (dsinfo != null && dsinfo.GetDSShip() != null)
            {
                if (state == DSGameState.GameStarted)
                {
                    dsinfo.GetDSShip().StartTime = new DateTime?(DateTime.Now);
                }
                DSLog.AddLog(dsinfo.DSID, dsinfo.GetDSShip().DSWaitingQueue.QuestID, dsinfo.GetDSShip().PartyID, -1, "DSShipUpdated", state.ToString());
                dsinfo.GetDSShip().GameState = state;
            }
        }
Beispiel #4
0
        public void LaunchShip(int serviceID, int dsid, string questID, long microPlayID, long partyID, long frontendID, bool isGiantRaid, bool isAdultMode, Action <bool> onComplete)
        {
            DSInfo dsinfo = this.Parent.DSStorage.DSMap.TryGetValue(dsid);

            if (dsinfo != null)
            {
                dsinfo.GetDSShip().Launched((long)(10000 + dsid));
            }
        }