Beispiel #1
0
    void PlayerSpawned(OmniEvent e)
    {
        if (!Network.isServer)
            return;

        SpawnEvent ev = e as SpawnEvent;
        ClientControllable cl = OmniWorld.instance.SpawnedObjectsNew[ev.id] as ClientControllable;
        cl.Name = name;
        cl.guid = guid;

        cl.delay = (int)(Network.GetAveragePing(ev.player) * OmniWorld.timeStep) + 2;
        Debug.Log(cl.Name + " ping is " + Network.GetAveragePing(ev.player) + " setting delay to " + cl.delay);
        OmniWorld.netView.RPC("delay", ev.player, cl.delay);
        OmniNetwork.AddClient(cl, ev.player);

        int[] giv = new int[OmniItems.itemTypes.Length * 2];
        int c = 0;
        for (int i = 0; i < OmniItems.itemTypes.Length; i++)
        {
            giv[c++] = OmniItems.itemTypes[i].id;
            giv[c++] = 1;
        }

        InventoryEvent invevent = new InventoryEvent(OmniWorld.tick + 2 + cl.delay, ev.id, 'a', giv);
        invevent.player = ev.player;
        OmniEvents.AddEvent(invevent);
    }
Beispiel #2
0
    public override void validate(OmniEvent e)
    {
        base.validate(e);

        if (e is BlockEvent)
        {

            BlockEvent bl = e as BlockEvent;
            for (int i = 0; i < updates.Length; i++)
            {
                for (int j = 0; j < bl.updates.Length; j++)
                {
                    if (bl.updates[j].x == updates[i].x && bl.updates[j].y == updates[i].y)
                    {
                        updateMask |= 1 << i;
                    }
                }
            }

        }
    }
Beispiel #3
0
 void onClientSpawn(OmniEvent e)
 {
     SpawnEvent se = (SpawnEvent)e;
     //se.spawnedObject.GetComponent<OmniAI>().setTarget(connectedClients[se.player]);
 }
Beispiel #4
0
 public static void AddEvent(OmniEvent e)
 {
     instance.pendingEvents.Add(e);
     e.init();
 }
Beispiel #5
0
 void ConsoleSpawn(OmniEvent e)
 {
     //((SpawnEvent)e).spawnedObject.GetComponent<OmniAI>().waypointX = (int)OmniLocal.getLocalPlayer().bounds.x;
 }
Beispiel #6
0
 public virtual void validate(OmniEvent e)
 {
 }