public void RequestHackEnergyTank(Point3d entryPoint, EnergyTankData energyTankData) { Debug.Log("GameWorldModel:requestHackEnergyTank - Hacking energy tank id=" +energyTankData.energy_tank_id+" at position ("+ entryPoint.x + ", " + entryPoint.y + ")"); if (!IsHackEnergyTankRequestPending) { GameData gameData = SessionData.GetInstance().CurrentGameData; CharacterEntity entity = GetCharacterEntity(CurrentCharacterID); AsyncHackEnergyTankRequest hackEnergyTankRequest = null; IsHackEnergyTankRequestPending = true; hackEnergyTankRequest = new AsyncHackEnergyTankRequest(m_gameWorldController.gameObject, entity, entryPoint, energyTankData); hackEnergyTankRequest.Execute( (AsyncHackEnergyTankRequest asyncRequest) => { IsHackEnergyTankRequestPending = false; switch (asyncRequest.ResultCode) { case AsyncHackEnergyTankRequest.eResult.success: { Debug.Log("GameWorldModel:requestHackEnergyTank - Hack Succeeded!"); // Tell anyone listening on IRC that the game state changed m_gameWorldController.SendCharacterUpdatedGameEvent(); // Parse any incoming game events if (asyncRequest.ServerResponse != null) { gameData.ParseEventResponse(asyncRequest.ServerResponse); } // If there were new events, notify the controller so that // it can start playing the events back if (!gameData.IsEventCursorAtLastEvent) { m_gameWorldController.OnGameHasNewEvents(); } } break; case AsyncHackEnergyTankRequest.eResult.failed_path: case AsyncHackEnergyTankRequest.eResult.failed_server_denied: { Debug.LogError("GameWorldModel:requestHackEnergyTank - " + asyncRequest.ResultDetails); m_gameWorldController.OnCharacterActionDisallowed(asyncRequest); } break; case AsyncHackEnergyTankRequest.eResult.failed_server_connection: { Debug.LogError("GameWorldModel:requestHackEnergyTank - " + asyncRequest.ResultDetails); m_gameWorldController.OnRequestFailed("Connection Failed!"); } break; } }); } }
public void RequestHackEnergyTank(Point3d entryPoint, EnergyTankData energyTankData) { Debug.Log("GameWorldModel:requestHackEnergyTank - Hacking energy tank id=" + energyTankData.energy_tank_id + " at position (" + entryPoint.x + ", " + entryPoint.y + ")"); if (!IsHackEnergyTankRequestPending) { GameData gameData = SessionData.GetInstance().CurrentGameData; CharacterEntity entity = GetCharacterEntity(CurrentCharacterID); AsyncHackEnergyTankRequest hackEnergyTankRequest = null; IsHackEnergyTankRequestPending = true; hackEnergyTankRequest = new AsyncHackEnergyTankRequest(m_gameWorldController.gameObject, entity, entryPoint, energyTankData); hackEnergyTankRequest.Execute( (AsyncHackEnergyTankRequest asyncRequest) => { IsHackEnergyTankRequestPending = false; switch (asyncRequest.ResultCode) { case AsyncHackEnergyTankRequest.eResult.success: { Debug.Log("GameWorldModel:requestHackEnergyTank - Hack Succeeded!"); // Tell anyone listening on IRC that the game state changed m_gameWorldController.SendCharacterUpdatedGameEvent(); // Parse any incoming game events if (asyncRequest.ServerResponse != null) { gameData.ParseEventResponse(asyncRequest.ServerResponse); } // If there were new events, notify the controller so that // it can start playing the events back if (!gameData.IsEventCursorAtLastEvent) { m_gameWorldController.OnGameHasNewEvents(); } } break; case AsyncHackEnergyTankRequest.eResult.failed_path: case AsyncHackEnergyTankRequest.eResult.failed_server_denied: { Debug.LogError("GameWorldModel:requestHackEnergyTank - " + asyncRequest.ResultDetails); m_gameWorldController.OnCharacterActionDisallowed(asyncRequest); } break; case AsyncHackEnergyTankRequest.eResult.failed_server_connection: { Debug.LogError("GameWorldModel:requestHackEnergyTank - " + asyncRequest.ResultDetails); m_gameWorldController.OnRequestFailed("Connection Failed!"); } break; } }); } }