예제 #1
0
    public void OnPhotonPlayerDisconnected(AOTEventArgs args)
    {
        var player = args.Player;

        if (player != null)
        {
            if (player.RCIgnored)
            {
                Log.AddLine("playerKicked", MsgType.Info, player.ID.ToString(), player.UIName.ToHTMLFormat());
            }
            else
            {
                Log.AddLine("playerLeft", MsgType.Info, player.ID.ToString(), player.UIName.ToHTMLFormat());
            }
        }

        PlayerList?.Update();
        if (!gameTimesUp)
        {
            if (PhotonNetwork.IsMasterClient)
            {
                oneTitanDown(string.Empty, true);
                someOneIsDead(0);
            }
        }
    }
예제 #2
0
 private void OnJoinedLobby(AOTEventArgs args)
 {
     connected = true;
     head      = locale["connected"] + " " + regions[region];
     UpdateRoomList();
     timeToUpdate = UpdateTime;
 }
예제 #3
0
    public void OnLeftRoom(AOTEventArgs args)
    {
        print("OnLeftRoom");
        if (Application.loadedLevel != 0)
        {
            Time.timeScale = 1f;
            if (PhotonNetwork.connected)
            {
                PhotonNetwork.Disconnect();
            }

            IN_GAME_MAIN_CAMERA.GameType = GameType.Stop;
            gameStart           = false;
            Screen.lockCursor   = false;
            Screen.showCursor   = true;
            InputManager.MenuOn = false;
            levelSkin           = null;
            DestroyAllExistingCloths();
            Destroy(FGM);
            Application.LoadLevel("menu");
        }

        RespawnPositions.Dispose();
        RCManager.racingSpawnPointSet = false;
    }
예제 #4
0
 public void OnPhotonPlayerConnected(AOTEventArgs args)
 {
     if (PhotonNetwork.IsMasterClient)
     {
         BasePV.RPC("changeTitanPt", args.Player, new object[] { this.titanPt });
         BasePV.RPC("changeHumanPt", args.Player, new object[] { this.humanPt });
     }
 }
예제 #5
0
 private void OnDisconnectedFromPhoton(AOTEventArgs args)
 {
     connected = false;
     if (connectNext)
     {
         TryConnect(region);
         connectNext = false;
     }
 }
예제 #6
0
 public void OnConnectionFail(AOTEventArgs args)
 {
     print("OnConnectionFail : " + args.DisconnectCause);
     Screen.lockCursor            = false;
     Screen.showCursor            = true;
     IN_GAME_MAIN_CAMERA.GameType = GameType.Stop;
     gameStart = false;
     NGUITools.SetActive(UIRefer.panels[0], false);
     NGUITools.SetActive(UIRefer.panels[1], false);
     NGUITools.SetActive(UIRefer.panels[2], false);
     NGUITools.SetActive(UIRefer.panels[3], false);
     NGUITools.SetActive(UIRefer.panels[4], true);
     CacheGameObject.Find("LabelDisconnectInfo").GetComponent <UILabel>().text =
         "OnConnectionFail : " + args.DisconnectCause;
 }
예제 #7
0
 private void OnJoinedLobby(AOTEventArgs args)
 {
     connected = true;
     try
     {
         head = locale["connected"] + " " + regions[region];
     }
     catch
     {
         Debug.Log(locale == null);
         Debug.Log(regions == null);
     }
     UpdateRoomList();
     timeToUpdate = UpdateTime;
 }
예제 #8
0
    public void OnMasterClientSwitched(AOTEventArgs args)
    {
        print("OnMasterClientSwitched");
        if (gameTimesUp)
        {
            return;
        }

        if (PhotonNetwork.IsMasterClient)
        {
            GameModes.Load();
            GameModes.ForceChange();
            GameModes.oldHash["motd"] = null;
            RCManager.ClearAll();
            RestartGame(true, false);
        }
    }
예제 #9
0
    public void OnPhotonPlayerPropertiesChanged(AOTEventArgs args)
    {
        PlayerList?.Update();
        if (args.Player.IsLocal)
        {
            return;
        }
        var hash = args.Hashtable;

        int?bla = hash[PhotonPlayerProperty.statBLA] as int?;
        int?spd = hash[PhotonPlayerProperty.statSPD] as int?;
        int?acl = hash[PhotonPlayerProperty.statACL] as int?;
        int?gas = hash[PhotonPlayerProperty.statGAS] as int?;

        if (hash[PhotonPlayerProperty.character] != null)
        {
            if (hash[PhotonPlayerProperty.character] is string set)
            {
                if (set.ToUpper().Contains("SET"))
                {
                    if ((bla.HasValue && (bla.Value > 125 || bla.Value < 75)) ||
                        (spd.HasValue && (spd.Value > 125 || spd.Value < 75)) ||
                        (acl.HasValue && (acl.Value > 125 || acl.Value < 75)) ||
                        (gas.HasValue && (gas.Value > 125 || gas.Value < 75)))
                    {
                        if (!args.Player.AbuseInformation.CharacterUnusualStats)
                        {
                            args.Player.AbuseInformation.CharacterUnusualStats = true;
                        }
                    }
                }
            }
        }
        if (bla + spd + acl + gas > 455)
        {
            Anarchy.Network.Antis.Kick(args.Player, true, "Excessive stats");
        }
    }
