/*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); }
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); }
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); }); }
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); }
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; } } }
public BomberReachedScreenEdge(Transform bomber) { this.bomber = bomber.GetComponent<BomberController>(); randomPos = Vector3.zero; }
public BomberDead(Transform bomber) { this.bomber = bomber.GetComponent <BomberController>(); }
public BomberDead(Transform bomber) { this.bomber = bomber.GetComponent<BomberController>(); }
public BomberReachedScreenEdge(Transform bomber) { this.bomber = bomber.GetComponent <BomberController>(); randomPos = Vector3.zero; }
public BomberAttackingPlayer(Transform bomber, Transform player) { this.player = player.GetComponent <PlayerController>();; this.bomber = bomber.GetComponent <BomberController>(); }
public BomberAttackingPlayer(Transform bomber, Transform player) { this.player = player.GetComponent<PlayerController>(); ; this.bomber = bomber.GetComponent<BomberController>(); }
public BomberMovingToPosition(Transform bomber) { this.bomber = bomber.GetComponent<BomberController>(); }
public BomberMovingToPosition(Transform bomber) { this.bomber = bomber.GetComponent <BomberController>(); }