Exemplo n.º 1
0
 void Start()
 {
     upf      = PlayerController.Instance.returnUPF();
     upp      = PlayerController.Instance.returnUPP();
     Instance = this;
     World    = new WorldData(upf, upp);
     World.AddPlayer();
 }
Exemplo n.º 2
0
    void Start()
    {
        Debug.Log("testworld");
        currentplayer  = 0;
        playercontrols = new int[6];
        delp           = PlayerController.Instance.returndelp();
        startentrance  = SplitterController.Instance.returnStartEntrance();
        startexit      = SplitterController.Instance.returnStartExit();
        startgear      = SplitterController.Instance.returnStartGear();
        upf            = PlayerController.Instance.returnUPF();
        upp            = PlayerController.Instance.returnUPP();

        Instance = this;
        World    = new WorldData(upf, upp);
        //sets up actions from playercontroller to be sent to player objects using player controller instance//


        //sets instance to this specific version//

        //sets up world data//

        World.AddPlayer();
        World.AddPlayer();
        World.removePlayer(0);
        PlayerController.Instance.removePlayer(0, World.returnAmount());
        Debug.Log(currentplayer);

        //add a player, just for testing//
        World.AddSplitter(2);
        World.addExit(3, 3);
        startexit(3, 3);
        World.addExit(3, 5);
        startexit(3, 5);
        World.setEntrance(-3, 4);
        startentrance(-3, 4);
        World.setGearPad(5, 5);
        startgear(5, 5);
    }
Exemplo n.º 3
0
    void Start()
    {
        //sets up actions from playercontroller to be sent to player objects using player controller instance//
        upf = PlayerController.Instance.returnUPF();
        upp = PlayerController.Instance.returnUPP();

        //sets instance to this specific version//
        Instance = this;
        //sets up world data//
        World = new WorldData(upf, upp);

        //add a player, just for testing//
        World.AddPlayer();
    }
Exemplo n.º 4
0
        public static void CommandSwitching(UDPFrame frame, IPEndPoint ep)
        {
            switch (frame.subject)
            {
            case UDPFrame.FrameType.Confirmation:
                int index = -1;
                lock (confirmationQueue) {
                    for (int i = 0; i < confirmationQueue.Count; i++)
                    {
                        if (confirmationQueue[i].packetID.Equals(frame.uid))
                        {
                            index = i;
                        }
                    }
                    if (index >= 0)
                    {
                        confirmationQueue.RemoveAt(index);
                    }
                }
                return;

            case UDPFrame.FrameType.Heartbeat:
                System.Diagnostics.Debug.WriteLine("Heartbeat");
                break;

            case UDPFrame.FrameType.Movement:                       //Packet received by guest to update position of an object that moved on the host's end
                System.Diagnostics.Debug.WriteLine("Movement");

                /*			Movement currently broken
                 * if (frame.floatData.Length > 1 && frame.stringData.Length > 0 && WorldData.currentRegions.ContainsKey(frame.stringData[0])) {
                 *      lock(WorldData.currentRegions)
                 *              foreach (World.Objects.WorldObjectBase b in WorldData.currentRegions[frame.stringData[0]].GetWorldObjects()) {
                 *                      if (b.uid.Equals(frame.uid)) {
                 *                              b.SetWorldPosition(frame.floatData[0], frame.floatData[1]);
                 *                              break;
                 *                      }
                 *              }
                 * }
                 */
                break;

            case UDPFrame.FrameType.Quest:
                System.Diagnostics.Debug.WriteLine("Quest");
                break;

            case UDPFrame.FrameType.Player:
                switch (frame.intData[0])
                {
                case 0:
                    System.Diagnostics.Debug.WriteLine("Loaded new guest player");
                    WorldData.AddPlayer(frame.uid);
                    if (isHost)                                             //If host received guest, return the host character to the guest
                    {
                        SendFrame(new UDPFrame()
                        {
                            subject = UDPFrame.FrameType.Player,
                            intData = new int[] { 0 },
                            uid     = WorldData.player.uid
                        });
                        SendFrame(new UDPFrame()
                        {
                            subject   = UDPFrame.FrameType.Player,
                            intData   = new int[] { 1 },
                            floatData = new float[] { WorldData.player.worldX, WorldData.player.worldY }
                        });
                    }
                    break;

                case 1:
                    if (WorldData.partner != null)
                    {
                        WorldData.partner.SetWorldPosition(frame.floatData[0], frame.floatData[1]);
                    }
                    break;
                }

                break;

            case UDPFrame.FrameType.Connection:
                System.Diagnostics.Debug.WriteLine("Connection");
                if (frame.intData.Length == 0)
                {
                    break;
                }
                switch (frame.intData[0])
                {
                case 0:                                     //Sever connection
                    EndPartner();
                    break;

                case 1:                                     //New Partner is Guest
                    NewPartner(ep);
                    break;

                case 2:                                     //Text message
                    GUI.Windows.NotificationWindow.NewNotification(frame.stringData[0], 120);
                    System.Diagnostics.Debug.WriteLine("message: " + frame.stringData[0]);
                    break;

                case 3:                                     //Confirmation from host
                    SendFrame(new UDPFrame()
                    {
                        subject = UDPFrame.FrameType.Player, uid = SaveData.GameSettings.coOpUID, intData = new int[] { 0 }
                    });
                    break;

                default:
                    System.Diagnostics.Debug.WriteLine("Connection Value: " + frame.intData[0]);
                    break;
                }
                break;

            case UDPFrame.FrameType.WorldObject:
                //World Objects not supported by packets currently
                //WorldData.PacketToWorldObject(frame);
                break;
            }
            SendFrame(new UDPFrame()
            {
                subject = UDPFrame.FrameType.Confirmation, uid = frame.packetID
            });
        }