예제 #10
0
 public void OnUpdatedFriendList(AOTEventArgs args)
 {
     print("OnUpdatedFriendList");
 }
예제 #11
0
 public void OnReceivedRoomListUpdate(AOTEventArgs args)
 {
 }
예제 #12
0
 public void OnPhotonSerializeView(AOTEventArgs args)
 {
     print("OnPhotonSerializeView");
 }
예제 #13
0
 public void OnPhotonRandomJoinFailed(AOTEventArgs args)
 {
     print("OnPhotonRandomJoinFailed");
 }
예제 #14
0
    public void OnJoinedRoom(AOTEventArgs args)
    {
        Debug.Log("OnJoinedRoom >> " + PhotonNetwork.room.Name);
        var strArray = PhotonNetwork.room.Name.Split('`');

        gameTimesUp = false;
        Level       = LevelInfo.GetInfo(strArray[1]);
        switch (strArray[2].ToLower())
        {
        case "normal":
            difficulty = 0;
            break;

        case "hard":
            difficulty = 1;
            break;

        case "abnormal":
            difficulty = 2;
            break;

        default:
            difficulty = 1;
            break;
        }

        IN_GAME_MAIN_CAMERA.Difficulty = difficulty;
        time = int.Parse(strArray[3]) * 60;
        logic.ServerTimeBase = time;
        logic.ServerTime     = time;
        switch (strArray[4].ToLower())
        {
        case "day":
        case "день":
            IN_GAME_MAIN_CAMERA.DayLight = DayLight.Day;
            break;

        case "dawn":
        case "вечер":
            IN_GAME_MAIN_CAMERA.DayLight = DayLight.Dawn;
            break;

        case "night":
        case "ночь":
            IN_GAME_MAIN_CAMERA.DayLight = DayLight.Night;
            break;

        default:
            IN_GAME_MAIN_CAMERA.DayLight = DayLight.Dawn;
            break;
        }

        IN_GAME_MAIN_CAMERA.GameMode = Level.Mode;
        PhotonNetwork.LoadLevel(Level.MapName);
        if (PhotonNetwork.IsMasterClient)
        {
            GameModes.Load();
            GameModes.ForceChange();
            GameModes.SendRpc();
        }

        var player = PhotonNetwork.player;

        player.RCIgnored  = false;
        player.UIName     = User.Name;
        player.GuildName  = User.AllGuildNames;
        player.Kills      = player.Deaths = player.MaximumDamage = player.TotalDamage = 0;
        player.RCteam     = 0;
        player.Dead       = true;
        player.IsTitan    = false;
        localRacingResult = string.Empty;
        needChooseSide    = true;
        foreach (var info in killInfoList)
        {
            info.destroy();
        }

        killInfoList.Clear();
        RCManager.racingSpawnPointSet = false;
        if (!PhotonNetwork.IsMasterClient)
        {
            BasePV.RPC("RequireStatus", PhotonTargets.MasterClient);
        }

        foreach (var her in heroes)
        {
            if (her.BasePV != null && her.BasePV.owner.GameObject == null)
            {
                her.BasePV.owner.GameObject = her.baseG;
            }
        }

        PhotonNetwork.SetModProperties();
    }
예제 #15
0
 private void OnReceivedRoomListUpdate(AOTEventArgs args)
 {
     UpdateRoomList();
     timeToUpdate = UpdateTime;
 }
예제 #16
0
 public void OnConnectedToMaster(AOTEventArgs args)
 {
     print("OnConnectedToMaster");
 }
예제 #17
0
 protected void OnCreatedRoom(AOTEventArgs args)
 {
     PhotonNetwork.networkingPeer.SetLevelInPropsIfSynced(Application.loadedLevelName);
 }
예제 #18
0
 public void OnPhotonCreateRoomFailed(AOTEventArgs args)
 {
     Debug.LogError("OnPhotonCreateRoomFailed");
 }
예제 #19
0
 public void OnFailedToConnectToPhoton(AOTEventArgs args)
 {
     print("OnFailedToConnectToPhoton");
 }
예제 #20
0
 public void OnLeftLobby(AOTEventArgs args)
 {
     print("OnLeftLobby");
 }
예제 #21
0
 public void OnCreatedRoom(AOTEventArgs args)
 {
     racingResult = new ArrayList();
 }
예제 #22
0
 public void OnPhotonPlayerConnected(AOTEventArgs args)
 {
     StartCoroutine(OnPhotonPlayerConnectedE(args.Player));
 }
예제 #23
0
 public void OnConnectedToPhoton(AOTEventArgs args)
 {
     print("OnConnectedToPhoton");
 }
예제 #24
0
 public void OnDisconnectedFromPhoton(AOTEventArgs args)
 {
     print("OnDisconnectedFromPhoton");
     Screen.lockCursor = false;
     Screen.showCursor = true;
 }
예제 #25
0
 public void OnPhotonCustomRoomPropertiesChanged(AOTEventArgs args)
 {
     print("OnPhotonCustomRoomPropertiesChanged");
 }
예제 #26
0
 public void OnJoinedLobby(AOTEventArgs args)
 {
 }
예제 #27
0
 protected void OnJoinedRoom(AOTEventArgs args)
 {
     PhotonNetwork.networkingPeer.LoadLevelIfSynced();
 }
예제 #28
0
 public void OnPhotonJoinRoomFailed(AOTEventArgs args)
 {
     print("OnPhotonJoinRoomFailed");
 }