Example #1
0
 public void DestroyClientObject(LiNGS.Server.GameClient client, LiNGS.Common.GameLogic.INetworkedObject networkedObject, string name)
 {
     //Keep client objects
     return;
 }
Example #2
0
 void INetworkedClient.DestroyObject(LiNGS.Common.GameLogic.INetworkedObject networkedObject, string name)
 {
     ObjectManager.DestroyObject(networkedObject, name);
 }
Example #3
0
        public bool DoesClientNeedToKnowAboutObject(LiNGS.Server.GameClient client, LiNGS.Common.GameLogic.INetworkedObject networkedObject)
        {
            if (networkedObject is CPlayer)
            {
                return((networkedObject as CPlayer).networkGameClient == client);
            }
            else
            {
                if (networkedObject is Player)
                {
                    if ((networkedObject as Player).networkGameClient != client)
                    {
                        return(true);
                    }
                    return(false);
                }

                return(true);
            }

            if (networkedObject is Character && characters.Contains((Character)networkedObject))
            {
                if (networkedObject is Player)
                {
                    if ((networkedObject as Player).networkGameClient != client)
                    {
                        Character c = clientPlayers.FirstOrDefault(cp => cp.networkGameClient == client);
                        if (c != null)
                        {
                            if (c.DistanceFromOther(networkedObject as Player) < 15)
                            {
                                return(true);
                            }
                        }
                    }

                    return(false);
                }
                else
                {
                    Character c = clientPlayers.FirstOrDefault(cp => cp.networkGameClient == client);
                    if (c != null)
                    {
                        if (c.DistanceFromOther(networkedObject as Character) < 15)
                        {
                            return(true);
                        }
                    }

                    return(false);
                }
            }
            else
            {
                if (networkedObject is CPlayer)
                {
                    return((networkedObject as CPlayer).networkGameClient == client);
                }
                else if (networkedObject is Character)
                {
                    Character c = clientPlayers.FirstOrDefault(cp => cp.networkGameClient == client);
                    if (c != null)
                    {
                        if (c.DistanceFromOther(networkedObject as Character) < 15)
                        {
                            return(true);
                        }
                    }

                    return(false);
                }
            }

            return(true);
        }