Exemplo n.º 1
0
    /*private int xtra = 0;
     * public void _switch()
     * {
     *  xtra++;
     *  if (xtra > 3)
     *      xtra = 0;
     *  ChangePhase(WorldState.CENTER, (WorldStateExtra)xtra);
     * }*/

    public int Spawn(GOType type, Vector3 pos, int guid = -1, int extra = 0)
    {
        GameObject go;
        int        _guid = -1;

        switch (type)
        {
        case GOType.GO_PLAYER:
            go    = player_pool.Pop(pos, Quaternion.identity);
            _guid = ObjectMgr.Instance.Register(go, type, guid, extra);
            BomberController controller = go.GetComponent <BomberController>();
            controller.ColorIndex = extra;
            break;

        case GOType.GO_BOMB:
            go    = bomb_pool.Pop(pos, Quaternion.identity);
            _guid = ObjectMgr.Instance.Register(go, type, guid, extra);
            break;

        case GOType.GO_PWRUP:
            go = pwr_up_pool.Pop(pos, Quaternion.identity);
            PowerUpGOScript sc = go.GetComponent <PowerUpGOScript>();
            sc.type = (Config.PowerType)extra;
            sc.Init();
            _guid = ObjectMgr.Instance.Register(go, type, guid, extra);
            break;
        }
        if (_guid > 0 && ((GameMgr.Instance.Type & GameMgrType.SERVER) != 0))
        {
            GameMgr.Instance.s.SendPacketBroadCast(PacketBuilder.BuildInstantiateObjPacket(ObjectMgr.Instance.DumpData(_guid)));
        }
        return(_guid);
    }
Exemplo n.º 2
0
    public override void OnPickUp(GameObject powerGo, int clientGuid)
    {
        System.Net.Sockets.TcpClient client = GameMgr.Instance.s.GetTcpClient(clientGuid);
        GameMgr.Instance.s.SendPacketTo(client, PacketBuilder.BuildPlayAnnouncePacket(Announce.ANNOUNCE_PWR_PICK_UP, 0, "BRING A SWORD TO A BOMBFIGHT"));
        Packet p = PacketBuilder.BuildBindOffensiveItem(clientGuid, Config.PowerType.BRING_A_SW_TO_A_GF);

        GameMgr.Instance.s.SendPacketTo(client, p);
        GameObject       go = ObjectMgr.Instance.Get(clientGuid);
        BomberController bc = go.GetComponent <BomberController>();

        bc.hasOffensiveItem = (int)Config.PowerType.BRING_A_SW_TO_A_GF;


        base.OnPickUp(powerGo, clientGuid);
    }
Exemplo n.º 3
0
    public void SpawnBomb(BomberController controller, Vector3 pos)
    {
        if (!controller.IsOnGround || controller.BombSpawn >= controller.BombCount)
        {
            return;
        }

        int        owner = controller.GetComponent <Guid>().GetGUID();
        Maps       maps  = GameMgr.Instance.maps;
        IntVector2 tpos  = maps.GetTilePosition(pos.x, pos.z);

        pos   = maps.TilePosToWorldPos(tpos);
        pos.y = 0.5f;
        var hit = Physics.OverlapSphere(pos, 0.25f);

        foreach (var c in hit)
        {
            if (c.gameObject.tag == "Bomb")
            {
                return;
            }
        }
        controller.BombSpawn++;
        int        guid   = GameMgr.Instance.Spawn(GOType.GO_BOMB, pos);
        int        radius = controller.BombRadius;
        GameObject go     = ObjectMgr.Instance.Get(guid);

        go.GetComponent <BombScript>().StartScript(owner, () =>
        {
            IntVector2 new_tpos = maps.GetTilePosition(go.transform.position.x, go.transform.position.z);
            maps.ExplodeAt(guid, new_tpos, radius);
            controller.BombSpawn--;
            if (new_tpos == null)
            {
                return;
            }
            SendPacketBroadCast(PacketBuilder.BuildBombExplode(guid, new_tpos, radius));
        },
                                                   () => {
            GameMgr.Instance.Despawn(GOType.GO_BOMB, guid);
        });
    }
Exemplo n.º 4
0
    private static int Jump(BomberController me, bool enable)
    {
        me.m_Animator.SetBool("Jump", false);

        if (me.m_IsOnGround && me.m_State != WorldState.CENTER && enable)
        {
            me.m_Animator.SetBool("Jump", true);

            me.fall_velocity = -0.15f * me.m_JumpSpeed;
            return(2);
        }

        if (me.m_State != WorldState.CENTER)
        {
            return(0);
        }

        me.m_MoveFlags = enable ? me.m_MoveFlags | (int)MoveState.MOVE_FORWARD : me.m_MoveFlags & ~(int)MoveState.MOVE_FORWARD;
        return(1);
    }
Exemplo n.º 5
0
    public static void HandleOffPowerUse(Packet p)
    {
        Debug.Log("IN HANDLER");
        int guid;

        guid = p.ReadInt();


        GameObject       go = ObjectMgr.Instance.Get(guid);
        BomberController bc = go.GetComponent <BomberController>();

        if (bc.hasOffensiveItem > -1)
        {
            switch (bc.hasOffensiveItem)
            {
            case (int)Config.PowerType.BRING_A_SW_TO_A_GF:
                bc.Swing();
                bc.hasOffensiveItem = -1;
                GameMgr.Instance.s.SendPacketBroadCast(PacketBuilder.BuildUnbindOffensiveItem(guid, Config.PowerType.BRING_A_SW_TO_A_GF));
                break;
            }
        }
    }
Exemplo n.º 6
0
 public BomberReachedScreenEdge(Transform bomber)
 {
     this.bomber = bomber.GetComponent<BomberController>();
     randomPos = Vector3.zero;
 }
Exemplo n.º 7
0
 public BomberDead(Transform bomber)
 {
     this.bomber = bomber.GetComponent <BomberController>();
 }
Exemplo n.º 8
0
 public BomberDead(Transform bomber)
 {
     this.bomber = bomber.GetComponent<BomberController>();
 }
Exemplo n.º 9
0
 public BomberReachedScreenEdge(Transform bomber)
 {
     this.bomber = bomber.GetComponent <BomberController>();
     randomPos   = Vector3.zero;
 }
Exemplo n.º 10
0
 public BomberAttackingPlayer(Transform bomber, Transform player)
 {
     this.player = player.GetComponent <PlayerController>();;
     this.bomber = bomber.GetComponent <BomberController>();
 }
Exemplo n.º 11
0
 public BomberAttackingPlayer(Transform bomber, Transform player)
 {
     this.player = player.GetComponent<PlayerController>(); ;
     this.bomber = bomber.GetComponent<BomberController>();
 }
Exemplo n.º 12
0
 public BomberMovingToPosition(Transform bomber)
 {
     this.bomber = bomber.GetComponent<BomberController>();
 }
Exemplo n.º 13
0
 public BomberMovingToPosition(Transform bomber)
 {
     this.bomber = bomber.GetComponent <BomberController>();
 }